@phamvuhoang/otto-core 0.32.0 → 0.33.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.
Files changed (44) hide show
  1. package/dist/compression-survival.d.ts +46 -0
  2. package/dist/compression-survival.d.ts.map +1 -0
  3. package/dist/compression-survival.js +81 -0
  4. package/dist/compression-survival.js.map +1 -0
  5. package/dist/context-compressor.d.ts +9 -0
  6. package/dist/context-compressor.d.ts.map +1 -1
  7. package/dist/context-compressor.js +30 -0
  8. package/dist/context-compressor.js.map +1 -1
  9. package/dist/index.d.ts +3 -2
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +3 -2
  12. package/dist/index.js.map +1 -1
  13. package/dist/inspect.d.ts.map +1 -1
  14. package/dist/inspect.js +1 -1
  15. package/dist/inspect.js.map +1 -1
  16. package/dist/loop.d.ts.map +1 -1
  17. package/dist/loop.js +18 -2
  18. package/dist/loop.js.map +1 -1
  19. package/dist/plan-rubric.d.ts +1 -1
  20. package/dist/plan-rubric.d.ts.map +1 -1
  21. package/dist/plan-rubric.js +19 -0
  22. package/dist/plan-rubric.js.map +1 -1
  23. package/dist/report-finalize.d.ts.map +1 -1
  24. package/dist/report-finalize.js +4 -3
  25. package/dist/report-finalize.js.map +1 -1
  26. package/dist/run-bin.d.ts.map +1 -1
  27. package/dist/run-bin.js +5 -0
  28. package/dist/run-bin.js.map +1 -1
  29. package/dist/run-report.d.ts +4 -1
  30. package/dist/run-report.d.ts.map +1 -1
  31. package/dist/run-report.js.map +1 -1
  32. package/dist/stage-exec.d.ts.map +1 -1
  33. package/dist/stage-exec.js +5 -1
  34. package/dist/stage-exec.js.map +1 -1
  35. package/dist/verification-evidence.d.ts +4 -0
  36. package/dist/verification-evidence.d.ts.map +1 -1
  37. package/dist/verification-evidence.js +33 -4
  38. package/dist/verification-evidence.js.map +1 -1
  39. package/dist/verification-matrix.d.ts +31 -4
  40. package/dist/verification-matrix.d.ts.map +1 -1
  41. package/dist/verification-matrix.js +44 -5
  42. package/dist/verification-matrix.js.map +1 -1
  43. package/package.json +1 -1
  44. package/templates/plan.md +5 -0
