@substrate-ai/sdlc 0.20.39 → 0.20.41

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.
Files changed (31) hide show
  1. package/dist/run-model/index.d.ts +4 -2
  2. package/dist/run-model/index.d.ts.map +1 -1
  3. package/dist/run-model/index.js +4 -1
  4. package/dist/run-model/index.js.map +1 -1
  5. package/dist/run-model/per-story-state.d.ts +15 -0
  6. package/dist/run-model/per-story-state.d.ts.map +1 -1
  7. package/dist/run-model/probe-author-metrics.d.ts +113 -0
  8. package/dist/run-model/probe-author-metrics.d.ts.map +1 -0
  9. package/dist/run-model/probe-author-metrics.js +162 -0
  10. package/dist/run-model/probe-author-metrics.js.map +1 -0
  11. package/dist/run-model/schemas.d.ts +15 -0
  12. package/dist/run-model/schemas.d.ts.map +1 -1
  13. package/dist/run-model/verification-result.d.ts +48 -0
  14. package/dist/run-model/verification-result.d.ts.map +1 -1
  15. package/dist/run-model/verification-result.js +47 -0
  16. package/dist/run-model/verification-result.js.map +1 -1
  17. package/dist/verification/checks/runtime-probe-check.d.ts.map +1 -1
  18. package/dist/verification/checks/runtime-probe-check.js +18 -2
  19. package/dist/verification/checks/runtime-probe-check.js.map +1 -1
  20. package/dist/verification/findings.d.ts +10 -0
  21. package/dist/verification/findings.d.ts.map +1 -1
  22. package/dist/verification/findings.js.map +1 -1
  23. package/dist/verification/probes/types.d.ts +8 -0
  24. package/dist/verification/probes/types.d.ts.map +1 -1
  25. package/dist/verification/probes/types.js +14 -0
  26. package/dist/verification/probes/types.js.map +1 -1
  27. package/dist/verification/source-ac-fidelity-check.d.ts +22 -0
  28. package/dist/verification/source-ac-fidelity-check.d.ts.map +1 -1
  29. package/dist/verification/source-ac-fidelity-check.js +140 -12
  30. package/dist/verification/source-ac-fidelity-check.js.map +1 -1
  31. package/package.json +2 -2
@@ -14,10 +14,12 @@ export { CliFlagsSchema } from './cli-flags.js';
14
14
  export type { CliFlags } from './cli-flags.js';
15
15
  export { PerStoryStatusSchema, PerStoryStateSchema } from './per-story-state.js';
16
16
  export type { PerStoryStatus, PerStoryState } from './per-story-state.js';
17
- export { StoredVerificationFindingSchema, StoredVerificationCheckResultSchema, StoredVerificationSummarySchema, } from './verification-result.js';
18
- export type { StoredVerificationFinding, StoredVerificationCheckResult, StoredVerificationSummary, } from './verification-result.js';
17
+ export { StoredVerificationFindingSchema, StoredVerificationCheckResultSchema, StoredVerificationSummarySchema, StoredVerificationAnnotationSchema, } from './verification-result.js';
18
+ export type { StoredVerificationFinding, StoredVerificationCheckResult, StoredVerificationSummary, StoredVerificationAnnotation, } from './verification-result.js';
19
19
  export { rollupFindingCounts, ZERO_FINDING_COUNTS } from './verification-findings-counts.js';
20
20
  export type { VerificationFindingsCounts } from './verification-findings-counts.js';
21
+ export { rollupProbeAuthorMetrics, rollupFindingsByAuthor, aggregateProbeAuthorMetrics, ZERO_PROBE_AUTHOR_METRICS, ZERO_FINDINGS_BY_AUTHOR, } from './probe-author-metrics.js';
22
+ export type { ProbeAuthorMetrics, ProbeAuthorAggregate, FindingsByAuthor, } from './probe-author-metrics.js';
21
23
  export { StoredDevStorySignalsSchema } from './dev-story-signals.js';
22
24
  export type { StoredDevStorySignals } from './dev-story-signals.js';
23
25
  export { SupervisorLock } from './supervisor-lock.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/run-model/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,YAAY,EACV,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,QAAQ,GACT,MAAM,YAAY,CAAA;AAEnB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,GAClB,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAG9C,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAChF,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAIzE,OAAO,EACL,+BAA+B,EAC/B,mCAAmC,EACnC,+BAA+B,GAChC,MAAM,0BAA0B,CAAA;AACjC,YAAY,EACV,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,GAC1B,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAC5F,YAAY,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAGnF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAA;AACpE,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAGnE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/run-model/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAErD,YAAY,EACV,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,QAAQ,GACT,MAAM,YAAY,CAAA;AAEnB,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,GAClB,MAAM,cAAc,CAAA;AAGrB,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAC7D,YAAY,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAG5D,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC/C,YAAY,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAG9C,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAChF,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAKzE,OAAO,EACL,+BAA+B,EAC/B,mCAAmC,EACnC,+BAA+B,EAC/B,kCAAkC,GACnC,MAAM,0BAA0B,CAAA;AACjC,YAAY,EACV,yBAAyB,EACzB,6BAA6B,EAC7B,yBAAyB,EACzB,4BAA4B,GAC7B,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAC5F,YAAY,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAA;AAGnF,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,2BAA2B,CAAA;AAClC,YAAY,EACV,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,2BAA2B,CAAA;AAGlC,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAA;AACpE,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAGnE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,YAAY,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA"}
@@ -14,9 +14,12 @@ export { CliFlagsSchema } from './cli-flags.js';
14
14
  export { PerStoryStatusSchema, PerStoryStateSchema } from './per-story-state.js';
15
15
  // Story 52-7: Stored verification result schemas and types
16
16
  // Story 55-3: StoredVerificationFinding schema (part of findings persistence)
17
- export { StoredVerificationFindingSchema, StoredVerificationCheckResultSchema, StoredVerificationSummarySchema, } from './verification-result.js';
17
+ // Story 60-15: StoredVerificationAnnotation schema (operator-added catch-rate KPI annotations)
18
+ export { StoredVerificationFindingSchema, StoredVerificationCheckResultSchema, StoredVerificationSummarySchema, StoredVerificationAnnotationSchema, } from './verification-result.js';
18
19
  // Story 55-3b: roll-up helper for surfacing finding counts in CLI JSON output
19
20
  export { rollupFindingCounts, ZERO_FINDING_COUNTS } from './verification-findings-counts.js';
21
+ // Story 60-15: probe-author per-story rollup + cross-run aggregate
22
+ export { rollupProbeAuthorMetrics, rollupFindingsByAuthor, aggregateProbeAuthorMetrics, ZERO_PROBE_AUTHOR_METRICS, ZERO_FINDINGS_BY_AUTHOR, } from './probe-author-metrics.js';
20
23
  // Story 60-8: persisted dev-story signals (closes 60-3's manifest-source-of-truth gap)
21
24
  export { StoredDevStorySignalsSchema } from './dev-story-signals.js';
22
25
  // Story 52-2: Supervisor locking and ownership
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/run-model/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAU/C,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,GAClB,MAAM,cAAc,CAAA;AAErB,wFAAwF;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAG7D,0CAA0C;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAG/C,yDAAyD;AACzD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAGhF,2DAA2D;AAC3D,8EAA8E;AAC9E,OAAO,EACL,+BAA+B,EAC/B,mCAAmC,EACnC,+BAA+B,GAChC,MAAM,0BAA0B,CAAA;AAOjC,8EAA8E;AAC9E,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAG5F,uFAAuF;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAA;AAGpE,+CAA+C;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/run-model/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAU/C,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,cAAc,EACd,iBAAiB,GAClB,MAAM,cAAc,CAAA;AAErB,wFAAwF;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAG7D,0CAA0C;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAG/C,yDAAyD;AACzD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAGhF,2DAA2D;AAC3D,8EAA8E;AAC9E,+FAA+F;AAC/F,OAAO,EACL,+BAA+B,EAC/B,mCAAmC,EACnC,+BAA+B,EAC/B,kCAAkC,GACnC,MAAM,0BAA0B,CAAA;AAQjC,8EAA8E;AAC9E,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAG5F,mEAAmE;AACnE,OAAO,EACL,wBAAwB,EACxB,sBAAsB,EACtB,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,2BAA2B,CAAA;AAOlC,uFAAuF;AACvF,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAA;AAGpE,+CAA+C;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA"}
@@ -58,6 +58,10 @@ export declare const PerStoryStateSchema: z.ZodObject<{
58
58
  stdoutTail: z.ZodOptional<z.ZodString>;
59
59
  stderrTail: z.ZodOptional<z.ZodString>;
60
60
  durationMs: z.ZodOptional<z.ZodNumber>;
61
+ _authoredBy: z.ZodOptional<z.ZodEnum<{
62
+ "probe-author": "probe-author";
63
+ "create-story-ac-transfer": "create-story-ac-transfer";
64
+ }>>;
61
65
  }, z.core.$strip>>>;
62
66
  }, z.core.$strip>>;
