@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.
- package/dist/run-model/index.d.ts +4 -2
- package/dist/run-model/index.d.ts.map +1 -1
- package/dist/run-model/index.js +4 -1
- package/dist/run-model/index.js.map +1 -1
- package/dist/run-model/per-story-state.d.ts +15 -0
- package/dist/run-model/per-story-state.d.ts.map +1 -1
- package/dist/run-model/probe-author-metrics.d.ts +113 -0
- package/dist/run-model/probe-author-metrics.d.ts.map +1 -0
- package/dist/run-model/probe-author-metrics.js +162 -0
- package/dist/run-model/probe-author-metrics.js.map +1 -0
- package/dist/run-model/schemas.d.ts +15 -0
- package/dist/run-model/schemas.d.ts.map +1 -1
- package/dist/run-model/verification-result.d.ts +48 -0
- package/dist/run-model/verification-result.d.ts.map +1 -1
- package/dist/run-model/verification-result.js +47 -0
- package/dist/run-model/verification-result.js.map +1 -1
- package/dist/verification/checks/runtime-probe-check.d.ts.map +1 -1
- package/dist/verification/checks/runtime-probe-check.js +18 -2
- package/dist/verification/checks/runtime-probe-check.js.map +1 -1
- package/dist/verification/findings.d.ts +10 -0
- package/dist/verification/findings.d.ts.map +1 -1
- package/dist/verification/findings.js.map +1 -1
- package/dist/verification/probes/types.d.ts +8 -0
- package/dist/verification/probes/types.d.ts.map +1 -1
- package/dist/verification/probes/types.js +14 -0
- package/dist/verification/probes/types.js.map +1 -1
- package/dist/verification/source-ac-fidelity-check.d.ts +22 -0
- package/dist/verification/source-ac-fidelity-check.d.ts.map +1 -1
- package/dist/verification/source-ac-fidelity-check.js +140 -12
- package/dist/verification/source-ac-fidelity-check.js.map +1 -1
- 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;
|
|
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"}
|
package/dist/run-model/index.js
CHANGED
|
@@ -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
|
-
|
|
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,
|
|
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
|
|
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":"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"}
|
|
@@ -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
|
|
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
|
|
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;
|
|
1
|
+
{"version":3,"file":"verification-result.js","sourceRoot":"","sources":["../../src/run-model/verification-result.ts"],"names":[],"mappings":"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"}
|
|
@@ -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;
|
|
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: '
|
|
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;
|
|
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;
|
|
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
|
|
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;
|
|
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;
|
|
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
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
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.
|
|
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.
|
|
27
|
+
"@substrate-ai/core": "0.20.41",
|
|
28
28
|
"js-yaml": "^4.1.1",
|
|
29
29
|
"zod": "^4.3.6"
|
|
30
30
|
},
|