@phamvuhoang/otto-core 0.30.0 → 0.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"report-finalize.js","sourceRoot":"","sources":["../src/report-finalize.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report-finalize.js","sourceRoot":"","sources":["../src/report-finalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EACL,aAAa,GAGd,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,GAAG,0CAA0C,CAAC;AAC/D,MAAM,KAAK,GAAG,SAAS,CAAC;AAwBxB,MAAM,CAAC,MAAM,mCAAmC,GAAG,CAAC,CAAC;AAErD,MAAM,UAAU,gBAAgB,CAAC,WAAmB;IAClD,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACjD,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC;AAC5E,CAAC;AAED,SAAS,YAAY,CAAC,MAAqB;IACzC,OAAO,MAAM;SACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;SACxB,GAAG,CACF,CAAC,CAAC,EAAE,EAAE,CACJ,kBAAkB,CAAC,CAAC,OAAO,SAAS,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC,SAAS,GAAG,CAC3E,CAAC;AACN,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,MAAqB;IAErB,MAAM,OAAO,GAA0B;QACrC,OAAO,EAAE,CAAC;QACV,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,GAAG,EAAE,CAAC;QACN,UAAU,EAAE,CAAC;KACd,CAAC;IACF,IAAI,IAAI,GAAG,KAAK,CAAC;IACjB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,cAAc;YAAE,SAAS;QACpC,IAAI,GAAG,IAAI,CAAC;QACZ,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC;QAChD,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;QAC5C,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC;QAC5C,OAAO,CAAC,GAAG,IAAI,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC;QACxC,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC,cAAc,CAAC,UAAU,CAAC;IACxD,CAAC;IACD,OAAO,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/B,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAqC;IAC7D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,0DAA0D,CAAC;IACpE,CAAC;IACD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC;IAC7C,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QACb,OAAO,6BAA6B,OAAO,CAAC,OAAO,gBAAgB,OAAO,CAAC,KAAK,mEAAmE,CAAC;IACtJ,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,4DAA4D,OAAO,CAAC,KAAK,cAAc,OAAO,CAAC,GAAG,+BAA+B,CAAC;IAC3I,CAAC;IACD,OAAO,sEAAsE,CAAC;AAChF,CAAC;AAED,SAAS,aAAa,CAAC,UAAqC;IAC1D,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3B,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,yDAAyD,CAAC;IACnE,CAAC;IACD,OAAO,wBAAwB,UAAU,CAAC,UAAU,CAAC,MAAM,2DAA2D,CAAC;AACzH,CAAC;AAED,SAAS,kBAAkB,CACzB,MAAc,EACd,aAAqB,EACrB,OAAe;IAEf,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,IAAI,aAAa,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,OAAO,EAC/D,GAAG,CACJ,CAAC;IACF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,CAAC,KAAK;QAAE,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC;IACnE,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAClD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;IACjE,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,OAAO,EAAE,OAAO,OAAO,CAAC,OAAO,EAAE,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC;AACnH,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc,EAAE,QAAqB;IACjE,IAAI,gCAAgC,CAAC,IAAI,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IACjE,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnE,MAAM,OAAO,GAAG;QACd,wBAAwB;QACxB,EAAE;QACF,0DAA0D,IAAI,sIAAsI;KACrM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,kBAAkB,CAAC,MAAM,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,eAAe,CACtB,MAAc,EACd,QAAsC,EACtC,UAAqC;IAErC,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;IACxC,MAAM,SAAS,GAAG,wBAAwB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC;SAC1E,MAAM,CAAC,OAAO,CAAC;SACf,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACf,IAAI,GAAG,GAAG,kBAAkB,CAC1B,MAAM,EACN,kBAAkB,EAClB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC3B,CAAC;IACF,IAAI,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,GAAG,GAAG,kBAAkB,CACtB,GAAG,EACH,4BAA4B,EAC5B;YACE,EAAE;YACF,0BAA0B,UAAU,CAAC,UAAU,CAAC,MAAM,gGAAgG;SACvJ,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,sBAAsB,CAAC,GAA0B;IACxD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,GAAG,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,GAAG,CAAC,OAAO,IAAI,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC;IACvC,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CACR,mCAAmC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/E,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAC/D,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CACR,qCAAqC,QAAQ,CAAC,OAAO,WAAW,QAAQ,CAAC,KAAK,WAAW,QAAQ,CAAC,KAAK,SAAS,QAAQ,CAAC,GAAG,gBAAgB,QAAQ,CAAC,UAAU,GAAG,CACnK,CAAC;IACJ,CAAC;IACD,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3C,KAAK,CAAC,IAAI,CACR,gEAAgE,CACjE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CACR,oCAAoC,GAAG,CAAC,UAAU,CAAC,UAAU;iBAC1D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC;iBACtB,IAAI,CAAC,IAAI,CAAC,GAAG,CACjB,CAAC;QACJ,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,uBAAuB,CAC9B,MAAc,EACd,GAA0B;IAE1B,MAAM,OAAO,GAAG;QACd,uBAAuB;QACvB,EAAE;QACF,GAAG,sBAAsB,CAAC,GAAG,CAAC;KAC/B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,OAAO,IAAI,CAAC;AAC/C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,yBAAyB,CAChC,MAAc,EACd,GAA0B;IAE1B,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC;IACzC,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,mBAAmB,IAAI,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,2EAA2E;QAC3E,8EAA8E;QAC9E,+BAA+B;QAC/B,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,MAAM,CAAC;QAClD,MAAM,WAAW,GACf,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,wCAAwC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1E,MAAM,IAAI,GAAG;YACX,+BAA+B;YAC/B,EAAE;YACF,0FAA0F,WAAW,8FAA8F;SACpM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACb,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;IAC5C,CAAC;IACD,MAAM,OAAO,GAAG;QACd,yBAAyB;QACzB,EAAE;QACF,gLAAgL;QAChL,EAAE;QACF,SAAS;QACT,wBAAwB,CAAC,MAAM,CAAC;QAChC,KAAK;QACL,EAAE;QACF,qEAAqE;QACrE,2EAA2E;QAC3E,6EAA6E;QAC7E,+CAA+C;QAC/C,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC;KAChD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,+EAA+E;IAC/E,0EAA0E;IAC1E,gCAAgC;IAChC,MAAM,MAAM,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,OAAO,IAAI,CAAC;IAC1D,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,MAAM,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;AAC1E,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc;IAC1C,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,IAAI,mCAAmC,CAAC;IAClE,MAAM,KAAK,GAAG;QACZ,4BAA4B;QAC5B,EAAE;QACF,WAAW,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI;QACvC,EAAE;QACF,SAAS;QACT,kBAAkB,CAAC,KAAK,CAAC;QACzB,KAAK;KACN,CAAC;IACF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CACR,EAAE,EACF,+DAA+D,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAC3F,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAA0B;IAC/D,MAAM,QAAQ,GAAG,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,qBAAqB,CAAC;IAC1D,OAAO;QACL,aAAa;QACb,EAAE;QACF,YAAY;QACZ,EAAE;QACF,kIAAkI;QAClI,EAAE;QACF,wBAAwB;QACxB,EAAE;QACF,sCAAsC,IAAI,wEAAwE;QAClH,EAAE;QACF,QAAQ;QACR,EAAE;QACF,8FAA8F;QAC9F,EAAE;QACF,kBAAkB;QAClB,EAAE;QACF,mEAAmE;QACnE,yGAAyG;QACzG,EAAE;QACF,kBAAkB;QAClB,EAAE;QACF,gBAAgB,CAAC,QAAQ,CAAC;QAC1B,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC;YAC3B,kDAAkD;QACpD,EAAE;QACF,4BAA4B;QAC5B,EAAE;QACF,sHAAsH;QACtH,EAAE;QACF,KAAK;QACL,EAAE;QACF,iEAAiE;QACjE,EAAE;QACF,gBAAgB;QAChB,EAAE;QACF,WAAW,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE;QAC9B,aAAa,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,aAAa,EAAE;QACnD,oBAAoB,GAAG,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,EAAE;QACrD,EAAE;QACF,iBAAiB;QACjB,EAAE;QACF,gHAAgH;QAChH,EAAE;QACF,aAAa;QACb,EAAE;QACF,GAAG,sBAAsB,CAAC,GAAG,CAAC;QAC9B,EAAE;QACF,+BAA+B;QAC/B,EAAE;QACF,kCAAkC;QAClC,4CAA4C;QAC5C,6BAA6B;QAC7B,8CAA8C;QAC9C,wCAAwC;QACxC,EAAE;QACF,wBAAwB;QACxB,EAAE;QACF,2CAA2C;QAC3C,2CAA2C;QAC3C,iFAAiF;QACjF,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,UAAyB,EACzB,GAA0B;IAE1B,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,oBAAoB,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC7D,MAAM,QAAQ,GAAG,eAAe,CAC9B,WAAW,EACX,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,EACnC,GAAG,CAAC,UAAU,CACf,CAAC;IACF,MAAM,YAAY,GAAG,uBAAuB,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC5D,MAAM,WAAW,GAAG,yBAAyB,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IACjE,OAAO,oBAAoB,CAAC,WAAW,CAAC,CAAC;AAC3C,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type { AgentRuntimeId } from "./agent-runtime.js";
2
2
  import type { ContextBreakdown } from "./context-report.js";
3
+ import type { VerificationEntry } from "./verification-matrix.js";
3
4
  import type { PolicyViolationKind } from "./safety-policy.js";
4
5
  import type { TaintSource } from "./taint.js";
5
6
  import type { TokenUsage } from "./tokens.js";
@@ -165,6 +166,12 @@ export type RunManifest = {
165
166
  maxScore: number;
166
167
  unknowns: string[];
167
168
  };
169
+ /** Structured verification matrix from a `--verify` run (issue #181 P24);
170
+ * absent outside verify mode or when the stage emitted none. */
171
+ verification?: VerificationEntry[];
172
+ /** Count of malformed matrix rows the parser dropped on a `--verify` run
173
+ * (issue #181 review); absent/0 when the matrix was clean. */
174
+ verificationDropped?: number;
168
175
  startedAt: string;
169
176
  finishedAt?: string;
170
177
  };
@@ -1 +1 @@
1
- {"version":3,"file":"run-report.d.ts","sourceRoot":"","sources":["../src/run-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-report.d.ts","sourceRoot":"","sources":["../src/run-report.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,WAAW,GACnB;IACE,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB,GACD;IACE,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEN;;;;;;;;;GASG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,6EAA6E;IAC7E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,cAAc,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,UAAU,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,6EAA6E;IAC7E,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;IAC1B,sFAAsF;IACtF,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;IACxB,yFAAyF;IACzF,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,uFAAuF;IACvF,cAAc,CAAC,EAAE;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,GAAG,EAAE,MAAM,CAAC;QACZ,UAAU,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE;QAAE,EAAE,EAAE,cAAc,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2CAA2C;IAC3C,UAAU,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,UAAU,CAAC;IACvB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,qFAAqF;IACrF,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,uEAAuE;IACvE,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;IAC1B,gFAAgF;IAChF,SAAS,CAAC,EAAE,SAAS,EAAE,CAAC;IACxB;;kFAE8E;IAC9E,cAAc,CAAC,EAAE;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF;qEACiE;IACjE,YAAY,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACnC;mEAC+D;IAC/D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,IAAI,GAAE,IAAiB,EACvB,GAAG,GAAE,MAAoB,GACxB,MAAM,CAGR;AAID,uEAAuE;AACvE,wBAAgB,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,qEAAqE;AACrE,wBAAgB,YAAY,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAExE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CASzD;AAUD,+DAA+D;AAC/D,wBAAgB,aAAa,CAC3B,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,WAAW,GACpB,IAAI,CAIN;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAC1B,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,GACZ,WAAW,GAAG,IAAI,CAQpB;AAMD;;GAEG;AACH,eAAO,MAAM,aAAa,0BAA0B,CAAC;AAErD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,IAAI,CAQN;AAED,8EAA8E;AAC9E,wBAAgB,aAAa,CAC3B,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,GACZ,MAAM,GAAG,IAAI,CAMf;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,WAAW,GAClB,MAAM,CAOR;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EAAE,GACd,IAAI,CASN;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,GACZ,WAAW,EAAE,CAoBf"}
@@ -1 +1 @@
1
- {"version":3,"file":"run-report.js","sourceRoot":"","sources":["../src/run-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-report.js","sourceRoot":"","sources":["../src/run-report.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Verification evidence validation + relocation (issue #181 P24, re-review).
3
+ *
4
+ * The pure {@link isValidArtifactReference} checks an artifact reference's *shape*
5
+ * only. This impure layer, run at finalize against the real workspace + git,
6
+ * answers whether the cited proof actually **exists** — a source `file:line` whose
7
+ * file is present and whose line is in bounds, or a commit SHA present in git —
8
+ * and **relocates** scratch file artifacts (screenshots, transcripts the verify
9
+ * stage wrote under `.otto-tmp/`) into the durable run bundle with bundle-relative
10
+ * paths. Both close re-review gaps: agent-cited proof that doesn't exist no longer
11
+ * earns coverage, and a malicious/absolute/`..` path can neither be counted nor
12
+ * copied out of the workspace.
13
+ *
14
+ * INERT outside a `--verify` finalize; pure-ish (fs reads + copies into the
15
+ * bundle, git injected for testability).
16
+ */
17
+ import { type VerificationEntry } from "./verification-matrix.js";
18
+ export type EvidenceDeps = {
19
+ /** Whether a commit SHA exists in the repo (e.g. `git.commitExists(workspaceDir, …)`). */
20
+ commitExists: (sha: string) => boolean;
21
+ };
22
+ /**
23
+ * Whether an artifact reference points to evidence that actually exists: a commit
24
+ * SHA present in git, or a file inside the workspace whose cited line range is in
25
+ * bounds. Syntactically-invalid refs / URLs / traversal are rejected first.
26
+ */
27
+ export declare function artifactReferenceExists(ref: string, workspaceDir: string, deps: EvidenceDeps): boolean;
28
+ /**
29
+ * Validate every entry's artifact against the filesystem/git (setting
30
+ * `artifactExists`), and relocate any **scratch file** artifact (a plain path,
31
+ * inside the workspace, that is not a `file:line`/SHA reference) into the run
32
+ * bundle at `.otto/runs/<run-id>/verification/` with a bundle-relative path, so
33
+ * the persisted report's links resolve and the files are durable. Source
34
+ * `file:line` references and commit SHAs are durable already and left untouched;
35
+ * a path that escapes the workspace is neither counted nor copied.
36
+ */
37
+ export declare function validateVerificationEvidence(entries: VerificationEntry[], opts: {
38
+ workspaceDir: string;
39
+ runId: string;
40
+ } & EvidenceDeps): VerificationEntry[];
41
+ //# sourceMappingURL=verification-evidence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification-evidence.d.ts","sourceRoot":"","sources":["../src/verification-evidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAaH,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,0BAA0B,CAAC;AAKlC,MAAM,MAAM,YAAY,GAAG;IACzB,0FAA0F;IAC1F,YAAY,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CACxC,CAAC;AA+BF;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,YAAY,GACjB,OAAO,CAqBT;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,iBAAiB,EAAE,EAC5B,IAAI,EAAE;IAAE,YAAY,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,YAAY,GAC3D,iBAAiB,EAAE,CAsFrB"}
@@ -0,0 +1,184 @@
1
+ /**
2
+ * Verification evidence validation + relocation (issue #181 P24, re-review).
3
+ *
4
+ * The pure {@link isValidArtifactReference} checks an artifact reference's *shape*
5
+ * only. This impure layer, run at finalize against the real workspace + git,
6
+ * answers whether the cited proof actually **exists** — a source `file:line` whose
7
+ * file is present and whose line is in bounds, or a commit SHA present in git —
8
+ * and **relocates** scratch file artifacts (screenshots, transcripts the verify
9
+ * stage wrote under `.otto-tmp/`) into the durable run bundle with bundle-relative
10
+ * paths. Both close re-review gaps: agent-cited proof that doesn't exist no longer
11
+ * earns coverage, and a malicious/absolute/`..` path can neither be counted nor
12
+ * copied out of the workspace.
13
+ *
14
+ * INERT outside a `--verify` finalize; pure-ish (fs reads + copies into the
15
+ * bundle, git injected for testability).
16
+ */
17
+ import { copyFileSync, lstatSync, mkdirSync, readFileSync, realpathSync, statSync, } from "node:fs";
18
+ import { basename, isAbsolute, join, sep } from "node:path";
19
+ import { runReportDir } from "./run-report.js";
20
+ import { BUNDLE_ARTIFACT_PREFIX, isValidArtifactReference, } from "./verification-matrix.js";
21
+ const SHA_RE = /^[0-9a-f]{7,40}$/i;
22
+ const FILE_LINE_RE = /^(.+?):(\d+)(?:-(\d+))?$/;
23
+ /**
24
+ * Real on-disk path of `file` iff it resolves to a regular file **inside** the
25
+ * workspace — rejecting `..` traversal, absolute escapes, and symlinks that point
26
+ * outside (realpath is compared against the workspace's realpath). Null otherwise.
27
+ */
28
+ function safeWorkspaceFile(file, workspaceDir) {
29
+ if (/(?:^|[\\/])\.\.(?:[\\/]|$)/.test(file))
30
+ return null; // traversal
31
+ const abs = isAbsolute(file) ? file : join(workspaceDir, file);
32
+ let realWs;
33
+ let real;
34
+ try {
35
+ realWs = realpathSync(workspaceDir);
36
+ }
37
+ catch {
38
+ return null;
39
+ }
40
+ try {
41
+ real = realpathSync(abs);
42
+ }
43
+ catch {
44
+ return null; // does not exist
45
+ }
46
+ if (real !== realWs && !real.startsWith(realWs + sep))
47
+ return null; // escaped
48
+ try {
49
+ if (!statSync(real).isFile())
50
+ return null;
51
+ }
52
+ catch {
53
+ return null;
54
+ }
55
+ return real;
56
+ }
57
+ /**
58
+ * Whether an artifact reference points to evidence that actually exists: a commit
59
+ * SHA present in git, or a file inside the workspace whose cited line range is in
60
+ * bounds. Syntactically-invalid refs / URLs / traversal are rejected first.
61
+ */
62
+ export function artifactReferenceExists(ref, workspaceDir, deps) {
63
+ const r = ref.trim();
64
+ if (!isValidArtifactReference(r))
65
+ return false;
66
+ if (SHA_RE.test(r))
67
+ return deps.commitExists(r);
68
+ const m = FILE_LINE_RE.exec(r);
69
+ const file = m ? m[1] : r;
70
+ const real = safeWorkspaceFile(file, workspaceDir);
71
+ if (!real)
72
+ return false;
73
+ if (m) {
74
+ const start = Number(m[2]);
75
+ const end = m[3] ? Number(m[3]) : start;
76
+ if (start < 1 || end < start)
77
+ return false;
78
+ let lineCount;
79
+ try {
80
+ lineCount = readFileSync(real, "utf8").split("\n").length;
81
+ }
82
+ catch {
83
+ return false;
84
+ }
85
+ if (end > lineCount)
86
+ return false;
87
+ }
88
+ return true;
89
+ }
90
+ /**
91
+ * Validate every entry's artifact against the filesystem/git (setting
92
+ * `artifactExists`), and relocate any **scratch file** artifact (a plain path,
93
+ * inside the workspace, that is not a `file:line`/SHA reference) into the run
94
+ * bundle at `.otto/runs/<run-id>/verification/` with a bundle-relative path, so
95
+ * the persisted report's links resolve and the files are durable. Source
96
+ * `file:line` references and commit SHAs are durable already and left untouched;
97
+ * a path that escapes the workspace is neither counted nor copied.
98
+ */
99
+ export function validateVerificationEvidence(entries, opts) {
100
+ const { workspaceDir, runId, commitExists } = opts;
101
+ let counter = 0;
102
+ let scratchRoot = null;
103
+ try {
104
+ scratchRoot = realpathSync(join(workspaceDir, ".otto-tmp"));
105
+ }
106
+ catch {
107
+ scratchRoot = null; // no scratch dir ⇒ nothing to relocate
108
+ }
109
+ // The physical run-bundle verification dir. Ensure the bundle dir exists, then
110
+ // realpath it (stripping any symlinks ABOVE it) and require it to stay inside
111
+ // the workspace; the copy destination is then this exact physical dir, and the
112
+ // `verification/` component itself must not be a symlink (checked per copy).
113
+ let destDir = null;
114
+ try {
115
+ const bundlePath = runReportDir(workspaceDir, runId);
116
+ mkdirSync(bundlePath, { recursive: true });
117
+ const bundleReal = realpathSync(bundlePath);
118
+ const wsReal = realpathSync(workspaceDir);
119
+ if (bundleReal === wsReal || bundleReal.startsWith(wsReal + sep)) {
120
+ destDir = join(bundleReal, "verification");
121
+ }
122
+ }
123
+ catch {
124
+ destDir = null;
125
+ }
126
+ const relocateScratch = (p) => {
127
+ const keep = { path: p, bundled: false };
128
+ if (FILE_LINE_RE.test(p) || SHA_RE.test(p))
129
+ return keep; // a reference, not a file
130
+ const real = safeWorkspaceFile(p, workspaceDir);
131
+ // Only relocate scratch artifacts the verify stage wrote under `.otto-tmp/`
132
+ // — never an arbitrary in-repo or host file (#181 re-review).
133
+ if (!real ||
134
+ !destDir ||
135
+ !scratchRoot ||
136
+ (real !== scratchRoot && !real.startsWith(scratchRoot + sep))) {
137
+ return keep;
138
+ }
139
+ try {
140
+ mkdirSync(destDir, { recursive: true });
141
+ // The destination must be the *physical* bundle verification dir: reject a
142
+ // symlinked `verification/` (which could redirect the copy into a source
143
+ // dir even while staying inside the workspace) by requiring its realpath to
144
+ // equal the path itself (#181 boundary review).
145
+ if (lstatSync(destDir).isSymbolicLink())
146
+ return keep;
147
+ if (realpathSync(destDir) !== destDir)
148
+ return keep;
149
+ const safe = `${counter++}-${basename(p)}`
150
+ .replace(/[^\w.-]+/g, "-")
151
+ .slice(0, 100);
152
+ const target = join(destDir, safe);
153
+ // Reject a pre-existing symlink at the target — copyFileSync would follow it.
154
+ try {
155
+ if (lstatSync(target).isSymbolicLink())
156
+ return keep;
157
+ }
158
+ catch {
159
+ // absent target is the expected case
160
+ }
161
+ copyFileSync(real, target);
162
+ return { path: `${BUNDLE_ARTIFACT_PREFIX}${safe}`, bundled: true };
163
+ }
164
+ catch {
165
+ return keep; // best-effort: never fail finalize over a copy
166
+ }
167
+ };
168
+ return entries.map((e) => {
169
+ const next = { ...e };
170
+ if (e.artifactPath !== undefined) {
171
+ next.artifactExists = artifactReferenceExists(e.artifactPath, workspaceDir, { commitExists });
172
+ const r = relocateScratch(e.artifactPath);
173
+ next.artifactPath = r.path;
174
+ next.artifactBundled = r.bundled;
175
+ }
176
+ if (e.beforePath !== undefined) {
177
+ const r = relocateScratch(e.beforePath);
178
+ next.beforePath = r.path;
179
+ next.beforeBundled = r.bundled;
180
+ }
181
+ return next;
182
+ });
183
+ }
184
+ //# sourceMappingURL=verification-evidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification-evidence.js","sourceRoot":"","sources":["../src/verification-evidence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,159 @@
1
+ /**
2
+ * Verification matrix (issue #181 P24, slice 1 — "make verification provable").
3
+ *
4
+ * A pure data model + scorer for the roadmap's verification-artifact matrix:
5
+ * each requirement (a plan task / acceptance criterion) paired with HOW it was
6
+ * checked, the concrete artifact that proves it (a `file:line`, a commit SHA, a
7
+ * command transcript, a screenshot path), the result, and a confidence. Today
8
+ * the `verify` stage emits this as free-form DONE/GAP/DEFERRED prose; P24 turns
9
+ * it into a structured matrix a maintainer can scan, and a "verification
10
+ * gallery" a non-engineer can accept/reject from.
11
+ *
12
+ * This slice is the substrate — the type, a summary scorer (counts, artifact
13
+ * coverage, an overall verdict), and a formatter that renders the matrix and
14
+ * surfaces failures / unproven requirements as explicit risks rather than
15
+ * burying them in logs. INERT on the loop: nothing here runs a stage or changes
16
+ * behavior; later P24 slices populate it from the verify stage and fold it into
17
+ * run reports + `otto-inspect`. Mirrors how the plan/context/report rubrics
18
+ * shipped pure-then-wired.
19
+ */
20
+ /** How a requirement was checked. */
21
+ export type VerificationMethod = "test" | "command" | "visual" | "inspection" | "manual";
22
+ /** The outcome of checking a requirement. */
23
+ export type VerificationResult = "pass" | "fail" | "partial" | "deferred";
24
+ /** How much the evidence supports the result. */
25
+ export type VerificationConfidence = "high" | "medium" | "low";
26
+ /** One row of the verification matrix: a requirement and how it was proven. */
27
+ export type VerificationEntry = {
28
+ /** The requirement / plan task / acceptance criterion being verified. */
29
+ requirement: string;
30
+ method: VerificationMethod;
31
+ /** The concrete check: the command run, the assertion, or the visual checked. */
32
+ check: string;
33
+ /** Pointer to the proving artifact: `file:line`, a commit SHA, a transcript or
34
+ * screenshot path. Absent ⇒ the requirement is asserted but not artifact-backed.
35
+ * For a `visual` before/after entry this is the **after** screenshot. */
36
+ artifactPath?: string;
37
+ /** For a `visual` entry, the optional **before** screenshot path, paired with
38
+ * `artifactPath` (the after) for a before/after comparison. */
39
+ beforePath?: string;
40
+ /** Set by the loop's filesystem/git validation (issue #181 re-review): whether
41
+ * `artifactPath` actually resolves to an existing file (with in-bounds line)
42
+ * or a commit present in git. `false` ⇒ the cited proof does not exist and the
43
+ * requirement is not counted as covered. Never read from agent JSON. */
44
+ artifactExists?: boolean;
45
+ /** Set true ONLY by the impure layer when `artifactPath` was actually copied
46
+ * into the physical run bundle (issue #181 boundary review). Embedding trusts
47
+ * this flag, not a string prefix the agent could spoof. Never read from agent JSON. */
48
+ artifactBundled?: boolean;
49
+ /** Set true ONLY by the impure layer when `beforePath` was copied into the
50
+ * physical run bundle. Never read from agent JSON. */
51
+ beforeBundled?: boolean;
52
+ result: VerificationResult;
53
+ confidence: VerificationConfidence;
54
+ note?: string;
55
+ };
56
+ /**
57
+ * Whether a string is a *typed*, durable artifact reference that actually proves
58
+ * something — a `file:line` (or `file:line-range`), a path with a separator or a
59
+ * file extension (a transcript / screenshot / source file), or a 7–40 char commit
60
+ * SHA. A bare command (`node --test`), prose (`read the code`), or a placeholder
61
+ * (`TODO`) is NOT proof and returns false, so the coverage signal can't be earned
62
+ * by an unverifiable string (#181 review). Pure.
63
+ */
64
+ export declare function isValidArtifactReference(ref: string): boolean;
65
+ export type VerificationParseResult = {
66
+ /** Valid entries kept. */
67
+ entries: VerificationEntry[];
68
+ /** Rows present in the JSON array that were rejected as malformed. */
69
+ dropped: number;
70
+ /** False when the input was not parseable JSON or not an array. */
71
+ parsed: boolean;
72
+ };
73
+ /**
74
+ * Parse an agent-emitted verification matrix (a JSON `VerificationEntry[]`,
75
+ * e.g. the `.otto-tmp/verify-matrix.json` the verify stage writes), keeping the
76
+ * parse diagnostics so a malformed/partial matrix is reported, not silently
77
+ * dropped (#181 review). Tolerant: never throws, drops any entry missing a
78
+ * non-empty `requirement` or carrying an unknown `method`/`result`, defaults an
79
+ * absent/invalid `confidence` to `medium`, and counts each dropped row. Non-array
80
+ * / malformed JSON ⇒ `{ entries: [], dropped: 0, parsed: false }`. Pure.
81
+ */
82
+ export declare function parseVerificationMatrixWithDiagnostics(raw: string): VerificationParseResult;
83
+ /** Parse a verification matrix into valid entries (diagnostics discarded). Pure. */
84
+ export declare function parseVerificationMatrix(raw: string): VerificationEntry[];
85
+ export type VerificationSummary = {
86
+ total: number;
87
+ pass: number;
88
+ fail: number;
89
+ partial: number;
90
+ deferred: number;
91
+ /** Entries carrying a concrete artifact path. */
92
+ withArtifact: number;
93
+ /** Artifact-backed share of the *verifiable* (non-deferred) requirements, 0..1. */
94
+ coverage: number;
95
+ /**
96
+ * Overall verdict:
97
+ * - `empty` — nothing to verify.
98
+ * - `gaps` — at least one requirement failed.
99
+ * - `unproven` — no failures, but no verifiable requirement is artifact-backed.
100
+ * - `partial` — no failures, some but not all verifiable requirements proven.
101
+ * - `verified` — no failures and every verifiable requirement is artifact-backed.
102
+ */
103
+ verdict: "empty" | "gaps" | "unproven" | "partial" | "verified";
104
+ };
105
+ /** Tally a verification matrix into counts, artifact coverage, and a verdict. Pure. */
106
+ export declare function summarizeVerification(entries: VerificationEntry[]): VerificationSummary;
107
+ export type VerificationCoverageGate = {
108
+ /** True iff no requirement failed, every verifiable one is artifact-backed, and
109
+ * no matrix rows were dropped during parsing. */
110
+ passed: boolean;
111
+ /** Artifact-backed share of the verifiable requirements, 0..1. */
112
+ coverage: number;
113
+ /** Verifiable requirements asserted without a valid proving artifact. */
114
+ unproven: string[];
115
+ /** Requirements that failed verification. */
116
+ failed: string[];
117
+ /** Requirements left `partial` — checked but not fully passing. */
118
+ incomplete: string[];
119
+ /** Malformed matrix rows dropped during parsing — unknown, unverified requirements. */
120
+ dropped: number;
121
+ };
122
+ /**
123
+ * Score a verification matrix against the roadmap's coverage bar (P24): every
124
+ * verifiable requirement must carry a valid artifact, none may fail, none may be
125
+ * left partial, and no rows may have been dropped during parsing. `dropped` rows
126
+ * are unknown requirements that cannot be assumed proven, so any drop FAILs the
127
+ * gate (#181 re-review). The `unproven`/`failed`/`incomplete` lists + `dropped`
128
+ * are exactly why the gate did not pass. Pure.
129
+ */
130
+ export declare function scoreVerificationCoverage(entries: VerificationEntry[], dropped?: number): VerificationCoverageGate;
131
+ /**
132
+ * Render the verification-coverage gate as a report block (mirrors the emit-time
133
+ * legibility gate): a PASS/FAIL verdict, the artifact-backed coverage, and — on
134
+ * FAIL — the unproven/failed requirements plus how to clear them. Empty string
135
+ * for an empty matrix, so a run with no verification adds no gate. Pure.
136
+ */
137
+ export declare function formatVerificationCoverageGate(entries: VerificationEntry[], dropped?: number): string;
138
+ /** Path prefix of artifacts relocated into the run bundle (see
139
+ * `verification-evidence.ts`); only these resolve relative to report.md. */
140
+ export declare const BUNDLE_ARTIFACT_PREFIX = "verification/";
141
+ /**
142
+ * Render the visual evidence (P24 visual half) as a markdown "Screenshot
143
+ * Evidence" section that *embeds* each `visual` entry's captured screenshot —
144
+ * a single image, or a before → after pair — so a non-engineer reading the run
145
+ * report sees the proof, not just a path. Only artifacts the impure layer actually
146
+ * **copied into the bundle** (`artifactBundled`/`beforeBundled`) and that are
147
+ * images are embedded; a visual check the environment could not render, or any
148
+ * unbundled/spoofed path, is left to the coverage gate to flag, never emitted as
149
+ * an image. Empty string when no embeddable visual evidence exists. Pure.
150
+ */
151
+ export declare function formatVisualEvidence(entries: VerificationEntry[]): string;
152
+ /**
153
+ * Render a verification matrix as a scannable report: a header verdict line, one
154
+ * row per requirement (mark · method · requirement · artifact), and an explicit
155
+ * **Risks** section listing every failed or unproven requirement so a reader
156
+ * cannot miss them. Pure.
157
+ */
158
+ export declare function formatVerificationMatrix(entries: VerificationEntry[]): string;
159
+ //# sourceMappingURL=verification-matrix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verification-matrix.d.ts","sourceRoot":"","sources":["../src/verification-matrix.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,qCAAqC;AACrC,MAAM,MAAM,kBAAkB,GAC1B,MAAM,GACN,SAAS,GACT,QAAQ,GACR,YAAY,GACZ,QAAQ,CAAC;AAEb,6CAA6C;AAC7C,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;AAE1E,iDAAiD;AACjD,MAAM,MAAM,sBAAsB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAE/D,+EAA+E;AAC/E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,yEAAyE;IACzE,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,iFAAiF;IACjF,KAAK,EAAE,MAAM,CAAC;IACd;;8EAE0E;IAC1E,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;oEACgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;6EAGyE;IACzE,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;4FAEwF;IACxF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;2DACuD;IACvD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,UAAU,EAAE,sBAAsB,CAAC;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAiBF;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAS7D;AAiBD,MAAM,MAAM,uBAAuB,GAAG;IACpC,0BAA0B;IAC1B,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,sEAAsE;IACtE,OAAO,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,sCAAsC,CACpD,GAAG,EAAE,MAAM,GACV,uBAAuB,CAgBzB;AA8BD,oFAAoF;AACpF,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAExE;AAOD,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;OAOG;IACH,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;CACjE,CAAC;AAEF,uFAAuF;AACvF,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,iBAAiB,EAAE,GAC3B,mBAAmB,CAqCrB;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC;sDACkD;IAClD,MAAM,EAAE,OAAO,CAAC;IAChB,kEAAkE;IAClE,QAAQ,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,mEAAmE;IACnE,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,uFAAuF;IACvF,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,iBAAiB,EAAE,EAC5B,OAAO,SAAI,GACV,wBAAwB,CAgB1B;AAED;;;;;GAKG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,iBAAiB,EAAE,EAC5B,OAAO,SAAI,GACV,MAAM,CA6CR;AAED;6EAC6E;AAC7E,eAAO,MAAM,sBAAsB,kBAAkB,CAAC;AAsBtD;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAmBzE;AAiBD;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAoC7E"}