63
67
  status: z.ZodEnum<{
@@ -66,6 +70,17 @@ export declare const PerStoryStateSchema: z.ZodObject<{
66
70
  fail: "fail";
67
71
  }>;
68
72
  duration_ms: z.ZodNumber;
73
+ annotations: z.ZodOptional<z.ZodArray<z.ZodObject<{
74
+ findingCategory: z.ZodString;
75
+ judgment: z.ZodEnum<{
76
+ "confirmed-defect": "confirmed-defect";
77
+ "false-positive": "false-positive";
78
+ "probe-bug": "probe-bug";
79
+ }>;
80
+ probeName: z.ZodOptional<z.ZodString>;
81
+ note: z.ZodOptional<z.ZodString>;
82
+ createdAt: z.ZodString;
83
+ }, z.core.$strip>>>;
69
84
  }, z.core.$strip>>;
70
85
  cost_usd: z.ZodOptional<z.ZodNumber>;
71
86
  review_cycles: z.ZodOptional<z.ZodNumber>;
@@ -1 +1 @@
1
- {"version":3,"file":"per-story-state.d.ts","sourceRoot":"","sources":["../../src/run-model/per-story-state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAQvB;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,iTAY/B,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAMjE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA2B9B,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA"}
1
+ {"version":3,"file":"per-story-state.d.ts","sourceRoot":"","sources":["../../src/run-model/per-story-state.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAQvB;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB,iTAY/B,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAMjE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA2B9B,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Probe-author per-story rollup — Story 60-15.
3
+ *
4
+ * Collapses every probe-author-relevant signal in a
5
+ * StoredVerificationSummary (including any operator annotations on
6
+ * probe-failures) into a flat `{dispatched, probesAuthoredCount,
7
+ * authoredProbesFailedCount, authoredProbesCaughtConfirmedDefectCount}`
8
+ * shape suitable for per-story surfacing in `substrate status`/`metrics`
9
+ * JSON output and for cross-run aggregation in the `--probe-author-summary`
10
+ * flag.
11
+ *
12
+ * Intentionally pure (mirrors `rollupFindingCounts` shape): no I/O, no
13
+ * logger, no throw. Backward-compat is load-bearing — pre-60-15 manifests
14
+ * have no `_authoredBy` discriminator on their stored findings, no
15
+ * `annotations` array, and probe-author wasn't actually running (Sprint
16
+ * 13/Sprint 20 lesson — the manifest registration bug). The rollup must
17
+ * produce sensible zero values on every legacy code path.
18
+ */
19
+ import type { StoredVerificationSummary } from './verification-result.js';
20
+ /** Per-story rollup of probe-author signals. */
21
+ export interface ProbeAuthorMetrics {
22
+ /** True if probe-author dispatched against this story (any finding's
23
+ * `_authoredBy === 'probe-author'`, OR — when ANY annotation references
24
+ * a probe-author probe — true). False on legacy manifests, on stories
25
+ * whose AC wasn't event-driven, and on stories where probe-author was
26
+ * skipped via the feature flag. */
27
+ dispatched: boolean;
28
+ /** Total number of probes appended to the story by probe-author. Computed
29
+ * from the verification summary's findings; counts each unique
30
+ * `_authoredBy: 'probe-author'` finding's probe. May undercount when
31
+ * probe-author authored probes that ALL passed (passing probes don't
32
+ * emit findings) — see {@link ProbeAuthorMetrics.dispatched} for
33
+ * presence-detection on that path. */
34
+ probesAuthoredCount: number;
35
+ /** Probe-author-authored probes that failed at runtime (any
36
+ * `runtime-probe-*` finding's `_authoredBy === 'probe-author'`). NOT
37
+ * the same as defect-caught — a probe-author authoring bug, a flaky
38
+ * probe, or a real defect catch all surface as failures. The
39
+ * confirmed-defect count below distinguishes them post-hoc. */
40
+ authoredProbesFailedCount: number;
41
+ /** Subset of `authoredProbesFailedCount` for which an operator added a
42
+ * `judgment: 'confirmed-defect'` annotation via `substrate annotate`.
43
+ * This is the load-bearing KPI numerator — the catch-rate is computed
44
+ * as `confirmed / dispatched`. Without operator annotations, this is
45
+ * always 0 (annotations are post-hoc; the rollup is honest about it). */
46
+ authoredProbesCaughtConfirmedDefectCount: number;
47
+ }
48
+ /** Zero rollup, used as default when no probe-author signal is present. */
49
+ export declare const ZERO_PROBE_AUTHOR_METRICS: Readonly<ProbeAuthorMetrics>;
50
+ /** Per-author breakdown of finding counts (the `byAuthor` shape surfaced
51
+ * on each story's `verification_findings` payload). Mirrors
52
+ * `VerificationFindingsCounts` but split by `_authoredBy`. */
53
+ export interface FindingsByAuthor {
54
+ 'probe-author': {
55
+ error: number;
56
+ warn: number;
57
+ info: number;
58
+ };
59
+ 'create-story-ac-transfer': {
60
+ error: number;
61
+ warn: number;
62
+ info: number;
63
+ };
64
+ }
65
+ export declare const ZERO_FINDINGS_BY_AUTHOR: Readonly<FindingsByAuthor>;
66
+ /**
67
+ * Compute the per-story probe-author rollup from a verification summary.
68
+ *
69
+ * Inputs:
70
+ * - `summary`: the per-story stored verification summary (`per_story_state
71
+ * [storyKey].verification_result` in run manifest terms)
72
+ * - `dispatchedHint`: optional override — when the caller has direct
73
+ * knowledge that probe-author dispatched (e.g., from a captured
74
+ * `probe-author:appended-to-artifact` event on a fresh run), pass true.
75
+ * Useful when probe-author authored probes that all passed (no
76
+ * failure findings to attribute, but presence is real).
77
+ *
78
+ * Backward-compat: undefined/null summary → zero rollup. Missing
79
+ * `_authoredBy` field on findings → counted under
80
+ * `'create-story-ac-transfer'` per the schema's documented semantic.
81
+ * Missing `annotations` array → confirmed-defect count is 0.
82
+ */
83
+ export declare function rollupProbeAuthorMetrics(summary: StoredVerificationSummary | undefined | null, dispatchedHint?: boolean): ProbeAuthorMetrics;
84
+ /**
85
+ * Compute the byAuthor breakdown of finding counts on a verification summary.
86
+ * Each finding's `_authoredBy` (default `'create-story-ac-transfer'` when
87
+ * absent) routes its severity into the appropriate per-author bucket.
88
+ */
89
+ export declare function rollupFindingsByAuthor(summary: StoredVerificationSummary | undefined | null): FindingsByAuthor;
90
+ /**
91
+ * Aggregate probe-author metrics across multiple stories' rollups. Mirrors
92
+ * the spec's `--probe-author-summary` flag output shape.
93
+ */
94
+ export interface ProbeAuthorAggregate {
95
+ totalStoriesDispatched: number;
96
+ probeAuthorDispatchedCount: number;
97
+ probeAuthorDispatchedPct: number;
98
+ totalAuthoredProbes: number;
99
+ totalAuthoredProbesFailed: number;
100
+ totalConfirmedDefectsCaught: number;
101
+ /** `failed / authored` — the raw signal (probes that fired). */
102
+ catchRateByCount: number;
103
+ /** `confirmed / authored` — the load-bearing KPI for Phase 2 calibration. */
104
+ catchRateByConfirmedDefect: number;
105
+ }
106
+ /**
107
+ * Sum per-story probe-author rollups into a single aggregate. `totalStories`
108
+ * is the denominator for `probeAuthorDispatchedPct` (stories where dispatch
109
+ * could have happened, regardless of outcome). Pass the count of stories
110
+ * the run touched, NOT just the ones with successful dispatch.
111
+ */
112
+ export declare function aggregateProbeAuthorMetrics(perStory: ProbeAuthorMetrics[], totalStories: number): ProbeAuthorAggregate;
113
+ //# sourceMappingURL=probe-author-metrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"probe-author-metrics.d.ts","sourceRoot":"","sources":["../../src/run-model/probe-author-metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAA;AAMzE,gDAAgD;AAChD,MAAM,WAAW,kBAAkB;IACjC;;;;wCAIoC;IACpC,UAAU,EAAE,OAAO,CAAA;IACnB;;;;;2CAKuC;IACvC,mBAAmB,EAAE,MAAM,CAAA;IAC3B;;;;oEAIgE;IAChE,yBAAyB,EAAE,MAAM,CAAA;IACjC;;;;8EAI0E;IAC1E,wCAAwC,EAAE,MAAM,CAAA;CACjD;AAED,2EAA2E;AAC3E,eAAO,MAAM,yBAAyB,EAAE,QAAQ,CAAC,kBAAkB,CAKjE,CAAA;AAEF;;+DAE+D;AAC/D,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7D,0BAA0B,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CAC1E;AAED,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,gBAAgB,CAG7D,CAAA;AAMF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,yBAAyB,GAAG,SAAS,GAAG,IAAI,EACrD,cAAc,CAAC,EAAE,OAAO,GACvB,kBAAkB,CAyCpB;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,yBAAyB,GAAG,SAAS,GAAG,IAAI,GACpD,gBAAgB,CAyBlB;AAMD;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,sBAAsB,EAAE,MAAM,CAAA;IAC9B,0BAA0B,EAAE,MAAM,CAAA;IAClC,wBAAwB,EAAE,MAAM,CAAA;IAChC,mBAAmB,EAAE,MAAM,CAAA;IAC3B,yBAAyB,EAAE,MAAM,CAAA;IACjC,2BAA2B,EAAE,MAAM,CAAA;IACnC,gEAAgE;IAChE,gBAAgB,EAAE,MAAM,CAAA;IACxB,6EAA6E;IAC7E,0BAA0B,EAAE,MAAM,CAAA;CACnC;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,YAAY,EAAE,MAAM,GACnB,oBAAoB,CAqBtB"}
@@ -0,0 +1,162 @@
1
+ /**
2
+ * Probe-author per-story rollup — Story 60-15.
3
+ *
4
+ * Collapses every probe-author-relevant signal in a
5
+ * StoredVerificationSummary (including any operator annotations on
6
+ * probe-failures) into a flat `{dispatched, probesAuthoredCount,
7
+ * authoredProbesFailedCount, authoredProbesCaughtConfirmedDefectCount}`
8
+ * shape suitable for per-story surfacing in `substrate status`/`metrics`
9
+ * JSON output and for cross-run aggregation in the `--probe-author-summary`
10
+ * flag.
11
+ *
12
+ * Intentionally pure (mirrors `rollupFindingCounts` shape): no I/O, no
13
+ * logger, no throw. Backward-compat is load-bearing — pre-60-15 manifests
14
+ * have no `_authoredBy` discriminator on their stored findings, no
15
+ * `annotations` array, and probe-author wasn't actually running (Sprint
16
+ * 13/Sprint 20 lesson — the manifest registration bug). The rollup must
17
+ * produce sensible zero values on every legacy code path.
18
+ */
19
+ /** Zero rollup, used as default when no probe-author signal is present. */
20
+ export const ZERO_PROBE_AUTHOR_METRICS = Object.freeze({
21
+ dispatched: false,
22
+ probesAuthoredCount: 0,
23
+ authoredProbesFailedCount: 0,
24
+ authoredProbesCaughtConfirmedDefectCount: 0,
25
+ });
26
+ export const ZERO_FINDINGS_BY_AUTHOR = Object.freeze({
27
+ 'probe-author': { error: 0, warn: 0, info: 0 },
28
+ 'create-story-ac-transfer': { error: 0, warn: 0, info: 0 },
29
+ });
30
+ // ---------------------------------------------------------------------------
31
+ // Rollup
32
+ // ---------------------------------------------------------------------------
33
+ /**
34
+ * Compute the per-story probe-author rollup from a verification summary.
35
+ *
36
+ * Inputs:
37
+ * - `summary`: the per-story stored verification summary (`per_story_state
38
+ * [storyKey].verification_result` in run manifest terms)
39
+ * - `dispatchedHint`: optional override — when the caller has direct
40
+ * knowledge that probe-author dispatched (e.g., from a captured
41
+ * `probe-author:appended-to-artifact` event on a fresh run), pass true.
42
+ * Useful when probe-author authored probes that all passed (no
43
+ * failure findings to attribute, but presence is real).
44
+ *
45
+ * Backward-compat: undefined/null summary → zero rollup. Missing
46
+ * `_authoredBy` field on findings → counted under
47
+ * `'create-story-ac-transfer'` per the schema's documented semantic.
48
+ * Missing `annotations` array → confirmed-defect count is 0.
49
+ */
50
+ export function rollupProbeAuthorMetrics(summary, dispatchedHint) {
51
+ if (summary === undefined || summary === null) {
52
+ return dispatchedHint === true
53
+ ? { ...ZERO_PROBE_AUTHOR_METRICS, dispatched: true }
54
+ : { ...ZERO_PROBE_AUTHOR_METRICS };
55
+ }
56
+ // Collect all runtime-probe findings authored by probe-author.
57
+ const authoredFailures = [];
58
+ for (const check of summary.checks) {
59
+ const findings = check.findings ?? [];
60
+ for (const f of findings) {
61
+ const author = f._authoredBy ?? 'create-story-ac-transfer';
62
+ if (author !== 'probe-author')
63
+ continue;
64
+ if (!f.category.startsWith('runtime-probe-'))
65
+ continue;
66
+ // Probe name surfaces in the message as `probe "..."`. Best-effort
67
+ // extraction; falls back to category when absent.
68
+ const probeName = extractProbeName(f.message) ?? f.category;
69
+ authoredFailures.push({ probeName, category: f.category });
70
+ }
71
+ }
72
+ // Cross-reference with operator annotations to compute confirmed-defect count.
73
+ const annotations = summary.annotations ?? [];
74
+ let confirmedDefectCount = 0;
75
+ for (const failure of authoredFailures) {
76
+ const matched = annotations.find((a) => a.judgment === 'confirmed-defect' &&
77
+ a.findingCategory === failure.category &&
78
+ (a.probeName === undefined || a.probeName === failure.probeName));
79
+ if (matched !== undefined)
80
+ confirmedDefectCount += 1;
81
+ }
82
+ return {
83
+ dispatched: dispatchedHint === true || authoredFailures.length > 0,
84
+ probesAuthoredCount: authoredFailures.length,
85
+ authoredProbesFailedCount: authoredFailures.length,
86
+ authoredProbesCaughtConfirmedDefectCount: confirmedDefectCount,
87
+ };
88
+ }
89
+ /**
90
+ * Compute the byAuthor breakdown of finding counts on a verification summary.
91
+ * Each finding's `_authoredBy` (default `'create-story-ac-transfer'` when
92
+ * absent) routes its severity into the appropriate per-author bucket.
93
+ */
94
+ export function rollupFindingsByAuthor(summary) {
95
+ const result = {
96
+ 'probe-author': { error: 0, warn: 0, info: 0 },
97
+ 'create-story-ac-transfer': { error: 0, warn: 0, info: 0 },
98
+ };
99
+ if (summary === undefined || summary === null)
100
+ return result;
101
+ for (const check of summary.checks) {
102
+ const findings = check.findings ?? [];
103
+ for (const f of findings) {
104
+ const author = f._authoredBy ?? 'create-story-ac-transfer';
105
+ const bucket = result[author];
106
+ switch (f.severity) {
107
+ case 'error':
108
+ bucket.error += 1;
109
+ break;
110
+ case 'warn':
111
+ bucket.warn += 1;
112
+ break;
113
+ case 'info':
114
+ bucket.info += 1;
115
+ break;
116
+ }
117
+ }
118
+ }
119
+ return result;
120
+ }
121
+ /**
122
+ * Sum per-story probe-author rollups into a single aggregate. `totalStories`
123
+ * is the denominator for `probeAuthorDispatchedPct` (stories where dispatch
124
+ * could have happened, regardless of outcome). Pass the count of stories
125
+ * the run touched, NOT just the ones with successful dispatch.
126
+ */
127
+ export function aggregateProbeAuthorMetrics(perStory, totalStories) {
128
+ let dispatched = 0;
129
+ let authored = 0;
130
+ let failed = 0;
131
+ let confirmed = 0;
132
+ for (const story of perStory) {
133
+ if (story.dispatched)
134
+ dispatched += 1;
135
+ authored += story.probesAuthoredCount;
136
+ failed += story.authoredProbesFailedCount;
137
+ confirmed += story.authoredProbesCaughtConfirmedDefectCount;
138
+ }
139
+ return {
140
+ totalStoriesDispatched: totalStories,
141
+ probeAuthorDispatchedCount: dispatched,
142
+ probeAuthorDispatchedPct: totalStories > 0 ? dispatched / totalStories : 0,
143
+ totalAuthoredProbes: authored,
144
+ totalAuthoredProbesFailed: failed,
145
+ totalConfirmedDefectsCaught: confirmed,
146
+ catchRateByCount: authored > 0 ? failed / authored : 0,
147
+ catchRateByConfirmedDefect: authored > 0 ? confirmed / authored : 0,
148
+ };
149
+ }
150
+ // ---------------------------------------------------------------------------
151
+ // Internal helpers
152
+ // ---------------------------------------------------------------------------
153
+ /** Extract the probe name from a runtime-probe finding's message. The
154
+ * runtime-probe-check formatter writes `probe "<name>"...` as the leading
155
+ * pattern across all category branches (fail/timeout/assertion-fail/
156
+ * error-response). Returns undefined when the message doesn't match
157
+ * (fault tolerance — the rollup falls back to category-as-name). */
158
+ function extractProbeName(message) {
159
+ const match = /^probe\s+"([^"]+)"/.exec(message);
160
+ return match?.[1];
161
+ }
162
+ //# sourceMappingURL=probe-author-metrics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"probe-author-metrics.js","sourceRoot":"","sources":["../../src/run-model/probe-author-metrics.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAqCH,2EAA2E;AAC3E,MAAM,CAAC,MAAM,yBAAyB,GAAiC,MAAM,CAAC,MAAM,CAAC;IACnF,UAAU,EAAE,KAAK;IACjB,mBAAmB,EAAE,CAAC;IACtB,yBAAyB,EAAE,CAAC;IAC5B,wCAAwC,EAAE,CAAC;CAC5C,CAAC,CAAA;AAUF,MAAM,CAAC,MAAM,uBAAuB,GAA+B,MAAM,CAAC,MAAM,CAAC;IAC/E,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;IAC9C,0BAA0B,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;CAC3D,CAAC,CAAA;AAEF,8EAA8E;AAC9E,SAAS;AACT,8EAA8E;AAE9E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAqD,EACrD,cAAwB;IAExB,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,cAAc,KAAK,IAAI;YAC5B,CAAC,CAAC,EAAE,GAAG,yBAAyB,EAAE,UAAU,EAAE,IAAI,EAAE;YACpD,CAAC,CAAC,EAAE,GAAG,yBAAyB,EAAE,CAAA;IACtC,CAAC;IAED,+DAA+D;IAC/D,MAAM,gBAAgB,GAA8C,EAAE,CAAA;IACtE,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAA;QACrC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,IAAI,0BAA0B,CAAA;YAC1D,IAAI,MAAM,KAAK,cAAc;gBAAE,SAAQ;YACvC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,gBAAgB,CAAC;gBAAE,SAAQ;YACtD,mEAAmE;YACnE,kDAAkD;YAClD,MAAM,SAAS,GAAG,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAA;YAC3D,gBAAgB,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;QAC5D,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAA;IAC7C,IAAI,oBAAoB,GAAG,CAAC,CAAA;IAC5B,KAAK,MAAM,OAAO,IAAI,gBAAgB,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAC9B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,QAAQ,KAAK,kBAAkB;YACjC,CAAC,CAAC,eAAe,KAAK,OAAO,CAAC,QAAQ;YACtC,CAAC,CAAC,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC,CACnE,CAAA;QACD,IAAI,OAAO,KAAK,SAAS;YAAE,oBAAoB,IAAI,CAAC,CAAA;IACtD,CAAC;IAED,OAAO;QACL,UAAU,EAAE,cAAc,KAAK,IAAI,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC;QAClE,mBAAmB,EAAE,gBAAgB,CAAC,MAAM;QAC5C,yBAAyB,EAAE,gBAAgB,CAAC,MAAM;QAClD,wCAAwC,EAAE,oBAAoB;KAC/D,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAqD;IAErD,MAAM,MAAM,GAAqB;QAC/B,cAAc,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;QAC9C,0BAA0B,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE;KAC3D,CAAA;IACD,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,MAAM,CAAA;IAC5D,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAA;QACrC,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,IAAI,0BAA0B,CAAA;YAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAA;YAC7B,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;gBACnB,KAAK,OAAO;oBACV,MAAM,CAAC,KAAK,IAAI,CAAC,CAAA;oBACjB,MAAK;gBACP,KAAK,MAAM;oBACT,MAAM,CAAC,IAAI,IAAI,CAAC,CAAA;oBAChB,MAAK;gBACP,KAAK,MAAM;oBACT,MAAM,CAAC,IAAI,IAAI,CAAC,CAAA;oBAChB,MAAK;YACT,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC;AAuBD;;;;;GAKG;AACH,MAAM,UAAU,2BAA2B,CACzC,QAA8B,EAC9B,YAAoB;IAEpB,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,IAAI,QAAQ,GAAG,CAAC,CAAA;IAChB,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,IAAI,SAAS,GAAG,CAAC,CAAA;IACjB,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,UAAU;YAAE,UAAU,IAAI,CAAC,CAAA;QACrC,QAAQ,IAAI,KAAK,CAAC,mBAAmB,CAAA;QACrC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAA;QACzC,SAAS,IAAI,KAAK,CAAC,wCAAwC,CAAA;IAC7D,CAAC;IACD,OAAO;QACL,sBAAsB,EAAE,YAAY;QACpC,0BAA0B,EAAE,UAAU;QACtC,wBAAwB,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC1E,mBAAmB,EAAE,QAAQ;QAC7B,yBAAyB,EAAE,MAAM;QACjC,2BAA2B,EAAE,SAAS;QACtC,gBAAgB,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtD,0BAA0B,EAAE,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;KACpE,CAAA;AACH,CAAC;AAED,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E;;;;qEAIqE;AACrE,SAAS,gBAAgB,CAAC,OAAe;IACvC,MAAM,KAAK,GAAG,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAChD,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC"}
@@ -84,6 +84,10 @@ export declare const RunManifestSchema: z.ZodObject<{
84
84
  stdoutTail: z.ZodOptional<z.ZodString>;
85
85
  stderrTail: z.ZodOptional<z.ZodString>;
86
86
  durationMs: z.ZodOptional<z.ZodNumber>;
87
+ _authoredBy: z.ZodOptional<z.ZodEnum<{
88
+ "probe-author": "probe-author";
89
+ "create-story-ac-transfer": "create-story-ac-transfer";
90
+ }>>;
87
91
  }, z.core.$strip>>>;