@@ -1 +1 @@
1
- {"version":3,"file":"stage-exec.js","sourceRoot":"","sources":["../src/stage-exec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stage-exec.js","sourceRoot":"","sources":["../src/stage-exec.ts"],"names":[],"mappings":"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"}
@@ -37,5 +37,9 @@ export declare function artifactReferenceExists(ref: string, workspaceDir: strin
37
37
  export declare function validateVerificationEvidence(entries: VerificationEntry[], opts: {
38
38
  workspaceDir: string;
39
39
  runId: string;
40
+ /** Run start (epoch ms). When set, a scratch artifact whose mtime predates it
41
+ * was produced by a PRIOR run and is rejected — neither counted as proof nor
42
+ * relocated into this run's bundle (issue #201). */
43
+ startedAtMs?: number;
40
44
  } & EvidenceDeps): VerificationEntry[];
41
45
  //# sourceMappingURL=verification-evidence.d.ts.map
@@ -1 +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"}
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;IACJ,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd;;yDAEqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,YAAY,GACf,iBAAiB,EAAE,CAgHrB"}
@@ -97,7 +97,7 @@ export function artifactReferenceExists(ref, workspaceDir, deps) {
97
97
  * a path that escapes the workspace is neither counted nor copied.
98
98
  */
99
99
  export function validateVerificationEvidence(entries, opts) {
100
- const { workspaceDir, runId, commitExists } = opts;
100
+ const { workspaceDir, runId, startedAtMs, commitExists } = opts;
101
101
  let counter = 0;
102
102
  let scratchRoot = null;
103
103
  try {
@@ -123,17 +123,43 @@ export function validateVerificationEvidence(entries, opts) {
123
123
  catch {
124
124
  destDir = null;
125
125
  }
126
+ // A scratch file that predates the run start was produced by a prior run —
127
+ // citing it as this run's proof is fabrication, so it is rejected (#201).
128
+ const staleScratch = (real) => {
129
+ if (startedAtMs === undefined)
130
+ return false;
131
+ if (!scratchRoot ||
132
+ (real !== scratchRoot && !real.startsWith(scratchRoot + sep))) {
133
+ return false; // not a scratch file — durable references have no run age
134
+ }
135
+ try {
136
+ return statSync(real).mtimeMs < startedAtMs;
137
+ }
138
+ catch {
139
+ return true; // unreadable scratch file cannot prove anything
140
+ }
141
+ };
142
+ // Whether a plain scratch-path artifact is stale (never true for `file:line`
143
+ // or SHA references, which are durable by construction).
144
+ const staleScratchRef = (p) => {
145
+ if (FILE_LINE_RE.test(p) || SHA_RE.test(p))
146
+ return false;
147
+ const real = safeWorkspaceFile(p, workspaceDir);
148
+ return real !== null && staleScratch(real);
149
+ };
126
150
  const relocateScratch = (p) => {
127
151
  const keep = { path: p, bundled: false };
128
152
  if (FILE_LINE_RE.test(p) || SHA_RE.test(p))
129
153
  return keep; // a reference, not a file
130
154
  const real = safeWorkspaceFile(p, workspaceDir);
131
155
  // Only relocate scratch artifacts the verify stage wrote under `.otto-tmp/`
132
- // — never an arbitrary in-repo or host file (#181 re-review).
156
+ // — never an arbitrary in-repo or host file (#181 re-review) and never one
157
+ // left over from a previous run (#201).
133
158
  if (!real ||
134
159
  !destDir ||
135
160
  !scratchRoot ||
136
- (real !== scratchRoot && !real.startsWith(scratchRoot + sep))) {
161
+ (real !== scratchRoot && !real.startsWith(scratchRoot + sep)) ||
162
+ staleScratch(real)) {
137
163
  return keep;
138
164
  }
139
165
  try {
@@ -168,7 +194,10 @@ export function validateVerificationEvidence(entries, opts) {
168
194
  return entries.map((e) => {
169
195
  const next = { ...e };
170
196
  if (e.artifactPath !== undefined) {
171
- next.artifactExists = artifactReferenceExists(e.artifactPath, workspaceDir, { commitExists });
197
+ next.artifactExists =
198
+ artifactReferenceExists(e.artifactPath, workspaceDir, {
199
+ commitExists,
200
+ }) && !staleScratchRef(e.artifactPath);
172
201
  const r = relocateScratch(e.artifactPath);
173
202
  next.artifactPath = r.path;
174
203
  next.artifactBundled = r.bundled;
@@ -1 +1 @@
1
- {"version":3,"file":"verification-evidence.js","sourceRoot":"","sources":["../src/verification-evidence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification-evidence.js","sourceRoot":"","sources":["../src/verification-evidence.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EACL,YAAY,EACZ,SAAS,EACT,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,QAAQ,GACT,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,sBAAsB,EACtB,wBAAwB,GAEzB,MAAM,0BAA0B,CAAC;AAElC,MAAM,MAAM,GAAG,mBAAmB,CAAC;AACnC,MAAM,YAAY,GAAG,0BAA0B,CAAC;AAOhD;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,IAAY,EAAE,YAAoB;IAC3D,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,YAAY;IACtE,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAC/D,IAAI,MAAc,CAAC;IACnB,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC,CAAC,iBAAiB;IAChC,CAAC;IACD,IAAI,IAAI,KAAK,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,UAAU;IAC9E,IAAI,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE;YAAE,OAAO,IAAI,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CACrC,GAAW,EACX,YAAoB,EACpB,IAAkB;IAElB,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACrB,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,CAAC,EAAE,CAAC;QACN,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACxC,IAAI,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK;YAAE,OAAO,KAAK,CAAC;QAC3C,IAAI,SAAiB,CAAC;QACtB,IAAI,CAAC;YACH,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAC5D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,GAAG,GAAG,SAAS;YAAE,OAAO,KAAK,CAAC;IACpC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAC1C,OAA4B,EAC5B,IAOgB;IAEhB,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAChE,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,CAAC;QACH,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC,CAAC;IAC9D,CAAC;IAAC,MAAM,CAAC;QACP,WAAW,GAAG,IAAI,CAAC,CAAC,uCAAuC;IAC7D,CAAC;IAED,+EAA+E;IAC/E,8EAA8E;IAC9E,+EAA+E;IAC/E,6EAA6E;IAC7E,IAAI,OAAO,GAAkB,IAAI,CAAC;IAClC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,YAAY,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;QACrD,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC;QAC1C,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,EAAE,CAAC;YACjE,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,IAAI,CAAC;IACjB,CAAC;IAED,2EAA2E;IAC3E,0EAA0E;IAC1E,MAAM,YAAY,GAAG,CAAC,IAAY,EAAW,EAAE;QAC7C,IAAI,WAAW,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;QAC5C,IACE,CAAC,WAAW;YACZ,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,EAC7D,CAAC;YACD,OAAO,KAAK,CAAC,CAAC,0DAA0D;QAC1E,CAAC;QACD,IAAI,CAAC;YACH,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,GAAG,WAAW,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,CAAC,gDAAgD;QAC/D,CAAC;IACH,CAAC,CAAC;IAEF,6EAA6E;IAC7E,yDAAyD;IACzD,MAAM,eAAe,GAAG,CAAC,CAAS,EAAW,EAAE;QAC7C,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QACzD,MAAM,IAAI,GAAG,iBAAiB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QAChD,OAAO,IAAI,KAAK,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CAAC,CAAS,EAAsC,EAAE;QACxE,MAAM,IAAI,GAAG,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACzC,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC,CAAC,0BAA0B;QACnF,MAAM,IAAI,GAAG,iBAAiB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;QAChD,4EAA4E;QAC5E,2EAA2E;QAC3E,wCAAwC;QACxC,IACE,CAAC,IAAI;YACL,CAAC,OAAO;YACR,CAAC,WAAW;YACZ,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;YAC7D,YAAY,CAAC,IAAI,CAAC,EAClB,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,CAAC;YACH,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,2EAA2E;YAC3E,yEAAyE;YACzE,4EAA4E;YAC5E,gDAAgD;YAChD,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE;gBAAE,OAAO,IAAI,CAAC;YACrD,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,OAAO;gBAAE,OAAO,IAAI,CAAC;YACnD,MAAM,IAAI,GAAG,GAAG,OAAO,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAE;iBACvC,OAAO,CAAC,WAAW,EAAE,GAAG,CAAC;iBACzB,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACjB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACnC,8EAA8E;YAC9E,IAAI,CAAC;gBACH,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,cAAc,EAAE;oBAAE,OAAO,IAAI,CAAC;YACtD,CAAC;YAAC,MAAM,CAAC;gBACP,qCAAqC;YACvC,CAAC;YACD,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC3B,OAAO,EAAE,IAAI,EAAE,GAAG,sBAAsB,GAAG,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACrE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC,CAAC,+CAA+C;QAC9D,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,MAAM,IAAI,GAAsB,EAAE,GAAG,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,cAAc;gBACjB,uBAAuB,CAAC,CAAC,CAAC,YAAY,EAAE,YAAY,EAAE;oBACpD,YAAY;iBACb,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACzC,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YAC1C,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC;YAC3B,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,OAAO,CAAC;QACnC,CAAC;QACD,IAAI,CAAC,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;YACxC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC;YACzB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,OAAO,CAAC;QACjC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -104,9 +104,34 @@ export type VerificationSummary = {
104
104
  };
105
105
  /** Tally a verification matrix into counts, artifact coverage, and a verdict. Pure. */
106
106
  export declare function summarizeVerification(entries: VerificationEntry[]): VerificationSummary;
107
+ /**
108
+ * How a verification matrix reconciles against the plan's task set (issue #201).
109
+ * The matrix is authored by the agent, so an unfinished task can simply be
110
+ * omitted; comparing row count against the plan's task count closes that hole.
111
+ */
112
+ export type PlanReconciliation = {
113
+ planTasks: number;
114
+ matrixRows: number;
115
+ /** True when the matrix has fewer rows than the plan has tasks — at least one
116
+ * plan task was never verified. */
117
+ shortfall: boolean;
118
+ /** Plan task titles with no fuzzy-matching matrix row — best-effort naming of
119
+ * the omissions (token overlap, not semantic proof). */
120
+ unmatched: string[];
121
+ };
122
+ /**
123
+ * Reconcile a verification matrix against the plan's task titles: a coarse
124
+ * row-count check (fewer rows than tasks ⇒ something was omitted) plus a
125
+ * best-effort naming of which titles no row appears to cover (a title is covered
126
+ * when some row's requirement+check shares at least half its significant
127
+ * tokens). Naming is a hint for the reader; only the count drives the gate,
128
+ * since token overlap cannot prove semantic coverage. Pure.
129
+ */
130
+ export declare function reconcileMatrixWithPlan(entries: VerificationEntry[], planTaskTitles: string[]): PlanReconciliation;
107
131
  export type VerificationCoverageGate = {
108
- /** True iff no requirement failed, every verifiable one is artifact-backed, and
109
- * no matrix rows were dropped during parsing. */
132
+ /** True iff no requirement failed, every verifiable one is artifact-backed,
133
+ * no matrix rows were dropped during parsing, and — when a plan is attached —
134
+ * the matrix has at least as many rows as the plan has tasks. */
110
135
  passed: boolean;
111
136
  /** Artifact-backed share of the verifiable requirements, 0..1. */
112
137
  coverage: number;
@@ -118,6 +143,8 @@ export type VerificationCoverageGate = {
118
143
  incomplete: string[];
119
144
  /** Malformed matrix rows dropped during parsing — unknown, unverified requirements. */
120
145
  dropped: number;
146
+ /** Plan reconciliation when a matching plan was attached (issue #201). */
147
+ plan?: PlanReconciliation;
121
148
  };
122
149
  /**
123
150
  * Score a verification matrix against the roadmap's coverage bar (P24): every
@@ -127,14 +154,14 @@ export type VerificationCoverageGate = {
127
154
  * gate (#181 re-review). The `unproven`/`failed`/`incomplete` lists + `dropped`
128
155
  * are exactly why the gate did not pass. Pure.
129
156
  */
130
- export declare function scoreVerificationCoverage(entries: VerificationEntry[], dropped?: number): VerificationCoverageGate;
157
+ export declare function scoreVerificationCoverage(entries: VerificationEntry[], dropped?: number, plan?: PlanReconciliation): VerificationCoverageGate;
131
158
  /**
132
159
  * Render the verification-coverage gate as a report block (mirrors the emit-time
133
160
  * legibility gate): a PASS/FAIL verdict, the artifact-backed coverage, and — on
134
161
  * FAIL — the unproven/failed requirements plus how to clear them. Empty string
135
162
  * for an empty matrix, so a run with no verification adds no gate. Pure.
136
163
  */
137
- export declare function formatVerificationCoverageGate(entries: VerificationEntry[], dropped?: number): string;
164
+ export declare function formatVerificationCoverageGate(entries: VerificationEntry[], dropped?: number, plan?: PlanReconciliation): string;
138
165
  /** Path prefix of artifacts relocated into the run bundle (see
139
166
  * `verification-evidence.ts`); only these resolve relative to report.md. */
140
167
  export declare const BUNDLE_ARTIFACT_PREFIX = "verification/";
@@ -1 +1 @@
1
- {"version":3,"file":"verification-matrix.d.ts","sourceRoot":"","sources":["../src/verification-matrix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification-matrix.d.ts","sourceRoot":"","sources":["../src/verification-matrix.ts"],"names":[],"mappings":"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"}
@@ -174,6 +174,37 @@ export function summarizeVerification(entries) {
174
174
  verdict,
175
175
  };
176
176
  }
177
+ /** Distinct lowercase alphanumeric tokens of 4+ chars — the words that carry a
178
+ * title's identity once articles/prepositions fall away. */
179
+ function significantTokens(s) {
180
+ return [...new Set(s.toLowerCase().match(/[a-z0-9]+/g) ?? [])].filter((w) => w.length >= 4);
181
+ }
182
+ /**
183
+ * Reconcile a verification matrix against the plan's task titles: a coarse
184
+ * row-count check (fewer rows than tasks ⇒ something was omitted) plus a
185
+ * best-effort naming of which titles no row appears to cover (a title is covered
186
+ * when some row's requirement+check shares at least half its significant
187
+ * tokens). Naming is a hint for the reader; only the count drives the gate,
188
+ * since token overlap cannot prove semantic coverage. Pure.
189
+ */
190
+ export function reconcileMatrixWithPlan(entries, planTaskTitles) {
191
+ const rows = entries.map((e) => new Set(significantTokens(`${e.requirement} ${e.check ?? ""}`)));
192
+ const unmatched = planTaskTitles.filter((title) => {
193
+ const tokens = significantTokens(title);
194
+ if (tokens.length === 0) {
195
+ const t = title.trim().toLowerCase();
196
+ return !entries.some((e) => e.requirement.toLowerCase().includes(t));
197
+ }
198
+ const needed = Math.ceil(tokens.length / 2);
199
+ return !rows.some((row) => tokens.filter((tk) => row.has(tk)).length >= needed);
200
+ });
201
+ return {
202
+ planTasks: planTaskTitles.length,
203
+ matrixRows: entries.length,
204
+ shortfall: entries.length < planTaskTitles.length,
205
+ unmatched,
206
+ };
207
+ }
177
208
  /**
178
209
  * Score a verification matrix against the roadmap's coverage bar (P24): every
179
210
  * verifiable requirement must carry a valid artifact, none may fail, none may be
@@ -182,10 +213,10 @@ export function summarizeVerification(entries) {
182
213
  * gate (#181 re-review). The `unproven`/`failed`/`incomplete` lists + `dropped`
183
214
  * are exactly why the gate did not pass. Pure.
184
215
  */
185
- export function scoreVerificationCoverage(entries, dropped = 0) {
216
+ export function scoreVerificationCoverage(entries, dropped = 0, plan) {
186
217
  const summary = summarizeVerification(entries);
187
218
  return {
188
- passed: summary.verdict === "verified" && dropped === 0,
219
+ passed: summary.verdict === "verified" && dropped === 0 && !plan?.shortfall,
189
220
  coverage: summary.coverage,
190
221
  unproven: entries
191
222
  .filter((e) => isVerifiable(e) && !hasArtifact(e))
@@ -197,6 +228,7 @@ export function scoreVerificationCoverage(entries, dropped = 0) {
197
228
  .filter((e) => e.result === "partial")
198
229
  .map((e) => e.requirement),
199
230
  dropped,
231
+ ...(plan ? { plan } : {}),
200
232
  };
201
233
  }
202
234
  /**
@@ -205,16 +237,22 @@ export function scoreVerificationCoverage(entries, dropped = 0) {
205
237
  * FAIL — the unproven/failed requirements plus how to clear them. Empty string
206
238
  * for an empty matrix, so a run with no verification adds no gate. Pure.
207
239
  */
208
- export function formatVerificationCoverageGate(entries, dropped = 0) {
240
+ export function formatVerificationCoverageGate(entries, dropped = 0, plan) {
209
241
  if (entries.length === 0 && dropped === 0)
210
242
  return "";
211
- const g = scoreVerificationCoverage(entries, dropped);
243
+ const g = scoreVerificationCoverage(entries, dropped, plan);
212
244
  const lines = [
213
245
  "## Verification Coverage Gate",
214
246
  "",
215
247
  `Gate: **${g.passed ? "PASS" : "FAIL"}** — ${pct.format(g.coverage * 100)}% of verifiable requirements are artifact-backed.`,
216
248
  ];
217
249
  if (!g.passed) {
250
+ if (g.plan?.shortfall) {
251
+ const named = g.plan.unmatched.length > 0
252
+ ? ` — not obviously covered: ${g.plan.unmatched.join(", ")}`
253
+ : "";
254
+ lines.push("", `Plan reconciliation: the plan has ${g.plan.planTasks} task(s) but the matrix has only ${g.plan.matrixRows} row(s); omitted plan task(s) are unverified gaps${named}.`);
255
+ }
218
256
  if (g.dropped > 0) {
219
257
  lines.push("", `Dropped ${g.dropped} malformed matrix row(s) — those requirements are unknown and unverified; fix the matrix.`);
220
258
  }
@@ -232,7 +270,8 @@ export function formatVerificationCoverageGate(entries, dropped = 0) {
232
270
  if (g.dropped === 0 &&
233
271
  g.failed.length === 0 &&
234
272
  g.incomplete.length === 0 &&
235
- g.unproven.length === 0) {
273
+ g.unproven.length === 0 &&
274
+ !g.plan?.shortfall) {
236
275
  lines.push("", "No requirement is fully proven, yet none is individually failed/partial/unproven — review the matrix.");
237
276
  }
238
277
  }
@@ -1 +1 @@
1
- {"version":3,"file":"verification-matrix.js","sourceRoot":"","sources":["../src/verification-matrix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verification-matrix.js","sourceRoot":"","sources":["../src/verification-matrix.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@phamvuhoang/otto-core",
3
- "version": "0.32.0",
3
+ "version": "0.33.0",
4
4
  "description": "Claude Code AFK orchestration: iteration loop, native-sandbox runner, template renderer.",
5
5
  "type": "module",
6
6
  "license": "MIT",
package/templates/plan.md CHANGED
@@ -75,6 +75,9 @@ rationale`; record blockers and the safest assumption taken.
75
75
  create or modify, as backticked paths (e.g. `packages/core/src/foo.ts`).
76
76
  - `## Testing notes` — how it will be verified, and the **testable success
77
77
  criteria** (done-when conditions).
78
+ - `## Risks` — **"what would make this plan wrong?"**: the assumptions that,
79
+ if false, invalidate the approach (a hidden caller, a wrong file/component
80
+ hypothesis, a scale cliff), each with how you would detect it early.
78
81
 
79
82
  ## 4. WRITE THE PLAN — `.otto/tasks/<task-key>/plan.md`
80
83
 
@@ -133,6 +136,8 @@ missing, revise the artifacts once before you commit:
133
136
  explicit `verify:` command.
134
137
  - Success criteria are concretely testable: a reviewer can tell pass/fail from
135
138
  an observable result, test, or command.
139
+ - A `## Risks` section answers "what would make this plan wrong?" with at least
140
+ one concrete, detectable risk.
136
141
 
137
142
  ## 5. COMMIT
138
143