@phamvuhoang/otto-core 0.15.0 → 0.17.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 (61) hide show
  1. package/dist/cli-help.d.ts +6 -0
  2. package/dist/cli-help.d.ts.map +1 -1
  3. package/dist/cli-help.js +10 -0
  4. package/dist/cli-help.js.map +1 -1
  5. package/dist/eval.d.ts +20 -1
  6. package/dist/eval.d.ts.map +1 -1
  7. package/dist/eval.js +17 -1
  8. package/dist/eval.js.map +1 -1
  9. package/dist/index.d.ts +7 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +7 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/inspect.d.ts.map +1 -1
  14. package/dist/inspect.js +13 -4
  15. package/dist/inspect.js.map +1 -1
  16. package/dist/loop.d.ts.map +1 -1
  17. package/dist/loop.js +23 -1
  18. package/dist/loop.js.map +1 -1
  19. package/dist/main.d.ts.map +1 -1
  20. package/dist/main.js +1 -0
  21. package/dist/main.js.map +1 -1
  22. package/dist/plan-checkpoint.d.ts +47 -0
  23. package/dist/plan-checkpoint.d.ts.map +1 -0
  24. package/dist/plan-checkpoint.js +54 -0
  25. package/dist/plan-checkpoint.js.map +1 -0
  26. package/dist/plan-gate.d.ts +41 -0
  27. package/dist/plan-gate.d.ts.map +1 -0
  28. package/dist/plan-gate.js +46 -0
  29. package/dist/plan-gate.js.map +1 -0
  30. package/dist/plan-report-cli.d.ts +42 -0
  31. package/dist/plan-report-cli.d.ts.map +1 -0
  32. package/dist/plan-report-cli.js +75 -0
  33. package/dist/plan-report-cli.js.map +1 -0
  34. package/dist/plan-rubric.d.ts +68 -0
  35. package/dist/plan-rubric.d.ts.map +1 -0
  36. package/dist/plan-rubric.js +119 -0
  37. package/dist/plan-rubric.js.map +1 -0
  38. package/dist/report-explain.d.ts +33 -0
  39. package/dist/report-explain.d.ts.map +1 -0
  40. package/dist/report-explain.js +85 -0
  41. package/dist/report-explain.js.map +1 -0
  42. package/dist/report-rubric.d.ts +68 -0
  43. package/dist/report-rubric.d.ts.map +1 -0
  44. package/dist/report-rubric.js +107 -0
  45. package/dist/report-rubric.js.map +1 -0
  46. package/dist/run-bin.d.ts +2 -0
  47. package/dist/run-bin.d.ts.map +1 -1
  48. package/dist/run-bin.js +39 -17
  49. package/dist/run-bin.js.map +1 -1
  50. package/dist/run-report.d.ts +20 -0
  51. package/dist/run-report.d.ts.map +1 -1
  52. package/dist/run-report.js +41 -0
  53. package/dist/run-report.js.map +1 -1
  54. package/dist/stages.d.ts +5 -0
  55. package/dist/stages.d.ts.map +1 -1
  56. package/dist/stages.js +7 -0
  57. package/dist/stages.js.map +1 -1
  58. package/package.json +1 -1
  59. package/templates/plan.md +95 -0
  60. package/templates/prompt.md +6 -0
  61. package/templates/quality-report.md +43 -7
