@phamvuhoang/otto-core 0.32.0 → 0.33.1

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 (78) hide show
  1. package/dist/codebase-memory-adapter.d.ts +99 -0
  2. package/dist/codebase-memory-adapter.d.ts.map +1 -0
  3. package/dist/codebase-memory-adapter.js +127 -0
  4. package/dist/codebase-memory-adapter.js.map +1 -0
  5. package/dist/compression-survival.d.ts +46 -0
  6. package/dist/compression-survival.d.ts.map +1 -0
  7. package/dist/compression-survival.js +81 -0
  8. package/dist/compression-survival.js.map +1 -0
  9. package/dist/context-compressor.d.ts +20 -0
  10. package/dist/context-compressor.d.ts.map +1 -1
  11. package/dist/context-compressor.js +46 -0
  12. package/dist/context-compressor.js.map +1 -1
  13. package/dist/eval.d.ts +30 -0
  14. package/dist/eval.d.ts.map +1 -1
  15. package/dist/eval.js +42 -1
  16. package/dist/eval.js.map +1 -1
  17. package/dist/extension-profiles.d.ts.map +1 -1
  18. package/dist/extension-profiles.js +11 -0
  19. package/dist/extension-profiles.js.map +1 -1
  20. package/dist/fanout.d.ts +48 -1
  21. package/dist/fanout.d.ts.map +1 -1
  22. package/dist/fanout.js +121 -11
  23. package/dist/fanout.js.map +1 -1
  24. package/dist/handoff.d.ts +32 -0
  25. package/dist/handoff.d.ts.map +1 -0
  26. package/dist/handoff.js +58 -0
  27. package/dist/handoff.js.map +1 -0
  28. package/dist/index.d.ts +9 -6
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +9 -6
  31. package/dist/index.js.map +1 -1
  32. package/dist/inspect.d.ts.map +1 -1
  33. package/dist/inspect.js +1 -1
  34. package/dist/inspect.js.map +1 -1
  35. package/dist/loop.d.ts.map +1 -1
  36. package/dist/loop.js +77 -4
  37. package/dist/loop.js.map +1 -1
  38. package/dist/panel.d.ts +10 -0
  39. package/dist/panel.d.ts.map +1 -1
  40. package/dist/panel.js +29 -4
  41. package/dist/panel.js.map +1 -1
  42. package/dist/plan-rubric.d.ts +1 -1
  43. package/dist/plan-rubric.d.ts.map +1 -1
  44. package/dist/plan-rubric.js +19 -0
  45. package/dist/plan-rubric.js.map +1 -1
  46. package/dist/plan-tasks.d.ts +39 -5
  47. package/dist/plan-tasks.d.ts.map +1 -1
  48. package/dist/plan-tasks.js +85 -12
  49. package/dist/plan-tasks.js.map +1 -1
  50. package/dist/report-finalize.d.ts +9 -0
  51. package/dist/report-finalize.d.ts.map +1 -1
  52. package/dist/report-finalize.js +32 -4
  53. package/dist/report-finalize.js.map +1 -1
  54. package/dist/run-bin.d.ts.map +1 -1
  55. package/dist/run-bin.js +5 -0
  56. package/dist/run-bin.js.map +1 -1
  57. package/dist/run-report.d.ts +49 -1
  58. package/dist/run-report.d.ts.map +1 -1
  59. package/dist/run-report.js +18 -0
  60. package/dist/run-report.js.map +1 -1
  61. package/dist/stage-exec.d.ts.map +1 -1
  62. package/dist/stage-exec.js +5 -1
  63. package/dist/stage-exec.js.map +1 -1
  64. package/dist/tools.d.ts +17 -0
  65. package/dist/tools.d.ts.map +1 -1
  66. package/dist/tools.js +48 -0
  67. package/dist/tools.js.map +1 -1
  68. package/dist/verification-evidence.d.ts +4 -0
  69. package/dist/verification-evidence.d.ts.map +1 -1
  70. package/dist/verification-evidence.js +33 -4
  71. package/dist/verification-evidence.js.map +1 -1
  72. package/dist/verification-matrix.d.ts +31 -4
  73. package/dist/verification-matrix.d.ts.map +1 -1
  74. package/dist/verification-matrix.js +44 -5
  75. package/dist/verification-matrix.js.map +1 -1
  76. package/package.json +1 -1
  77. package/templates/plan.md +5 -0
  78. package/templates/subtask.md +17 -0
@@ -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.1",
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
 
@@ -27,6 +27,23 @@ much as you safely can within scope and note the gap in your commit message.
27
27
  Write the failing test first where it applies, implement, run the relevant
28
28
  feedback loop, and make a single focused commit for this task. Do not push.
29
29
 
30
+ **Mandatory: before finishing, write `handoff.json` at the worktree root** so
31
+ the orchestrator can reconcile your work without re-deriving it. It must be a
32
+ JSON object with these keys:
33
+
34
+ ```
35
+ {
36
+ "changedFiles": ["path/one.ts", "path/two.ts"],
37
+ "testsRun": [{ "command": "pnpm test", "passed": true }],
38
+ "risks": ["anything the orchestrator or reviewer should double-check"],
39
+ "deferred": ["work you knowingly left out of scope"]
40
+ }
41
+ ```
42
+
43
+ `testsRun` entries are `{command, passed}` pairs for every feedback-loop
44
+ command you ran. Leave `risks`/`deferred` as empty arrays if there are none —
45
+ do not omit the file or any key.
46
+
30
47
  </task>
31
48
 
32
49
  @include:prompt.md