Skip to content

Commit 65df0bf

Browse files
anandgupta42claude
andcommitted
docs: describe SQL statement redaction in error_fingerprint
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
1 parent a396962 commit 65df0bf

2 files changed

Lines changed: 2 additions & 2 deletions

File tree

‎docs/docs/reference/telemetry.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ We collect the following categories of events:
4949
| `task_outcome_signal` | Behavioral quality signal at session end — accepted, error, abandoned, or cancelled. Includes tool count, step count, duration, and last tool category. No user content. |
5050
| `task_classified` | Intent classification of the first user message using keyword matching — category (e.g. `debug_dbt`, `write_sql`, `optimize_query`), confidence score, and detected warehouse type. No user text is sent — only the classified category. |
5151
| `tool_chain_outcome` | Aggregated tool execution sequence at session end — ordered tool names (capped at 50), error count, recovery count, final outcome, duration, and cost. No tool arguments or outputs. |
52-
| `error_fingerprint` | Hashed error pattern for anonymous grouping — SHA-256 hash of masked error message, error class, tool name, and whether recovery succeeded. `error_message` is the first line of the error only, masked and capped at 300 characters (SQL-looking lines are replaced by a placeholder); `stack` holds up to 5 `file:line:function` frames from source files with the home prefix removed and only the last 3 path segments kept. Full error output is never sent. |
52+
| `error_fingerprint` | Hashed error pattern for anonymous grouping — SHA-256 hash of masked error message, error class, tool name, and whether recovery succeeded. `error_message` is the first line of the error only, masked and capped at 300 characters (a line that is a SQL statement is replaced by a placeholder); `stack` holds up to 5 `file:line:function` frames from source files with the home prefix removed and only the last 3 path segments kept. Full error output is never sent. |
5353
| `sql_fingerprint` | SQL structural shape via AST parsing — statement types, table count, function count, subquery/aggregation/window function presence, and AST node count. No table names, column names, or SQL content. |
5454
| `schema_complexity` | Warehouse schema structural metrics from introspection — bucketed table, column, and schema counts plus average columns per table. No schema names or content. |
5555
| `validator_check` | A completion-gate validator ran on session end — validator name, `ok` boolean, step, retry count, `enforced` flag (false in shadow mode), and structured `details` (model counts, elapsed time, concurrency limit — no SQL or model content). Only emitted when `ALTIMATE_VALIDATORS_ENABLED=1` or `ALTIMATE_VALIDATORS_SHADOW=1`. See [Validators](../data-engineering/validators.md). |

‎packages/opencode/src/altimate/telemetry/index.ts‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -942,7 +942,7 @@ export namespace Telemetry {
942942
tool_name: string
943943
/** Tool category */
944944
tool_category: string
945-
/** Masked first line of the error, capped at 300 chars; SQL-looking lines become a placeholder */
945+
/** Masked first line of the error, capped at 300 chars; a SQL statement becomes a placeholder */
946946
error_message?: string
947947
/** Top stack frames as file:line:function from source files, masked; omitted when none */
948948
stack?: string

0 commit comments

Comments
 (0)