package/dist/loop.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"loop.js","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop.js","sourceRoot":"","sources":["../src/loop.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,aAAa,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpD,wBAAsB,MAAM,CAC1B,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE,aAAkB,GACvB,OAAO,CAAC,IAAI,CAAC,CAYf"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,aAAa,GAAG;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEpD,wBAAsB,MAAM,CAC1B,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE,aAAkB,GACvB,OAAO,CAAC,IAAI,CAAC,CAaf"}
package/dist/main.js CHANGED
@@ -9,6 +9,7 @@ export async function runAfk(argv, opts = {}) {
9
9
  takesInputArg: true,
10
10
  cliVersion: opts.cliVersion,
11
11
  verifyStage: STAGES.verifier,
12
+ planStage: STAGES.plan,
12
13
  applyReviewStage: STAGES.applyReviewImplementer,
13
14
  mode: "afk",
14
15
  });
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,IAAc,EACd,OAAsB,EAAE;IAExB,MAAM,MAAM,CAAC,IAAI,EAAE;QACjB,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,6BAA6B;QACpC,IAAI,EAAE,sCAAsC;QAC5C,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC7C,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,WAAW,EAAE,MAAM,CAAC,QAAQ;QAC5B,gBAAgB,EAAE,MAAM,CAAC,sBAAsB;QAC/C,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,IAAc,EACd,OAAsB,EAAE;IAExB,MAAM,MAAM,CAAC,IAAI,EAAE;QACjB,GAAG,EAAE,UAAU;QACf,KAAK,EAAE,6BAA6B;QACpC,IAAI,EAAE,sCAAsC;QAC5C,MAAM,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC;QAC7C,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,WAAW,EAAE,MAAM,CAAC,QAAQ;QAC5B,SAAS,EAAE,MAAM,CAAC,IAAI;QACtB,gBAAgB,EAAE,MAAM,CAAC,sBAAsB;QAC/C,IAAI,EAAE,KAAK;KACZ,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Optional human checkpoint for the authored plan (issue #63 P8, slice 6).
3
+ *
4
+ * Renders the generated plan's rubric scorecard and asks the operator to approve,
5
+ * edit, or reject it before implementation begins (the issue's "optional human
6
+ * checkpoint", tying to the interactive approval-gate candidate). Otto runs AFK
7
+ * (`claude --print`, non-interactive), so the checkpoint is OPT-IN and
8
+ * record-and-proceed: when no human is present (non-interactive) the plan is
9
+ * auto-approved and the decision is recorded, never blocking the run.
10
+ *
11
+ * Shipped as pure functions (`parseCheckpointResponse`, `formatCheckpointPrompt`)
12
+ * plus a thin injectable resolver (`resolvePlanCheckpoint`) so it is fully
13
+ * unit-testable with no real stdin/TTY. Wiring it into a live interactive run is
14
+ * a follow-up; this is the substrate.
15
+ */
16
+ import { type PlanRubricScore } from "./plan-rubric.js";
17
+ /** The operator's decision at the checkpoint. */
18
+ export type CheckpointDecision = "approve" | "edit" | "reject";
19
+ /**
20
+ * Map an operator's free-text response to a decision. Pure and lenient:
21
+ * `y`/`yes`/`a`/`approve` → approve; `e`/`edit` → edit; everything else
22
+ * (incl. empty, `n`, `no`) → reject. Rejecting is the safe default so an
23
+ * ambiguous or empty answer never silently green-lights implementation.
24
+ */
25
+ export declare function parseCheckpointResponse(raw: string): CheckpointDecision;
26
+ /** Render the checkpoint prompt: the rubric scorecard + the review question. */
27
+ export declare function formatCheckpointPrompt(opts: {
28
+ taskKey: string;
29
+ planPath: string;
30
+ score: PlanRubricScore;
31
+ }): string;
32
+ /** Injectable host surface so the resolver needs no real stdin/TTY in tests. */
33
+ export type PlanCheckpointDeps = {
34
+ /** Whether a human is present to answer (e.g. `process.stdin.isTTY`). */
35
+ interactive: boolean;
36
+ /** Read one line of operator input; only called when `interactive`. */
37
+ readLine: () => Promise<string>;
38
+ out: (msg: string) => void;
39
+ };
40
+ /**
41
+ * Print the checkpoint prompt and resolve the operator's decision. In a
42
+ * non-interactive (AFK) run there is no human, so the plan is auto-approved and
43
+ * the decision recorded — never blocking. Interactive runs read one line and
44
+ * parse it via {@link parseCheckpointResponse}.
45
+ */
46
+ export declare function resolvePlanCheckpoint(prompt: string, deps: PlanCheckpointDeps): Promise<CheckpointDecision>;
47
+ //# sourceMappingURL=plan-checkpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-checkpoint.d.ts","sourceRoot":"","sources":["../src/plan-checkpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE1E,iDAAiD;AACjD,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE/D;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAKvE;AAED,gFAAgF;AAChF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,eAAe,CAAC;CACxB,GAAG,MAAM,CAOT;AAED,gFAAgF;AAChF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,yEAAyE;IACzE,WAAW,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B,CAAC;AAEF;;;;;GAKG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,kBAAkB,GACvB,OAAO,CAAC,kBAAkB,CAAC,CAS7B"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Optional human checkpoint for the authored plan (issue #63 P8, slice 6).
3
+ *
4
+ * Renders the generated plan's rubric scorecard and asks the operator to approve,
5
+ * edit, or reject it before implementation begins (the issue's "optional human
6
+ * checkpoint", tying to the interactive approval-gate candidate). Otto runs AFK
7
+ * (`claude --print`, non-interactive), so the checkpoint is OPT-IN and
8
+ * record-and-proceed: when no human is present (non-interactive) the plan is
9
+ * auto-approved and the decision is recorded, never blocking the run.
10
+ *
11
+ * Shipped as pure functions (`parseCheckpointResponse`, `formatCheckpointPrompt`)
12
+ * plus a thin injectable resolver (`resolvePlanCheckpoint`) so it is fully
13
+ * unit-testable with no real stdin/TTY. Wiring it into a live interactive run is
14
+ * a follow-up; this is the substrate.
15
+ */
16
+ import { formatPlanRubric } from "./plan-rubric.js";
17
+ /**
18
+ * Map an operator's free-text response to a decision. Pure and lenient:
19
+ * `y`/`yes`/`a`/`approve` → approve; `e`/`edit` → edit; everything else
20
+ * (incl. empty, `n`, `no`) → reject. Rejecting is the safe default so an
21
+ * ambiguous or empty answer never silently green-lights implementation.
22
+ */
23
+ export function parseCheckpointResponse(raw) {
24
+ const a = raw.trim().toLowerCase();
25
+ if (a === "y" || a === "yes" || a === "a" || a === "approve")
26
+ return "approve";
27
+ if (a === "e" || a === "edit")
28
+ return "edit";
29
+ return "reject";
30
+ }
31
+ /** Render the checkpoint prompt: the rubric scorecard + the review question. */
32
+ export function formatCheckpointPrompt(opts) {
33
+ return [
34
+ `Plan checkpoint — ${opts.taskKey}`,
35
+ formatPlanRubric(opts.score),
36
+ `Review the authored plan at ${opts.planPath}.`,
37
+ "Approve this plan before implementation? [y]es / [e]dit / [N]o",
38
+ ].join("\n");
39
+ }
40
+ /**
41
+ * Print the checkpoint prompt and resolve the operator's decision. In a
42
+ * non-interactive (AFK) run there is no human, so the plan is auto-approved and
43
+ * the decision recorded — never blocking. Interactive runs read one line and
44
+ * parse it via {@link parseCheckpointResponse}.
45
+ */
46
+ export async function resolvePlanCheckpoint(prompt, deps) {
47
+ deps.out(prompt);
48
+ if (!deps.interactive) {
49
+ deps.out("Non-interactive run: plan auto-approved (record assumptions and proceed).");
50
+ return "approve";
51
+ }
52
+ return parseCheckpointResponse(await deps.readLine());
53
+ }
54
+ //# sourceMappingURL=plan-checkpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-checkpoint.js","sourceRoot":"","sources":["../src/plan-checkpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,gBAAgB,EAAwB,MAAM,kBAAkB,CAAC;AAK1E;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CAAC,GAAW;IACjD,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC/E,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAC7C,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,sBAAsB,CAAC,IAItC;IACC,OAAO;QACL,qBAAqB,IAAI,CAAC,OAAO,EAAE;QACnC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;QAC5B,+BAA+B,IAAI,CAAC,QAAQ,GAAG;QAC/C,gEAAgE;KACjE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAWD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAc,EACd,IAAwB;IAExB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACjB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACtB,IAAI,CAAC,GAAG,CACN,2EAA2E,CAC5E,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,uBAAuB,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;AACxD,CAAC"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Plan-quality gate (issue #63 P8, slice 7).
3
+ *
4
+ * Turns the slice-1 rubric score into a PASS/FAIL verdict against a soft quality
5
+ * threshold and reports what a re-plan must add to clear the bar — the substrate
6
+ * for a "self-healing plan" loop (re-plan when the score is too low) and the
7
+ * `--plan-report` quality flag. Pure: takes a {@link PlanRubricScore}, returns the
8
+ * verdict; triggers no re-plan itself (loop wiring is a follow-up).
9
+ */
10
+ import type { PlanRubricScore } from "./plan-rubric.js";
11
+ /**
12
+ * Default ratio a plan must reach to clear the gate. 0.75 = three-quarters of the
13
+ * rubric criteria; tuned so a plan missing one or two sections still passes but a
14
+ * thin plan (no scope guard, no tasks, no verify) does not.
15
+ */
16
+ export declare const DEFAULT_PLAN_QUALITY_THRESHOLD = 0.75;
17
+ export type PlanGateVerdict = {
18
+ passed: boolean;
19
+ /** The plan's rubric ratio (0..1). */
20
+ ratio: number;
21
+ /** The threshold applied. */
22
+ threshold: number;
23
+ /** Labels of unmet criteria — what a re-plan must add. */
24
+ missing: string[];
25
+ /** Criteria still needed to reach the threshold; 0 when passed. */
26
+ shortfall: number;
27
+ };
28
+ /**
29
+ * Assess a rubric score against the quality threshold. A plan passes when its
30
+ * ratio is at or above the threshold; otherwise `shortfall` is how many more
31
+ * criteria it must meet to clear the bar (the re-plan target). Pure.
32
+ */
33
+ export declare function assessPlanGate(score: PlanRubricScore, opts?: {
34
+ threshold?: number;
35
+ }): PlanGateVerdict;
36
+ /**
37
+ * Render a gate verdict: a `PASS`/`FAIL` line with the ratio vs threshold, and —
38
+ * on failure — what a re-plan must add to clear the bar.
39
+ */
40
+ export declare function formatPlanGate(v: PlanGateVerdict): string;
41
+ //# sourceMappingURL=plan-gate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-gate.d.ts","sourceRoot":"","sources":["../src/plan-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,OAAO,CAAC;AAEnD,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,eAAe,EACtB,IAAI,GAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,eAAe,CAWjB;AAID;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,CASzD"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Plan-quality gate (issue #63 P8, slice 7).
3
+ *
4
+ * Turns the slice-1 rubric score into a PASS/FAIL verdict against a soft quality
5
+ * threshold and reports what a re-plan must add to clear the bar — the substrate
6
+ * for a "self-healing plan" loop (re-plan when the score is too low) and the
7
+ * `--plan-report` quality flag. Pure: takes a {@link PlanRubricScore}, returns the
8
+ * verdict; triggers no re-plan itself (loop wiring is a follow-up).
9
+ */
10
+ /**
11
+ * Default ratio a plan must reach to clear the gate. 0.75 = three-quarters of the
12
+ * rubric criteria; tuned so a plan missing one or two sections still passes but a
13
+ * thin plan (no scope guard, no tasks, no verify) does not.
14
+ */
15
+ export const DEFAULT_PLAN_QUALITY_THRESHOLD = 0.75;
16
+ /**
17
+ * Assess a rubric score against the quality threshold. A plan passes when its
18
+ * ratio is at or above the threshold; otherwise `shortfall` is how many more
19
+ * criteria it must meet to clear the bar (the re-plan target). Pure.
20
+ */
21
+ export function assessPlanGate(score, opts = {}) {
22
+ const threshold = opts.threshold ?? DEFAULT_PLAN_QUALITY_THRESHOLD;
23
+ const passed = score.ratio >= threshold;
24
+ const needed = Math.ceil(threshold * score.maxScore) - score.metCount;
25
+ return {
26
+ passed,
27
+ ratio: score.ratio,
28
+ threshold,
29
+ missing: score.missing,
30
+ shortfall: passed ? 0 : Math.max(0, needed),
31
+ };
32
+ }
33
+ const pct = new Intl.NumberFormat("en-US", { maximumFractionDigits: 0 });
34
+ /**
35
+ * Render a gate verdict: a `PASS`/`FAIL` line with the ratio vs threshold, and —
36
+ * on failure — what a re-plan must add to clear the bar.
37
+ */
38
+ export function formatPlanGate(v) {
39
+ const head = `plan gate: ${v.passed ? "PASS" : "FAIL"} ` +
40
+ `(${pct.format(v.ratio * 100)}% vs ${pct.format(v.threshold * 100)}% threshold)`;
41
+ if (v.passed)
42
+ return head;
43
+ return (head +
44
+ `\n re-plan to add ${v.shortfall} more: ${v.missing.join(", ") || "—"}`);
45
+ }
46
+ //# sourceMappingURL=plan-gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-gate.js","sourceRoot":"","sources":["../src/plan-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH;;;;GAIG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,IAAI,CAAC;AAcnD;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAsB,EACtB,OAA+B,EAAE;IAEjC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,8BAA8B,CAAC;IACnE,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,IAAI,SAAS,CAAC;IACxC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;IACtE,OAAO;QACL,MAAM;QACN,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,SAAS;QACT,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,qBAAqB,EAAE,CAAC,EAAE,CAAC,CAAC;AAEzE;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,CAAkB;IAC/C,MAAM,IAAI,GACR,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG;QAC3C,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,GAAG,GAAG,CAAC,cAAc,CAAC;IACnF,IAAI,CAAC,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC1B,OAAO,CACL,IAAI;QACJ,sBAAsB,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,CACzE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,42 @@
1
+ import { type PlanRubricScore } from "./plan-rubric.js";
2
+ /**
3
+ * `otto-afk --plan-report` read-only surface (issue #63 P8, slice 3).
4
+ *
5
+ * A pure-then-I/O surface over the authored plans under `.otto/tasks/<key>/`:
6
+ * it scores each task's `spec.md` + `plan.md` with the slice-1 plan-quality
7
+ * rubric and prints the scorecard, mirroring `--context-report` / `otto-runs`.
8
+ * Read-only; records nothing and runs no stage. The measurement the P8 `plan`
9
+ * stage is judged against ("is the plan I authored structurally complete?").
10
+ */
11
+ /** Injectable host surface so the bin stays unit-testable (mirrors `ContextReportDeps`). */
12
+ export type PlanReportDeps = {
13
+ env: NodeJS.ProcessEnv;
14
+ cwd: string;
15
+ out: (msg: string) => void;
16
+ err: (msg: string) => void;
17
+ };
18
+ /** One task's authored plan and its rubric score. */
19
+ export type TaskPlanScore = {
20
+ taskKey: string;
21
+ score: PlanRubricScore;
22
+ };
23
+ /**
24
+ * Render the per-task plan scorecards into one report. Pure: takes the already
25
+ * read+scored tasks, returns the string. Tasks render in the given order
26
+ * (callers pass them task-key sorted).
27
+ */
28
+ export declare function formatPlanReport(tasks: TaskPlanScore[]): string;
29
+ /**
30
+ * Read and score every task plan under `<workspaceDir>/.otto/tasks/`. A task is
31
+ * any subdirectory holding a `spec.md` and/or `plan.md`; the two are scored
32
+ * concatenated (the rubric criteria span both). I/O isolated here so
33
+ * {@link formatPlanReport} stays pure. Absent/unreadable dir → `[]`.
34
+ */
35
+ export declare function readTaskPlans(workspaceDir: string): TaskPlanScore[];
36
+ /**
37
+ * Drive `--plan-report`: score every authored task plan under `.otto/tasks/` and
38
+ * print the scorecards. Read-only; resolves to the process exit code (1 only
39
+ * when there is no plan to report on).
40
+ */
41
+ export declare function runPlanReport(deps?: PlanReportDeps): Promise<number>;
42
+ //# sourceMappingURL=plan-report-cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-report-cli.d.ts","sourceRoot":"","sources":["../src/plan-report-cli.ts"],"names":[],"mappings":"AAIA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;GAQG;AAEH,4FAA4F;AAC5F,MAAM,MAAM,cAAc,GAAG;IAC3B,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3B,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5B,CAAC;AASF,qDAAqD;AACrD,MAAM,MAAM,aAAa,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,eAAe,CAAA;CAAE,CAAC;AAExE;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,CAW/D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,aAAa,EAAE,CA0BnE;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,IAAI,GAAE,cAA4B,GACjC,OAAO,CAAC,MAAM,CAAC,CAYjB"}
@@ -0,0 +1,75 @@
1
+ import { readFileSync, readdirSync } from "node:fs";
2
+ import { join, resolve } from "node:path";
3
+ import { assessPlanGate, formatPlanGate } from "./plan-gate.js";
4
+ import { formatPlanRubric, scorePlanQuality, } from "./plan-rubric.js";
5
+ const defaultDeps = {
6
+ env: process.env,
7
+ cwd: process.cwd(),
8
+ out: (m) => process.stdout.write(`${m}\n`),
9
+ err: (m) => process.stderr.write(`${m}\n`),
10
+ };
11
+ /**
12
+ * Render the per-task plan scorecards into one report. Pure: takes the already
13
+ * read+scored tasks, returns the string. Tasks render in the given order
14
+ * (callers pass them task-key sorted).
15
+ */
16
+ export function formatPlanReport(tasks) {
17
+ const lines = ["Plan report"];
18
+ for (const t of tasks) {
19
+ lines.push("", `Task ${t.taskKey}`, formatPlanRubric(t.score), formatPlanGate(assessPlanGate(t.score)));
20
+ }
21
+ return lines.join("\n");
22
+ }
23
+ /**
24
+ * Read and score every task plan under `<workspaceDir>/.otto/tasks/`. A task is
25
+ * any subdirectory holding a `spec.md` and/or `plan.md`; the two are scored
26
+ * concatenated (the rubric criteria span both). I/O isolated here so
27
+ * {@link formatPlanReport} stays pure. Absent/unreadable dir → `[]`.
28
+ */
29
+ export function readTaskPlans(workspaceDir) {
30
+ const tasksDir = join(workspaceDir, ".otto", "tasks");
31
+ let entries;
32
+ try {
33
+ entries = readdirSync(tasksDir, { withFileTypes: true })
34
+ .filter((e) => e.isDirectory())
35
+ .map((e) => e.name)
36
+ .sort();
37
+ }
38
+ catch {
39
+ return [];
40
+ }
41
+ const scored = [];
42
+ for (const taskKey of entries) {
43
+ const doc = ["spec.md", "plan.md"]
44
+ .map((f) => {
45
+ try {
46
+ return readFileSync(join(tasksDir, taskKey, f), "utf8");
47
+ }
48
+ catch {
49
+ return "";
50
+ }
51
+ })
52
+ .join("\n");
53
+ if (doc.trim() === "")
54
+ continue;
55
+ scored.push({ taskKey, score: scorePlanQuality(doc) });
56
+ }
57
+ return scored;
58
+ }
59
+ /**
60
+ * Drive `--plan-report`: score every authored task plan under `.otto/tasks/` and
61
+ * print the scorecards. Read-only; resolves to the process exit code (1 only
62
+ * when there is no plan to report on).
63
+ */
64
+ export async function runPlanReport(deps = defaultDeps) {
65
+ const workspaceDir = resolve(deps.env.OTTO_WORKSPACE ?? deps.cwd);
66
+ const tasks = readTaskPlans(workspaceDir);
67
+ if (tasks.length === 0) {
68
+ deps.err(`No task plans found under ${workspaceDir}/.otto/tasks/. ` +
69
+ "Author a spec.md/plan.md there, then re-run with --plan-report.");
70
+ return 1;
71
+ }
72
+ deps.out(formatPlanReport(tasks));
73
+ return 0;
74
+ }
75
+ //# sourceMappingURL=plan-report-cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-report-cli.js","sourceRoot":"","sources":["../src/plan-report-cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Plan-quality rubric (issue #63 P8, slice 1 — "measure plan quality before
3
+ * generating plans").
4
+ *
5
+ * A pure scorer over a spec/plan markdown document: it checks the document
6
+ * against the structural criteria of a world-class plan (the proven
7
+ * `docs/superpowers` + issue-62 shape) and reports per-criterion results, a
8
+ * met-count / max score, a 0..1 completeness ratio, and what is missing. It is
9
+ * the measurement substrate every later P8 slice reads — the `plan` stage,
10
+ * its eval signal ("plan-completeness rubric score ↑ across fixtures"), the
11
+ * `--plan-report` surface, and the human checkpoint.
12
+ *
13
+ * Sibling to `eval.ts`'s `scoreTrajectory` (a pure scorer over recorded data),
14
+ * but scoring a *document* rather than a run trajectory. INERT on the loop —
15
+ * nothing here runs a stage or changes behavior; it only describes text.
16
+ *
17
+ * The detectors are deterministic header/keyword heuristics (no tokenizer, no
18
+ * model call): the rubric judges *structural completeness* (does the plan have
19
+ * the sections a good plan has), the orthogonal question to the *semantic*
20
+ * quality a human/model judges at the checkpoint. Heuristic and labelled as
21
+ * such, mirroring P7's `ceil(chars/4)` estimate discipline.
22
+ */
23
+ export type PlanCriterion = "problem" | "decisions" | "scopeGuard" | "fileMap" | "taskBreakdown" | "testFirst" | "verifyCommands" | "successCriteria";
24
+ type CriterionDef = {
25
+ criterion: PlanCriterion;
26
+ /** Human-readable label for the scorecard. */
27
+ label: string;
28
+ /** Pure predicate: does the document satisfy this criterion? */
29
+ detect: (doc: string) => boolean;
30
+ };
31
+ /**
32
+ * The rubric criteria, in scorecard order. Each detector keys off the proven
33
+ * plan shape: a section header or the characteristic keywords/markup of that
34
+ * section. Order is fixed so the scorecard and the `missing` list are stable.
35
+ */
36
+ export declare const PLAN_CRITERIA: ReadonlyArray<CriterionDef>;
37
+ export type PlanCriterionResult = {
38
+ criterion: PlanCriterion;
39
+ label: string;
40
+ met: boolean;
41
+ };
42
+ export type PlanRubricScore = {
43
+ /** Per-criterion outcome, in fixed scorecard order. */
44
+ results: PlanCriterionResult[];
45
+ /** Criteria met. */
46
+ metCount: number;
47
+ /** Total criteria (the denominator). */
48
+ maxScore: number;
49
+ /** metCount / maxScore in 0..1; 0 when there are no criteria. */
50
+ ratio: number;
51
+ /** Labels of unmet criteria — the "what to improve" surface. */
52
+ missing: string[];
53
+ };
54
+ /**
55
+ * Score a spec/plan markdown document against {@link PLAN_CRITERIA}. Pure and
56
+ * deterministic — pass the spec text, the plan text, or both concatenated. Each
57
+ * criterion contributes equally; the per-criterion breakdown lets a consumer
58
+ * reweight later without changing the scorer.
59
+ */
60
+ export declare function scorePlanQuality(doc: string): PlanRubricScore;
61
+ /**
62
+ * Render a rubric score as a short, human-readable scorecard: a header with the
63
+ * met/total and percentage, a checked/unchecked line per criterion, and a
64
+ * one-line "missing" note when the plan is incomplete.
65
+ */
66
+ export declare function formatPlanRubric(score: PlanRubricScore): string;
67
+ export {};
68
+ //# sourceMappingURL=plan-rubric.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-rubric.d.ts","sourceRoot":"","sources":["../src/plan-rubric.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,WAAW,GACX,YAAY,GACZ,SAAS,GACT,eAAe,GACf,WAAW,GACX,gBAAgB,GAChB,iBAAiB,CAAC;AAEtB,KAAK,YAAY,GAAG;IAClB,SAAS,EAAE,aAAa,CAAC;IACzB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CAClC,CAAC;AAeF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,aAAa,CAAC,YAAY,CA6DrD,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,aAAa,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,OAAO,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,uDAAuD;IACvD,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,oBAAoB;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,iEAAiE;IACjE,KAAK,EAAE,MAAM,CAAC;IACd,gEAAgE;IAChE,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAe7D;AAID;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,eAAe,GAAG,MAAM,CAU/D"}