88
92
  }, z.core.$strip>>;
89
93
  status: z.ZodEnum<{
@@ -92,6 +96,17 @@ export declare const RunManifestSchema: z.ZodObject<{
92
96
  fail: "fail";
93
97
  }>;
94
98
  duration_ms: z.ZodNumber;
99
+ annotations: z.ZodOptional<z.ZodArray<z.ZodObject<{
100
+ findingCategory: z.ZodString;
101
+ judgment: z.ZodEnum<{
102
+ "confirmed-defect": "confirmed-defect";
103
+ "false-positive": "false-positive";
104
+ "probe-bug": "probe-bug";
105
+ }>;
106
+ probeName: z.ZodOptional<z.ZodString>;
107
+ note: z.ZodOptional<z.ZodString>;
108
+ createdAt: z.ZodString;
109
+ }, z.core.$strip>>>;
95
110
  }, z.core.$strip>>;
96
111
  cost_usd: z.ZodOptional<z.ZodNumber>;
97
112
  review_cycles: z.ZodOptional<z.ZodNumber>;
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/run-model/schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAMnF;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;;;iBAazB,CAAA;AAMF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyB5B,CAAA;AAMF;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,wEAAwE;IACxE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;gBAExB,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE;CAKzD"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/run-model/schemas.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAMnF;;;GAGG;AACH,eAAO,MAAM,cAAc;;;;;;;iBAazB,CAAA;AAMF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyB5B,CAAA;AAMF;;;;;GAKG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,wEAAwE;IACxE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAA;gBAExB,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE;CAKzD"}
@@ -34,6 +34,10 @@ export declare const StoredVerificationFindingSchema: z.ZodObject<{
34
34
  stdoutTail: z.ZodOptional<z.ZodString>;
35
35
  stderrTail: z.ZodOptional<z.ZodString>;
36
36
  durationMs: z.ZodOptional<z.ZodNumber>;
37
+ _authoredBy: z.ZodOptional<z.ZodEnum<{
38
+ "probe-author": "probe-author";
39
+ "create-story-ac-transfer": "create-story-ac-transfer";
40
+ }>>;
37
41
  }, z.core.$strip>;
