@stacknext/diagnostics 0.9.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/engine.d.ts +1 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +1 -1
- package/dist/engine.js.map +1 -1
- package/docs/findings.md +120 -0
- package/docs/index.md +113 -0
- package/docs/rules.md +99 -0
- package/package.json +4 -3
package/dist/engine.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type DiagnosticCounts, type DiagnosticDetailResponse, type DiagnosticFilters, type DiagnosticFinding, type DiagnosticListResponse, type DiagnosticOverview, type DiagnosticReport, type DiagnosticSnapshot, type StackNextConfig } from '@stacknext/core';
|
|
2
|
-
export declare const DIAGNOSTICS_ENGINE_VERSION = "0.
|
|
2
|
+
export declare const DIAGNOSTICS_ENGINE_VERSION = "0.10.0";
|
|
3
3
|
export interface DiagnosticEngineOptions {
|
|
4
4
|
projectName: string;
|
|
5
5
|
collectorVersion: string;
|
package/dist/engine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EAErB,KAAK,kBAAkB,EAEvB,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAA;AAKxB,eAAO,MAAM,0BAA0B,
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EAErB,KAAK,kBAAkB,EAEvB,KAAK,eAAe,EACrB,MAAM,iBAAiB,CAAA;AAKxB,eAAO,MAAM,0BAA0B,WAAW,CAAA;AAElD,MAAM,WAAW,uBAAuB;IACtC,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,MAAM,CAAA;IACxB,MAAM,EAAE,eAAe,CAAC,aAAa,CAAC,CAAA;IACtC,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AA8BD,wBAAgB,aAAa,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,gBAAgB,CAS7E;AAwGD,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,uBAAuB,GAC/B,gBAAgB,CA2BlB;AAOD,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,iBAAsB,GAC9B,sBAAsB,CA4CxB;AAmDD,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,gBAAgB,EACxB,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,kBAAkB,GAC3B,wBAAwB,GAAG,IAAI,CAQjC;AAED,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,gBAAgB,EACxB,QAAQ,SAAI,GACX,kBAAkB,CAUpB"}
|
package/dist/engine.js
CHANGED
|
@@ -2,7 +2,7 @@ import { STACKNEXT_DIAGNOSTICS_FORMAT, STACKNEXT_DIAGNOSTICS_FORMAT_VERSION, STA
|
|
|
2
2
|
import { isControlFlowError } from './fingerprints.js';
|
|
3
3
|
import { evaluateDiagnosticRules, findingMatchesTrace } from './rules.js';
|
|
4
4
|
import { buildTraceIndex } from './trace.js';
|
|
5
|
-
export const DIAGNOSTICS_ENGINE_VERSION = '0.
|
|
5
|
+
export const DIAGNOSTICS_ENGINE_VERSION = '0.10.0';
|
|
6
6
|
const REPORT_LIMITATIONS = [
|
|
7
7
|
'Findings are deterministic heuristics over the current in-memory sample, not confirmed root causes.',
|
|
8
8
|
'StackNext does not read application source, run EXPLAIN, inspect query plans or modify code.',
|
package/dist/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
package/docs/findings.md
ADDED
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Findings
|
|
3
|
+
description: Diagnostic report, finding, evidence and filter shapes, including bounds and determinism.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Findings
|
|
7
|
+
|
|
8
|
+
## Report
|
|
9
|
+
|
|
10
|
+
`generateDiagnosticReport()` returns `DiagnosticReport`:
|
|
11
|
+
|
|
12
|
+
| Field | Meaning |
|
|
13
|
+
| --- | --- |
|
|
14
|
+
| `format` / `version` | `stacknext-diagnostics` / `1`. |
|
|
15
|
+
| `engineVersion` | Diagnostics package version. |
|
|
16
|
+
| `ruleSetVersion` | Rules contract version (`2`). |
|
|
17
|
+
| `generatedAt` | Computation time. |
|
|
18
|
+
| `projectName`, `collectorVersion` | Source context. |
|
|
19
|
+
| `sample` | Requests, request traces, spans, errors, database queries, missing parents, excluded control-flow errors and the event window. |
|
|
20
|
+
| `counts` | Total, severity, category and status counts. |
|
|
21
|
+
| `findings` | Bounded finding array. |
|
|
22
|
+
| `notes` | Sample-specific caveats. |
|
|
23
|
+
| `limitations` | Engine-level limits. |
|
|
24
|
+
|
|
25
|
+
<!-- coderabbit-ai-generated:v1 -->
|
|
26
|
+
|
|
27
|
+
<!-- coderabbit-ai-generated-section:v1:5887425eb7c9a43245e26845f65dc19ead389e09ea90c9f1599e7af4699b512c -->
|
|
28
|
+
|
|
29
|
+
`parseStackNextConfig` defaults `diagnostics.maxFindings` to 100 and rejects
|
|
30
|
+
values outside 10–1,000. `generateDiagnosticReport` uses the supplied value
|
|
31
|
+
without validating or capping it. A capped report is not a complete inventory.
|
|
32
|
+
|
|
33
|
+
<!-- /coderabbit-ai-generated:v1 -->
|
|
34
|
+
|
|
35
|
+
## Finding
|
|
36
|
+
|
|
37
|
+
Each `DiagnosticFinding` includes:
|
|
38
|
+
|
|
39
|
+
- `id` — deterministic `diag-...` reference for the current sample;
|
|
40
|
+
- `ruleId`, `category`, `severity`, `status`;
|
|
41
|
+
- `title`, `summary`, `detail`;
|
|
42
|
+
- `route`, `method`, `firstSeen`, `lastSeen`;
|
|
43
|
+
- `fingerprint`;
|
|
44
|
+
- `affectedTraceCount`, `traceIds`;
|
|
45
|
+
- `evidence`;
|
|
46
|
+
- `verification[]` and `limitations[]`.
|
|
47
|
+
|
|
48
|
+
Ids are deterministic references, not credentials. A finding can disappear when
|
|
49
|
+
the underlying evidence ages out of the retention window.
|
|
50
|
+
|
|
51
|
+
## Evidence
|
|
52
|
+
|
|
53
|
+
Evidence is bounded and re-sanitized before it is returned. Fields may include:
|
|
54
|
+
|
|
55
|
+
- `measurements` — labels, values and units;
|
|
56
|
+
- `spans` — name, ids, duration, self duration, category, Next.js phase;
|
|
57
|
+
- `contributors` — self-time labels and phases;
|
|
58
|
+
- `traces` — trace id, occurrence count, duration and dominant contributor;
|
|
59
|
+
- `queries` — database system, operation, nullable duration, redacted SQL
|
|
60
|
+
preview;
|
|
61
|
+
- `errors` — name, message, ids, route/render context and timestamp.
|
|
62
|
+
|
|
63
|
+
<!-- coderabbit-ai-generated:v1 -->
|
|
64
|
+
|
|
65
|
+
<!-- coderabbit-ai-generated-section:v1:e80d88b864f4308ac871adb9b30807e2b34389a656aed3ed4915afa83596c76b -->
|
|
66
|
+
|
|
67
|
+
Request bodies, headers, cookies, URL query values and SQL bind parameters
|
|
68
|
+
are not captured directly. Application error messages may include body values
|
|
69
|
+
that appear in diagnostic evidence despite text redaction. Review reports for
|
|
70
|
+
sensitive information before sharing them.
|
|
71
|
+
|
|
72
|
+
<!-- /coderabbit-ai-generated:v1 -->
|
|
73
|
+
|
|
74
|
+
## List and filters
|
|
75
|
+
|
|
76
|
+
```ts
|
|
77
|
+
listDiagnosticFindings(report, {
|
|
78
|
+
category: 'performance',
|
|
79
|
+
severity: 'warning',
|
|
80
|
+
status: 'observed',
|
|
81
|
+
ruleId: 'slow-request',
|
|
82
|
+
route: '/api/orders',
|
|
83
|
+
traceId: '...',
|
|
84
|
+
since: Date.now() - 60_000,
|
|
85
|
+
until: Date.now(),
|
|
86
|
+
q: 'orders',
|
|
87
|
+
limit: 50,
|
|
88
|
+
offset: 0,
|
|
89
|
+
})
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
- `limit` is clamped to 1–200, default 50.
|
|
93
|
+
- `route` is a case-insensitive substring match.
|
|
94
|
+
- `q` searches title, summary, detail, fingerprint, route and rule id.
|
|
95
|
+
- `since`/`until` are epoch milliseconds.
|
|
96
|
+
|
|
97
|
+
The response includes `items`, `total`, `limit`, `offset`, `counts`, `sample`,
|
|
98
|
+
`notes`, `limitations`, `engineVersion` and `ruleSetVersion`. `total` counts all
|
|
99
|
+
matching findings; `items` is the current page.
|
|
100
|
+
|
|
101
|
+
## Detail
|
|
102
|
+
|
|
103
|
+
`getDiagnosticDetail(report, id, snapshot)` returns
|
|
104
|
+
`{ finding, trace }` or `null`. The trace is a bounded context: span count,
|
|
105
|
+
errors, queries and missing parents. Use the collector trace API for the full
|
|
106
|
+
tree when it is truncated.
|
|
107
|
+
|
|
108
|
+
`diagnosticOverview(report, topLimit = 5)` returns counts, sample metadata and
|
|
109
|
+
the top findings for dashboards and MCP summaries.
|
|
110
|
+
|
|
111
|
+
## Status semantics
|
|
112
|
+
|
|
113
|
+
| Status | Meaning |
|
|
114
|
+
| --- | --- |
|
|
115
|
+
| `observed` | A measurement or status was directly established. |
|
|
116
|
+
| `possible` | The pattern is consistent with a problem but not proven. |
|
|
117
|
+
| `insufficient-evidence` | The sample cannot support a conclusion. |
|
|
118
|
+
|
|
119
|
+
`possible` and `observed` never mean "confirmed root cause". See the repository
|
|
120
|
+
the repository `docs/limitations.md` for the full boundary.
|
package/docs/index.md
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: "@stacknext/diagnostics"
|
|
3
|
+
description: Deterministic, evidence-backed diagnostic rules over a StackNext telemetry sample.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# @stacknext/diagnostics
|
|
7
|
+
|
|
8
|
+
`@stacknext/diagnostics` turns one bounded telemetry sample into deterministic
|
|
9
|
+
findings. It implements fingerprinting, rule evaluation, report filtering and
|
|
10
|
+
the overview/detail shapes used by the CLI, dashboard and MCP server.
|
|
11
|
+
|
|
12
|
+
## Who should read this
|
|
13
|
+
|
|
14
|
+
Maintainers and advanced contributors. This is an **internal implementation
|
|
15
|
+
package**: applications do not install it directly. It is a dependency of
|
|
16
|
+
`@stacknext/cli`, `@stacknext/regression` and `@stacknext/mcp`.
|
|
17
|
+
|
|
18
|
+
## Package boundary
|
|
19
|
+
|
|
20
|
+
`diagnostics` depends on `@stacknext/core`. It does not read source files, run
|
|
21
|
+
SQL or EXPLAIN, call an AI provider, write storage or expose an HTTP server.
|
|
22
|
+
The caller provides a snapshot of the current sample and its config.
|
|
23
|
+
|
|
24
|
+
## Public API
|
|
25
|
+
|
|
26
|
+
<!-- coderabbit-ai-generated:v1 -->
|
|
27
|
+
|
|
28
|
+
<!-- coderabbit-ai-generated-section:v1:229f05792b12cd2c7b8ecfd7ca0dd7a43169429e4dafaf6f3a989b137a4d9d1d -->
|
|
29
|
+
|
|
30
|
+
```ts
|
|
31
|
+
import {
|
|
32
|
+
generateDiagnosticReport,
|
|
33
|
+
listDiagnosticFindings,
|
|
34
|
+
getDiagnosticDetail,
|
|
35
|
+
diagnosticOverview,
|
|
36
|
+
evaluateDiagnosticRules,
|
|
37
|
+
DIAGNOSTICS_ENGINE_VERSION,
|
|
38
|
+
} from '@stacknext/diagnostics'
|
|
39
|
+
import {
|
|
40
|
+
DIAGNOSTIC_RULES,
|
|
41
|
+
STACKNEXT_DIAGNOSTICS_FORMAT,
|
|
42
|
+
STACKNEXT_DIAGNOSTICS_FORMAT_VERSION,
|
|
43
|
+
STACKNEXT_DIAGNOSTICS_RULE_SET_VERSION,
|
|
44
|
+
} from '@stacknext/core'
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
<!-- /coderabbit-ai-generated:v1 -->
|
|
48
|
+
|
|
49
|
+
| Function | Purpose |
|
|
50
|
+
| --- | --- |
|
|
51
|
+
| `generateDiagnosticReport(snapshot, options)` | Runs enabled rules and returns a bounded `DiagnosticReport`. |
|
|
52
|
+
| `evaluateDiagnosticRules(context)` | Runs the six rules without building the report envelope. |
|
|
53
|
+
| `listDiagnosticFindings(report, filters?)` | Applies category/severity/status/rule/route/trace/time/search filters and pagination. |
|
|
54
|
+
| `getDiagnosticDetail(report, id, snapshot)` | Returns one finding and a bounded related trace. |
|
|
55
|
+
| `diagnosticOverview(report, topLimit?)` | Returns counts and the top findings for the dashboard/MCP summary. |
|
|
56
|
+
|
|
57
|
+
Fingerprint and classification helpers are also exported for tests and custom
|
|
58
|
+
tooling. See the installed TypeScript declarations for the complete list.
|
|
59
|
+
|
|
60
|
+
## Usage
|
|
61
|
+
|
|
62
|
+
```ts
|
|
63
|
+
const report = generateDiagnosticReport(
|
|
64
|
+
{
|
|
65
|
+
spans,
|
|
66
|
+
errors,
|
|
67
|
+
databaseQueries,
|
|
68
|
+
requestTraces,
|
|
69
|
+
missingParentSpanIds,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
projectName: 'my-app',
|
|
73
|
+
collectorVersion: '<installed-version>',
|
|
74
|
+
config,
|
|
75
|
+
slowRequestMs: 500,
|
|
76
|
+
},
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
const page = listDiagnosticFindings(report, {
|
|
80
|
+
category: 'database',
|
|
81
|
+
severity: 'warning',
|
|
82
|
+
limit: 20,
|
|
83
|
+
})
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
`DiagnosticSnapshot` is the current sample, not storage. The engine reads only
|
|
87
|
+
what the caller passes and does not mutate it.
|
|
88
|
+
|
|
89
|
+
## Engine versions
|
|
90
|
+
|
|
91
|
+
- `STACKNEXT_DIAGNOSTICS_FORMAT` — `stacknext-diagnostics`.
|
|
92
|
+
- `STACKNEXT_DIAGNOSTICS_FORMAT_VERSION` — `1`.
|
|
93
|
+
- `STACKNEXT_DIAGNOSTICS_RULE_SET_VERSION` — `2`.
|
|
94
|
+
- `DIAGNOSTICS_ENGINE_VERSION` — the installed package version.
|
|
95
|
+
|
|
96
|
+
Regression comparisons consider the rule-set version part of the environment.
|
|
97
|
+
A mismatch makes a comparison inconclusive by default.
|
|
98
|
+
|
|
99
|
+
## Required reasoning
|
|
100
|
+
|
|
101
|
+
Findings are conservative heuristics, not confirmed root causes:
|
|
102
|
+
|
|
103
|
+
- `possible` means the pattern is consistent with a problem.
|
|
104
|
+
- `observed` means the measurement exists.
|
|
105
|
+
- `insufficient-evidence` means the sample cannot support a conclusion.
|
|
106
|
+
|
|
107
|
+
Never present a finding as proof of why the application behaves a certain way.
|
|
108
|
+
Read the evidence, verification steps and limitations.
|
|
109
|
+
|
|
110
|
+
## Documentation map
|
|
111
|
+
|
|
112
|
+
- [Rules](rules.md) — the six rules, thresholds and exclusions.
|
|
113
|
+
- [Findings](findings.md) — report shape, evidence fields and limits.
|
package/docs/rules.md
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Rules
|
|
3
|
+
description: The six deterministic diagnostic rules, their thresholds, evidence and exclusions.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Rules
|
|
7
|
+
|
|
8
|
+
The engine implements exactly six rules. `DIAGNOSTIC_RULES` exports their ids,
|
|
9
|
+
labels, categories and default severities.
|
|
10
|
+
|
|
11
|
+
<!-- coderabbit-ai-generated:v1 -->
|
|
12
|
+
|
|
13
|
+
<!-- coderabbit-ai-generated-section:v1:10596212a48954811031c9de36743ec468719d7e83705fad34d911da5d4e0455 -->
|
|
14
|
+
|
|
15
|
+
| Rule id | Category | Status | Severity | Trigger |
|
|
16
|
+
| --- | --- | --- | --- | --- |
|
|
17
|
+
| `n-plus-one-queries` | `database` | `possible` | `warning` | One normalized SQL shape repeats at least `diagnostics.repeatedQueryMin` times (default 5) in a request trace; each counted query must have a `spanId` attributed to the request root. |
|
|
18
|
+
| `slow-request` | `performance` | `observed` | `warning` | A request root reaches or exceeds `slowRequestMs` (default 500 ms). |
|
|
19
|
+
| `slow-span` | `performance` | `observed` | `warning` | A non-root span's self time exceeds its category threshold while the request itself is not already reported as slow. |
|
|
20
|
+
| `repeated-external-http` | `http` | `possible` | `warning` | One normalized outbound endpoint repeats at least `diagnostics.repeatedHttpMin` times (default 3) in one trace. |
|
|
21
|
+
| `error-fingerprint` | `errors` | `observed` | `error` | A single or repeated request error grouped by canonical route and normalized signature. |
|
|
22
|
+
| `server-error-response` | `errors` | `observed` | `error` | A request root returns 5xx without a correlated non-control-flow error record. |
|
|
23
|
+
|
|
24
|
+
<!-- /coderabbit-ai-generated:v1 -->
|
|
25
|
+
|
|
26
|
+
## N+1 queries
|
|
27
|
+
|
|
28
|
+
- SQL is fingerprinted by normalized shape. Literal values and id-like path
|
|
29
|
+
segments do not create a new shape.
|
|
30
|
+
- A finding aggregates matching traces by canonical Next.js route.
|
|
31
|
+
- Bind parameters are never available, so the engine cannot prove a loop.
|
|
32
|
+
- A batched query can still repeat for unrelated reasons.
|
|
33
|
+
|
|
34
|
+
## Slow requests
|
|
35
|
+
|
|
36
|
+
- The measurement is the request root duration, not the sum of spans.
|
|
37
|
+
- Findings group by method and canonical route.
|
|
38
|
+
- The engine attributes self time to the deepest measured spans and names the
|
|
39
|
+
dominant contributor. Self time subtracts the union of direct child intervals;
|
|
40
|
+
it attributes measured time and does not prove causality.
|
|
41
|
+
- Parent duration already includes child work. Never add overlapping spans.
|
|
42
|
+
|
|
43
|
+
## Slow spans
|
|
44
|
+
|
|
45
|
+
- Evaluated only when the enclosing request is below `slowRequestMs`; this
|
|
46
|
+
avoids double-reporting a slow request and its child.
|
|
47
|
+
- Thresholds are category-specific: `databaseMs`, `httpMs`, `customMs`,
|
|
48
|
+
`frameworkMs`, `otherMs`.
|
|
49
|
+
- A span can be slow because of child work, queueing, a cold start or the
|
|
50
|
+
measured operation itself.
|
|
51
|
+
- Framework spans are evidence of Next.js work, not a root cause.
|
|
52
|
+
|
|
53
|
+
## Repeated external HTTP
|
|
54
|
+
|
|
55
|
+
- Only outbound HTTP client spans are considered.
|
|
56
|
+
- Query values, fragments and credentials are removed; id-like path segments are
|
|
57
|
+
normalized.
|
|
58
|
+
- Cache status and same-app/external origin may be reported as evidence.
|
|
59
|
+
- Repeated calls can be intentional retries or independent requests. The rule
|
|
60
|
+
cannot distinguish them.
|
|
61
|
+
|
|
62
|
+
## Error fingerprints
|
|
63
|
+
|
|
64
|
+
- The normalized error signature is route-independent, but findings group by
|
|
65
|
+
canonical route so the same failure in different routes stays separate.
|
|
66
|
+
- The same message and stack shape can merge different causes; different shapes
|
|
67
|
+
can split one cause.
|
|
68
|
+
- Next.js not-found, redirect and HTTP-error fallback control-flow errors are
|
|
69
|
+
excluded.
|
|
70
|
+
- A single error is still reported; `errorGroupMin` controls when a group is
|
|
71
|
+
labeled repeated.
|
|
72
|
+
|
|
73
|
+
## Server error responses
|
|
74
|
+
|
|
75
|
+
- Reports only that the request root returned 5xx without a correlated
|
|
76
|
+
non-control-flow error.
|
|
77
|
+
- The app may have returned the status intentionally, the error hook may not
|
|
78
|
+
have run, or the error record may have aged out.
|
|
79
|
+
- The status is proven; the cause is not.
|
|
80
|
+
|
|
81
|
+
## Detached traces
|
|
82
|
+
|
|
83
|
+
Request-level rules require an attributable request root. Spans without one,
|
|
84
|
+
and spans whose parent is missing, are excluded and noted in the sample
|
|
85
|
+
integrity metadata instead of being guessed into a request.
|
|
86
|
+
|
|
87
|
+
## Thresholds
|
|
88
|
+
|
|
89
|
+
<!-- coderabbit-ai-generated:v1 -->
|
|
90
|
+
|
|
91
|
+
<!-- coderabbit-ai-generated-section:v1:a904184de13c123e8ce5a38fe44806d966a9f19751cfbda9e0846de9453c0acc -->
|
|
92
|
+
|
|
93
|
+
Most thresholds come from `stacknext.config.json` `diagnostics`; `slowRequestMs`
|
|
94
|
+
is a top-level property of `stacknext.config.json`. `enabled: false`
|
|
95
|
+
returns an empty report, not an error. `maxFindings` caps the report after all
|
|
96
|
+
rules run.
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
<!-- /coderabbit-ai-generated:v1 -->
|
package/package.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stacknext/diagnostics",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"description": "Deterministic, evidence-backed runtime diagnostics for StackNext telemetry",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"files": [
|
|
8
|
-
"dist"
|
|
8
|
+
"dist",
|
|
9
|
+
"docs"
|
|
9
10
|
],
|
|
10
11
|
"main": "./dist/index.js",
|
|
11
12
|
"types": "./dist/index.d.ts",
|
|
@@ -18,7 +19,7 @@
|
|
|
18
19
|
"./package.json": "./package.json"
|
|
19
20
|
},
|
|
20
21
|
"dependencies": {
|
|
21
|
-
"@stacknext/core": "0.
|
|
22
|
+
"@stacknext/core": "0.10.0"
|
|
22
23
|
},
|
|
23
24
|
"engines": {
|
|
24
25
|
"node": ">=20.9.0"
|