38
42
  export type StoredVerificationFinding = z.infer<typeof StoredVerificationFindingSchema>;
39
43
  /**
@@ -64,6 +68,10 @@ export declare const StoredVerificationCheckResultSchema: z.ZodObject<{
64
68
  stdoutTail: z.ZodOptional<z.ZodString>;
65
69
  stderrTail: z.ZodOptional<z.ZodString>;
66
70
  durationMs: z.ZodOptional<z.ZodNumber>;
71
+ _authoredBy: z.ZodOptional<z.ZodEnum<{
72
+ "probe-author": "probe-author";
73
+ "create-story-ac-transfer": "create-story-ac-transfer";
74
+ }>>;
67
75
  }, z.core.$strip>>>;
68
76
  }, z.core.$strip>;
69
77
  export type StoredVerificationCheckResult = z.infer<typeof StoredVerificationCheckResultSchema>;
@@ -73,6 +81,31 @@ export type StoredVerificationCheckResult = z.infer<typeof StoredVerificationChe
73
81
  * Mirrors VerificationSummary from packages/sdlc/src/verification/types.ts
74
82
  * without importing from that module (avoids circular dependency).
75
83
  */
84
+ /**
85
+ * Story 60-15: an operator-added annotation on a verification finding,
86
+ * recording the post-hoc judgment about whether a probe failure was
87
+ * a real defect catch, a false positive, or a probe bug.
88
+ *
89
+ * Persisted under `per_story_state[storyKey].verification_result.annotations[]`.
90
+ * Set via `substrate annotate --story <key> --finding-category <cat>
91
+ * --confirmed-defect|--false-positive|--probe-bug`.
92
+ *
93
+ * Used by `rollupProbeAuthorMetrics` to compute the catch-rate KPI's
94
+ * `confirmed-defect` count: a probe-author probe failure that the
95
+ * operator subsequently confirmed as catching a real defect.
96
+ */
97
+ export declare const StoredVerificationAnnotationSchema: z.ZodObject<{
98
+ findingCategory: z.ZodString;
99
+ judgment: z.ZodEnum<{
100
+ "confirmed-defect": "confirmed-defect";
101
+ "false-positive": "false-positive";
102
+ "probe-bug": "probe-bug";
103
+ }>;
104
+ probeName: z.ZodOptional<z.ZodString>;
105
+ note: z.ZodOptional<z.ZodString>;
106
+ createdAt: z.ZodString;
107
+ }, z.core.$strip>;
108
+ export type StoredVerificationAnnotation = z.infer<typeof StoredVerificationAnnotationSchema>;
76
109
  export declare const StoredVerificationSummarySchema: z.ZodObject<{
77
110
  storyKey: z.ZodString;
78
111
  checks: z.ZodArray<z.ZodObject<{
@@ -97,6 +130,10 @@ export declare const StoredVerificationSummarySchema: z.ZodObject<{
97
130
  stdoutTail: z.ZodOptional<z.ZodString>;
98
131
  stderrTail: z.ZodOptional<z.ZodString>;
99
132
  durationMs: z.ZodOptional<z.ZodNumber>;
133
+ _authoredBy: z.ZodOptional<z.ZodEnum<{
134
+ "probe-author": "probe-author";
135
+ "create-story-ac-transfer": "create-story-ac-transfer";
136
+ }>>;
100
137
  }, z.core.$strip>>>;
101
138
  }, z.core.$strip>>;
102
139
  status: z.ZodEnum<{
@@ -105,6 +142,17 @@ export declare const StoredVerificationSummarySchema: z.ZodObject<{
105
142
  fail: "fail";
106
143
  }>;
107
144
  duration_ms: z.ZodNumber;
145
+ annotations: z.ZodOptional<z.ZodArray<z.ZodObject<{
146
+ findingCategory: z.ZodString;
147
+ judgment: z.ZodEnum<{
148
+ "confirmed-defect": "confirmed-defect";
149
+ "false-positive": "false-positive";
150
+ "probe-bug": "probe-bug";
151
+ }>;
152
+ probeName: z.ZodOptional<z.ZodString>;
153
+ note: z.ZodOptional<z.ZodString>;
154
+ createdAt: z.ZodString;
155
+ }, z.core.$strip>>>;
108
156
  }, z.core.$strip>;
109
157
  export type StoredVerificationSummary = z.infer<typeof StoredVerificationSummarySchema>;
110
158
  //# sourceMappingURL=verification-result.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"verification-result.d.ts","sourceRoot":"","sources":["../../src/run-model/verification-result.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;iBAS1C,CAAA;AAEF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAMvF;;;;;GAKG;AACH,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;iBAiB9C,CAAA;AAEF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAA;AAM/F;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAS1C,CAAA;AAEF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA"}
1
+ {"version":3,"file":"verification-result.d.ts","sourceRoot":"","sources":["../../src/run-model/verification-result.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;iBAqB1C,CAAA;AAEF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAMvF;;;;;GAKG;AACH,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiB9C,CAAA;AAEF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mCAAmC,CAAC,CAAA;AAM/F;;;;;GAKG;AACH;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,kCAAkC;;;;;;;;;;iBAc7C,CAAA;AAEF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAA;AAE7F,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgB1C,CAAA;AAEF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA"}
@@ -33,6 +33,18 @@ export const StoredVerificationFindingSchema = z.object({
33
33
  stdoutTail: z.string().optional(),
34
34
  stderrTail: z.string().optional(),
35
35
  durationMs: z.number().nonnegative().optional(),
36
+ /**
37
+ * Story 60-15: when the finding was generated by a runtime-probe failure,
38
+ * this records who authored the failing probe (`'probe-author'` if the
39
+ * probe-author phase appended it; `'create-story-ac-transfer'` for the
40
+ * legacy create-story AC-transfer path; absent for findings emitted by
41
+ * checks other than runtime-probe-check). Powers the catch-rate KPI's
42
+ * per-author breakdown and confirmed-defect attribution to probe-author.
43
+ *
44
+ * Backward-compat: pre-60-15 manifests have no `_authoredBy` field. The
45
+ * `byAuthor` rollup treats absent as `'create-story-ac-transfer'`.
46
+ */
47
+ _authoredBy: z.enum(['probe-author', 'create-story-ac-transfer']).optional(),
36
48
  });
37
49
  // ---------------------------------------------------------------------------
38
50
  // StoredVerificationCheckResultSchema
@@ -70,6 +82,34 @@ export const StoredVerificationCheckResultSchema = z.object({
70
82
  * Mirrors VerificationSummary from packages/sdlc/src/verification/types.ts
71
83
  * without importing from that module (avoids circular dependency).
72
84
  */
85
+ /**
86
+ * Story 60-15: an operator-added annotation on a verification finding,
87
+ * recording the post-hoc judgment about whether a probe failure was
88
+ * a real defect catch, a false positive, or a probe bug.
89
+ *
90
+ * Persisted under `per_story_state[storyKey].verification_result.annotations[]`.
91
+ * Set via `substrate annotate --story <key> --finding-category <cat>
92
+ * --confirmed-defect|--false-positive|--probe-bug`.
93
+ *
94
+ * Used by `rollupProbeAuthorMetrics` to compute the catch-rate KPI's
95
+ * `confirmed-defect` count: a probe-author probe failure that the
96
+ * operator subsequently confirmed as catching a real defect.
97
+ */
98
+ export const StoredVerificationAnnotationSchema = z.object({
99
+ /** Finding category being annotated (e.g. `runtime-probe-fail`,
100
+ * `runtime-probe-error-response`). */
101
+ findingCategory: z.string(),
102
+ /** The operator's post-hoc judgment on the finding. */
103
+ judgment: z.enum(['confirmed-defect', 'false-positive', 'probe-bug']),
104
+ /** Optional probe name the annotation targets. When set, narrows the
105
+ * annotation to a specific probe within the category (a story may have
106
+ * multiple failing probes in the same category). */
107
+ probeName: z.string().optional(),
108
+ /** Free-form note explaining the judgment. */
109
+ note: z.string().optional(),
110
+ /** ISO timestamp of when the annotation was created. */
111
+ createdAt: z.string(),
112
+ });
73
113
  export const StoredVerificationSummarySchema = z.object({
74
114
  /** Story key that was verified (e.g. '52-7'). */
75
115
  storyKey: z.string(),
@@ -79,5 +119,12 @@ export const StoredVerificationSummarySchema = z.object({
79
119
  status: z.enum(['pass', 'warn', 'fail']),
80
120
  /** Total duration of the verification pipeline run in milliseconds. */
81
121
  duration_ms: z.number().nonnegative(),
122
+ /**
123
+ * Story 60-15: operator-added annotations on verification findings.
124
+ * Optional for backward compatibility with manifests written before
125
+ * `substrate annotate` shipped — pre-60-15 manifests deserialize with
126
+ * `annotations === undefined`.
127
+ */
128
+ annotations: z.array(StoredVerificationAnnotationSchema).optional(),
82
129
  });
83
130
  //# sourceMappingURL=verification-result.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"verification-result.js","sourceRoot":"","sources":["../../src/run-model/verification-result.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,8EAA8E;AAC9E,+CAA+C;AAC/C,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACrC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;CAChD,CAAC,CAAA;AAIF,8EAA8E;AAC9E,sCAAsC;AACtC,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1D,iFAAiF;IACjF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,4BAA4B;IAC5B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,sDAAsD;IACtD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,8CAA8C;IAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE;IACrC;;;;;;OAMG;IACH,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,QAAQ,EAAE;CAC9D,CAAC,CAAA;AAIF,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,iDAAiD;IACjD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,yDAAyD;IACzD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,mCAAmC,CAAC;IACpD,uDAAuD;IACvD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,uEAAuE;IACvE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE;CACtC,CAAC,CAAA"}
1
+ {"version":3,"file":"verification-result.js","sourceRoot":"","sources":["../../src/run-model/verification-result.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,8EAA8E;AAC9E,+CAA+C;AAC/C,8EAA8E;AAE9E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACrC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;IAC/C;;;;;;;;;;OAUG;IACH,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC7E,CAAC,CAAA;AAIF,8EAA8E;AAC9E,sCAAsC;AACtC,8EAA8E;AAE9E;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1D,iFAAiF;IACjF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;IACrB,4BAA4B;IAC5B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,sDAAsD;IACtD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,8CAA8C;IAC9C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE;IACrC;;;;;;OAMG;IACH,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,+BAA+B,CAAC,CAAC,QAAQ,EAAE;CAC9D,CAAC,CAAA;AAIF,8EAA8E;AAC9E,kCAAkC;AAClC,8EAA8E;AAE9E;;;;;GAKG;AACH;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,MAAM,CAAC;IACzD;2CACuC;IACvC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE;IAC3B,uDAAuD;IACvD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;IACrE;;yDAEqD;IACrD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,8CAA8C;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,wDAAwD;IACxD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE;CACtB,CAAC,CAAA;AAIF,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,iDAAiD;IACjD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,yDAAyD;IACzD,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,mCAAmC,CAAC;IACpD,uDAAuD;IACvD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,uEAAuE;IACvE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE;IACrC;;;;;OAKG;IACH,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,QAAQ,EAAE;CACpE,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-probe-check.d.ts","sourceRoot":"","sources":["../../../src/verification/checks/runtime-probe-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EAEnB,kBAAkB,EACnB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,oBAAoB,CAAA;AAqF3B;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAKvE;AAkBD;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;IACnD;wEACoE;IACpE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,WAAW,CAAC,GAAG,SAAS,CAAA;CACjE;AAWD,qBAAa,iBAAkB,YAAW,iBAAiB;IACzD,QAAQ,CAAC,IAAI,oBAAmB;IAChC,QAAQ,CAAC,IAAI,EAAG,GAAG,CAAS;IAE5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;gBAEtC,SAAS,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAOhD,GAAG,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAoKrE"}
1
+ {"version":3,"file":"runtime-probe-check.d.ts","sourceRoot":"","sources":["../../../src/verification/checks/runtime-probe-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EAEnB,kBAAkB,EACnB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAGL,KAAK,WAAW,EAChB,KAAK,YAAY,EAClB,MAAM,oBAAoB,CAAA;AAqF3B;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAKvE;AAkBD;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,WAAW,CAAC,CAAA;IACnD;wEACoE;IACpE,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,WAAW,CAAC,GAAG,SAAS,CAAA;CACjE;AAWD,qBAAa,iBAAkB,YAAW,iBAAiB;IACzD,QAAQ,CAAC,IAAI,oBAAmB;IAChC,QAAQ,CAAC,IAAI,EAAG,GAAG,CAAS;IAE5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;gBAEtC,SAAS,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC;IAOhD,GAAG,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAoLrE"}
@@ -210,16 +210,26 @@ export class RuntimeProbeCheck {
210
210
  if (context.sourceEpicContent !== undefined) {
211
211
  if (detectsEventDrivenAC(context.sourceEpicContent) &&
212
212
  !probesInvokeProductionTrigger(parsed.probes)) {
213
+ // Story 60-16: severity flipped from `warn` to `error` after Epic 60
214
+ // Phase 2's GREEN eval result (4/4 catch rate, v0.20.39). probe-author
215
+ // is now the recommended path for event-driven stories — when a
216
+ // dev-authored probe set fails to invoke any production trigger AND
217
+ // probe-author didn't run (or its probes also skipped the trigger),
218
+ // that's architectural drift, not advisory. Gate becomes blocking.
219
+ // Guidance: probe-author phase produces probes that exercise the
220
+ // production trigger by design; missing-trigger findings should be
221
+ // exceedingly rare on stories where probe-author dispatched.
213
222
  findings.push({
214
223
  category: CATEGORY_MISSING_TRIGGER,
215
- severity: 'warn',
224
+ severity: 'error',
216
225
  message: `source AC describes an event-driven mechanism (hook / timer / signal / webhook) ` +
217
226
  `but no probe's command invokes a known production trigger ` +
218
227
  `(git merge/pull/push, systemctl, crontab, kill -<sig>, curl -X POST, etc.). ` +
219
228
  `Probes that call the implementation directly skip the wiring layer ` +
220
229
  `the AC's user-facing event would exercise — see strata Run 13 / Story 1-12 ` +
221
230
  `for the canonical case (post-merge hook never fires under git's conflict semantic). ` +
222
- `Authoring guidance: probes/event-driven section of create-story.md.`,
231
+ `Authoring guidance: probes/event-driven section of create-story.md, ` +
232
+ `or invoke probe-author to derive AC-grounded probes automatically (Epic 60 Phase 2).`,
223
233
  });
224
234
  }
225
235
  }
@@ -267,6 +277,11 @@ export class RuntimeProbeCheck {
267
277
  else {
268
278
  message = `probe "${probe.name}"${descriptor} failed with exit ${result.exitCode ?? 'unknown'}`;
269
279
  }
280
+ // Story 60-15: copy `_authoredBy` from the probe onto the finding so
281
+ // downstream consumers (rollupProbeAuthorMetrics, byAuthor breakdown
282
+ // in status/metrics CLI) can attribute the failure to its author.
283
+ // Probes without the field default to `'create-story-ac-transfer'`
284
+ // — pre-60-15 manifests + the legacy create-story AC-transfer path.
270
285
  findings.push({
271
286
  category,
272
287
  severity: 'error',
@@ -276,6 +291,7 @@ export class RuntimeProbeCheck {
276
291
  stdoutTail: result.stdoutTail,
277
292
  stderrTail: result.stderrTail,
278
293
  durationMs: result.durationMs,
294
+ _authoredBy: probe._authoredBy ?? 'create-story-ac-transfer',
279
295
  });
280
296
  }
281
297
  const status = findings.some((f) => f.severity === 'error')
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-probe-check.js","sourceRoot":"","sources":["../../../src/verification/checks/runtime-probe-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-probe-check.js","sourceRoot":"","sources":["../../../src/verification/checks/runtime-probe-check.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,16 @@ export interface VerificationFinding {
47
47
  stderrTail?: string;
48
48
  /** Wall-clock milliseconds the producing action took. */
49
49
  durationMs?: number;
50
+ /**
51
+ * Story 60-15: when this finding came from a runtime-probe failure,
52
+ * records who authored the failing probe (`'probe-author'` if Epic 60
53
+ * Phase 2's probe-author phase appended it, `'create-story-ac-transfer'`
54
+ * for the legacy AC-transfer path). Absent for findings from other
55
+ * checks (build, phantom-review, ac-evidence, etc.). Persisted on the
56
+ * stored finding so post-run analysis can compute byAuthor breakdowns
57
+ * and the catch-rate KPI's per-author attribution.
58
+ */
59
+ _authoredBy?: 'probe-author' | 'create-story-ac-transfer';
50
60
  }
51
61
  /**
52
62
  * Render a list of findings into the multi-line human-readable string that
@@ -1 +1 @@
1
- {"version":3,"file":"findings.d.ts","sourceRoot":"","sources":["../../src/verification/findings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH;;;;;;;;GAQG;AACH,MAAM,MAAM,2BAA2B,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;AAEnE;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAA;IAChB,gEAAgE;IAChE,QAAQ,EAAE,2BAA2B,CAAA;IACrC,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAA;IACf,qGAAqG;IACrG,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAYD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAKtE"}
1
+ {"version":3,"file":"findings.d.ts","sourceRoot":"","sources":["../../src/verification/findings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH;;;;;;;;GAQG;AACH,MAAM,MAAM,2BAA2B,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;AAEnE;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAA;IAChB,gEAAgE;IAChE,QAAQ,EAAE,2BAA2B,CAAA;IACrC,0CAA0C;IAC1C,OAAO,EAAE,MAAM,CAAA;IACf,qGAAqG;IACrG,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,cAAc,GAAG,0BAA0B,CAAA;CAC1D;AAYD;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,mBAAmB,EAAE,GAAG,MAAM,CAKtE"}
@@ -1 +1 @@
1
- {"version":3,"file":"findings.js","sourceRoot":"","sources":["../../src/verification/findings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AA4CH,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,eAAe,GAAgD;IACnE,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;CACb,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,QAA+B;IAC5D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACpC,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;SACzE,IAAI,CAAC,IAAI,CAAC,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"findings.js","sourceRoot":"","sources":["../../src/verification/findings.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAsDH,8EAA8E;AAC9E,YAAY;AACZ,8EAA8E;AAE9E,MAAM,eAAe,GAAgD;IACnE,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;CACb,CAAA;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,cAAc,CAAC,QAA+B;IAC5D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACpC,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;SACzE,IAAI,CAAC,IAAI,CAAC,CAAA;AACf,CAAC"}
@@ -69,6 +69,10 @@ export declare const RuntimeProbeSchema: z.ZodObject<{
69
69
  description: z.ZodOptional<z.ZodString>;
70
70
  expect_stdout_no_regex: z.ZodOptional<z.ZodArray<z.ZodString>>;
71
71
  expect_stdout_regex: z.ZodOptional<z.ZodArray<z.ZodString>>;
72
+ _authoredBy: z.ZodOptional<z.ZodEnum<{
73
+ "probe-author": "probe-author";
74
+ "create-story-ac-transfer": "create-story-ac-transfer";
75
+ }>>;
72
76
  }, z.core.$strip>;
73
77
  export type RuntimeProbe = z.infer<typeof RuntimeProbeSchema>;
74
78
  /** Zod schema for the full list (wrapping the per-probe schema). */
@@ -83,6 +87,10 @@ export declare const RuntimeProbeListSchema: z.ZodArray<z.ZodObject<{
83
87
  description: z.ZodOptional<z.ZodString>;
84
88
  expect_stdout_no_regex: z.ZodOptional<z.ZodArray<z.ZodString>>;
85
89
  expect_stdout_regex: z.ZodOptional<z.ZodArray<z.ZodString>>;
90
+ _authoredBy: z.ZodOptional<z.ZodEnum<{
91
+ "probe-author": "probe-author";
92
+ "create-story-ac-transfer": "create-story-ac-transfer";
93
+ }>>;
86
94
  }, z.core.$strip>>;
87
95
  /**
88
96
  * Result of parsing the `## Runtime Probes` section from story markdown.
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/verification/probes/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,yBAAyB;;;EAA2B,CAAA;AACjE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAM3E;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,QAAS,CAAA;AAE9C;uEACuE;AACvE,eAAO,MAAM,gBAAgB,QAAW,CAAA;AAExC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;iBA4B7B,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D,oEAAoE;AACpE,eAAO,MAAM,sBAAsB;;;;;;;;;;;kBAA8B,CAAA;AAMjE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,uBAAuB,GAC/B;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,YAAY,EAAE,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAMtC;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACpC,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;CAChC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/verification/probes/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,yBAAyB;;;EAA2B,CAAA;AACjE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAM3E;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,QAAS,CAAA;AAE9C;uEACuE;AACvE,eAAO,MAAM,gBAAgB,QAAW,CAAA;AAExC;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;iBA0C7B,CAAA;AAEF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAE7D,oEAAoE;AACpE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;kBAA8B,CAAA;AAMjE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,uBAAuB,GAC/B;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAClB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,YAAY,EAAE,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAMtC;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACpC,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B;;;;;;;;;;OAUG;IACH,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;CAChC"}
@@ -88,6 +88,20 @@ export const RuntimeProbeSchema = z.object({
88
88
  * appear in the response).
89
89
  */
90
90
  expect_stdout_regex: z.array(z.string().min(1)).optional(),
91
+ /**
92
+ * Story 60-15: discriminator identifying who authored the probe. Set to
93
+ * `'probe-author'` by `runProbeAuthor` when the probe-author phase
94
+ * appended it to the artifact. Absence (or explicit
95
+ * `'create-story-ac-transfer'`) means the probe was carried over from
96
+ * the create-story AC-transfer step (the legacy path before Epic 60
97
+ * Phase 2). Powers per-author breakdowns in `substrate status`/`metrics`
98
+ * JSON output and the cross-run probe-author catch-rate KPI.
99
+ *
100
+ * Backward-compat: pre-60-15 manifests have no `_authoredBy` field on
101
+ * their stored probes. The byAuthor breakdown treats absent as
102
+ * `'create-story-ac-transfer'`.
103
+ */
104
+ _authoredBy: z.enum(['probe-author', 'create-story-ac-transfer']).optional(),
91
105
  });
92
106
  /** Zod schema for the full list (wrapping the per-probe schema). */
93
107
  export const RuntimeProbeListSchema = z.array(RuntimeProbeSchema);
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/verification/probes/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAE9E;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAGjE,8EAA8E;AAC9E,2CAA2C;AAC3C,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAA;AAE9C;uEACuE;AACvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAA;AAExC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,gFAAgF;IAChF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC;IACjD,2DAA2D;IAC3D,OAAO,EAAE,yBAAyB;IAClC,qFAAqF;IACrF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,2BAA2B,CAAC;IACvD,8EAA8E;IAC9E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClD,yEAAyE;IACzE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC;;;;;;;OAOG;IACH,sBAAsB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7D;;;;;;OAMG;IACH,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC3D,CAAC,CAAA;AAIF,oEAAoE;AACpE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/verification/probes/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,8EAA8E;AAC9E,iCAAiC;AACjC,8EAA8E;AAE9E;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAGjE,8EAA8E;AAC9E,2CAA2C;AAC3C,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAA;AAE9C;uEACuE;AACvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAI,CAAA;AAExC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,gFAAgF;IAChF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC;IACjD,2DAA2D;IAC3D,OAAO,EAAE,yBAAyB;IAClC,qFAAqF;IACrF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,2BAA2B,CAAC;IACvD,8EAA8E;IAC9E,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAClD,yEAAyE;IACzE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC;;;;;;;OAOG;IACH,sBAAsB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC7D;;;;;;OAMG;IACH,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1D;;;;;;;;;;;;OAYG;IACH,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC7E,CAAC,CAAA;AAIF,oEAAoE;AACpE,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA"}
@@ -14,6 +14,28 @@
14
14
  * No LLM calls, no shell execution — pure in-memory literal substring matching.
15
15
  */
16
16
  import type { VerificationCheck, VerificationContext, VerificationResult } from './types.js';
17
+ /**
18
+ * Find all line indices that fall within a negation context. The scope of
19
+ * a single negation context is the line that contains the negation phrase
20
+ * PLUS any markdown indented-continuation lines following it (so a bullet
21
+ * that wraps onto multiple indented lines is treated as one logical unit).
22
+ *
23
+ * The continuation walk stops at the first of: blank line, next markdown
24
+ * bullet (`- `, `* `, numbered list), or any non-indented non-blank line.
25
+ *
26
+ * Coarser scopes (e.g., paragraph-wide aggregation) over-triggered on
27
+ * test fixtures like:
28
+ *
29
+ * The implementation MUST validate input.
30
+ * The system MUST NOT skip authentication.
31
+ * Files SHALL be placed in `src/auth/validator.ts`.
32
+ *
33
+ * — three independent statements wrapped without blank-line separators.
34
+ * The "MUST NOT" on line 2 should not mark the unrelated path on line 3
35
+ * as a negation reference. Only the bullet's CONTINUATION-LINE structure
36
+ * constitutes "the same logical reference unit" as the negation phrase.
37
+ */
38
+ export declare function detectNegationContextLines(lines: string[]): Set<number>;
17
39
  export declare class SourceAcFidelityCheck implements VerificationCheck {
18
40
  readonly name = "source-ac-fidelity";
19
41
  readonly tier: "A";
@@ -1 +1 @@
1
- {"version":3,"file":"source-ac-fidelity-check.d.ts","sourceRoot":"","sources":["../../src/verification/source-ac-fidelity-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EAEnB,kBAAkB,EACnB,MAAM,YAAY,CAAA;AA+enB,qBAAa,qBAAsB,YAAW,iBAAiB;IAC7D,QAAQ,CAAC,IAAI,wBAAuB;IACpC,QAAQ,CAAC,IAAI,EAAG,GAAG,CAAS;IAEtB,GAAG,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA4NrE"}
1
+ {"version":3,"file":"source-ac-fidelity-check.d.ts","sourceRoot":"","sources":["../../src/verification/source-ac-fidelity-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EAEnB,kBAAkB,EACnB,MAAM,YAAY,CAAA;AAkfnB;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,MAAM,CAAC,CA2BvE;AAmED,qBAAa,qBAAsB,YAAW,iBAAiB;IAC7D,QAAQ,CAAC,IAAI,wBAAuB;IACpC,QAAQ,CAAC,IAAI,EAAG,GAAG,CAAS;IAEtB,GAAG,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAsPrE"}
@@ -16,6 +16,7 @@
16
16
  import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
17
17
  import { basename, join } from 'node:path';
18
18
  import { renderFindings } from './findings.js';
19
+ import { detectsEventDrivenAC } from './checks/runtime-probe-check.js';
19
20
  // ---------------------------------------------------------------------------
20
21
  // Path resolution helpers — Story 58-9c
21
22
  // ---------------------------------------------------------------------------
@@ -391,6 +392,103 @@ function computeTakenOptionPerGroup(hardClauses, workingDir) {
391
392
  * 3. The presence of `## Runtime Probes` heading followed by a fenced yaml block
392
393
  * (represented as a single "runtime-probes-section" clause)
393
394
  */
395
+ // ---------------------------------------------------------------------------
396
+ // Negation-context detection (Sprint 21 / obs_2026-04-27_016)
397
+ // ---------------------------------------------------------------------------
398
+ /**
399
+ * Negation phrases that mark a paragraph as "the paths in this paragraph
400
+ * are references the dev should NOT deliver/modify". When any of these
401
+ * phrases appears in a paragraph, every path-clause in that paragraph is
402
+ * tagged `negation: true` so the verification emit routes them to the
403
+ * info-severity `source-ac-negation-reference` finding instead of the
404
+ * under-delivery error path.
405
+ *
406
+ * Strata Run 16 (Story 1-16, 2026-04-27): the AC contained
407
+ *
408
+ * "the existing test scaffolding is documented (NOT replaced):
409
+ * `packages/memory` already uses vitest (Story 1.8+);
410
+ * `packages/memory-mcp` already uses pytest (Story 1.10+); ...
411
+ * 1.16 does NOT replace or rewrite existing test infrastructure."
412
+ *
413
+ * Substrate emitted 6 ERROR-level under-delivery findings on the listed
414
+ * paths; the dev had correctly NOT modified them. The flood of
415
+ * false-positive ERRORs masked a real WARN about the missing `## Runtime
416
+ * Probes` section (which itself would have surfaced two real defects in
417
+ * the delivery). Detecting the negation context up-front separates the
418
+ * legitimate "paths the AC mentions but the dev should not modify" case
419
+ * from genuine under-delivery.
420
+ *
421
+ * Patterns are case-sensitive on the keyword (NOT, MUST NOT, gitignored)
422
+ * because lowercased forms are common in non-imperative prose ("not
423
+ * really" / "must not exceed" appear in unrelated contexts and
424
+ * over-trigger). The strata observation enumerates the canonical forms.
425
+ */
426
+ const NEGATION_PHRASE_PATTERNS = [
427
+ // "(NOT replaced)", "(NOT modified)", "(NOT changed)", etc. — parenthesized NOT
428
+ /\(NOT\s+\w+/,
429
+ // "documented (NOT" — common BMAD phrasing when AC lists references
430
+ /documented\s*\(NOT/i,
431
+ // "MUST NOT", "SHALL NOT" — keyword forms (already tracked as MUST NOT
432
+ // clauses for substring matching, but also marks the paragraph as negation)
433
+ /\bMUST\s+NOT\b|\bSHALL\s+NOT\b/,
434
+ // "does NOT replace", "does NOT modify", "do NOT create", etc. — verb-NOT-verb
435
+ /\bdo(?:es)?\s+NOT\s+\w+/,
436
+ // "deferred to" — common phrasing for paths created by another sprint/story
437
+ /\bdeferred\s+to\b/i,
438
+ // "is gitignored" — explicit indicator the path must NOT live there
439
+ /\b(?:is|are)\s+gitignored\b/i,
440
+ ];
441
+ /**
442
+ * Find all line indices that fall within a negation context. The scope of
443
+ * a single negation context is the line that contains the negation phrase
444
+ * PLUS any markdown indented-continuation lines following it (so a bullet
445
+ * that wraps onto multiple indented lines is treated as one logical unit).
446
+ *
447
+ * The continuation walk stops at the first of: blank line, next markdown
448
+ * bullet (`- `, `* `, numbered list), or any non-indented non-blank line.
449
+ *
450
+ * Coarser scopes (e.g., paragraph-wide aggregation) over-triggered on
451
+ * test fixtures like:
452
+ *
453
+ * The implementation MUST validate input.
454
+ * The system MUST NOT skip authentication.
455
+ * Files SHALL be placed in `src/auth/validator.ts`.
456
+ *
457
+ * — three independent statements wrapped without blank-line separators.
458
+ * The "MUST NOT" on line 2 should not mark the unrelated path on line 3
459
+ * as a negation reference. Only the bullet's CONTINUATION-LINE structure
460
+ * constitutes "the same logical reference unit" as the negation phrase.
461
+ */
462
+ export function detectNegationContextLines(lines) {
463
+ const result = new Set();
464
+ for (let i = 0; i < lines.length; i++) {
465
+ const line = lines[i] ?? '';
466
+ if (NEGATION_PHRASE_PATTERNS.some((pat) => pat.test(line))) {
467
+ result.add(i);
468
+ // Walk forward marking indented continuation lines that belong to
469
+ // the same logical bullet/paragraph element.
470
+ let j = i + 1;
471
+ while (j < lines.length) {
472
+ const next = lines[j] ?? '';
473
+ // Blank line ends the continuation
474
+ if (next.trim() === '')
475
+ break;
476
+ // New bullet ends the continuation
477
+ if (/^\s*(?:-|\*|\d+\.)\s+/.test(next))
478
+ break;
479
+ // Indented non-bullet line is a continuation of the negation line
480
+ if (/^\s+\S/.test(next)) {
481
+ result.add(j);
482
+ j++;
483
+ continue;
484
+ }
485
+ // Non-indented non-blank line is a sibling, not a continuation
486
+ break;
487
+ }
488
+ }
489
+ }
490
+ return result;
491
+ }
394
492
  function extractHardClauses(sectionContent) {
395
493
  const clauses = [];
396
494
  const lines = sectionContent.split('\n');
@@ -400,6 +498,10 @@ function extractHardClauses(sectionContent) {
400
498
  // way to recognize that "(a)'s path missing" is acceptable when "(b)'s
401
499
  // path is satisfied".
402
500
  const alternativeOptions = detectAlternativeOptions(lines);
501
+ // Sprint 21 (obs_2026-04-27_016): detect negation-context paragraphs so
502
+ // path clauses extracted from them can be tagged as references-only.
503
+ // See `detectNegationContextLines` for the heuristic.
504
+ const negationContextLines = detectNegationContextLines(lines);
403
505
  // --- MUST NOT / MUST / SHALL NOT / SHALL lines ---
404
506
  // Word-boundary match, case-sensitive, captures the whole line.
405
507
  // Order matters: MUST NOT before MUST, SHALL NOT before SHALL to avoid double-matching.
@@ -422,12 +524,14 @@ function extractHardClauses(sectionContent) {
422
524
  let pathMatch;
423
525
  while ((pathMatch = pathPattern.exec(line)) !== null) {
424
526
  const alt = findOptionForLine(lineIdx, alternativeOptions);
527
+ const inNegation = negationContextLines.has(lineIdx);
425
528
  clauses.push({
426
529
  type: 'path',
427
530
  // The full backtick-wrapped expression (including backticks) is the clause text
428
531
  // so the literal substring match against storyContent checks the exact same form.
429
532
  text: `\`${pathMatch[1]}\``,
430
533
  ...(alt ? { alternative: alt } : {}),
534
+ ...(inNegation ? { negation: true } : {}),
431
535
  });
432
536
  }
433
537
  }
@@ -515,20 +619,23 @@ export class SourceAcFidelityCheck {
515
619
  // Special handling: check whether the story artifact contains ## Runtime Probes
516
620
  if (!storyContent.includes('## Runtime Probes')) {
517
621
  const truncated = clause.text.length > 120 ? clause.text.slice(0, 120) : clause.text;
622
+ // Sprint 21 (obs_2026-04-27_016 fix-4): when the AC is event-driven,
623
+ // a missing `## Runtime Probes` section is structurally significant —
624
+ // probe-author SHOULD have authored probes for it, and runtime-probes
625
+ // check WILL skip without the section. The strata Run 16 case
626
+ // surfaced this masking pattern: the WARN about missing probes was
627
+ // the only signal that two real defects (missing --dry-run support,
628
+ // JSON dup-echo) would have been caught had probes run. Escalating
629
+ // to error severity makes the gate blocking when probe-authoring is
630
+ // expected; non-event-driven stories continue to get the WARN-level
631
+ // advisory.
632
+ const isEventDrivenAc = detectsEventDrivenAC(context.sourceEpicContent);
518
633
  findings.push({
519
634
  category: 'source-ac-drift',
520
- // Story 58-9: source-ac-fidelity findings are advisory (warn)
521
- // during calibration. Strata observation obs_2026-04-21_004 flagged
522
- // false positives where the dev-produced CODE satisfied the source
523
- // AC but the rendered artifact paraphrased a MUST clause or
524
- // omitted a path string — the substring matcher flagged drift
525
- // that wasn't a real correctness issue. Keeping findings visible
526
- // (in verification_findings.warn counters) but non-blocking until
527
- // the matcher distinguishes architectural drift from stylistic
528
- // paraphrase. Flip back to 'error' once false-positive rate is
529
- // low (see 58-9b: path-in-code cross-reference).
530
- severity: 'warn',
531
- message: `runtime-probes-section: "${truncated}" present in epics source but absent in story artifact`,
635
+ severity: isEventDrivenAc ? 'error' : 'warn',
636
+ message: isEventDrivenAc
637
+ ? `runtime-probes-section: "${truncated}" present in epics source but absent in story artifact AND source AC is event-driven (probes are required for event-driven ACs — runtime-probes check will skip without the section)`
638
+ : `runtime-probes-section: "${truncated}" present in epics source but absent in story artifact`,
532
639
  });
533
640
  }
534
641
  }
@@ -549,6 +656,27 @@ export class SourceAcFidelityCheck {
549
656
  // false positives (like strata 1-7's unquoted `./discover.ts`)
550
657
  // pass through as advisory.
551
658
  if (clause.type === 'path') {
659
+ // Sprint 21 (obs_2026-04-27_016): if this path appeared inside a
660
+ // paragraph carrying a negation phrase ("(NOT replaced)", "MUST
661
+ // NOT", "deferred to", "documented (NOT", "does NOT replace",
662
+ // "is gitignored"), the AC author was referencing the path to
663
+ // tell the dev NOT to deliver it. Emit as info-severity
664
+ // `source-ac-negation-reference` and skip the under-delivery
665
+ // emission. Strata Run 16 / Story 1-16: 6 ERROR findings on
666
+ // paths the AC explicitly directed dev NOT to modify, all
667
+ // false-positives masking a real probes-section WARN.
668
+ if (clause.negation === true) {
669
+ findings.push({
670
+ category: 'source-ac-negation-reference',
671
+ severity: 'info',
672
+ message: `path: "${truncated}" referenced in source AC inside a negation context ` +
673
+ `(e.g., "(NOT replaced)", "MUST NOT", "deferred to", "documented (NOT", ` +
674
+ `"does NOT replace", "is gitignored") — the AC explicitly directed the ` +
675
+ `dev NOT to deliver/modify this path; treated as reference-only, ` +
676
+ `not a deliverable`,
677
+ });
678
+ continue;
679
+ }
552
680
  // Story 60-7: operational-path heuristic. Source ACs frequently
553
681
  // mention runtime install destinations, system paths, or git
554
682
  // internals that the implementation INTERACTS WITH but does not
@@ -1 +1 @@
1
- {"version":3,"file":"source-ac-fidelity-check.js","sourceRoot":"","sources":["../../src/verification/source-ac-fidelity-check.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"source-ac-fidelity-check.js","sourceRoot":"","sources":["../../src/verification/source-ac-fidelity-check.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@substrate-ai/sdlc",
3
- "version": "0.20.39",
3
+ "version": "0.20.41",
4
4
  "type": "module",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -24,7 +24,7 @@
24
24
  "node": ">=22.0.0"
25
25
  },
26
26
  "dependencies": {
27
- "@substrate-ai/core": "0.20.39",
27
+ "@substrate-ai/core": "0.20.41",
28
28
  "js-yaml": "^4.1.1",
29
29
  "zod": "^4.3.6"
30
30
  },