@phamvuhoang/otto-core 0.15.0 → 0.16.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.
@@ -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"}
@@ -0,0 +1,119 @@
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
+ /** Count non-overlapping matches of a global regex in the document. */
24
+ function count(doc, re) {
25
+ return (doc.match(re) ?? []).length;
26
+ }
27
+ // Path-like inline code: a backticked token with a path separator or a known
28
+ // source-file extension — the signal a plan names the files it will touch.
29
+ const PATH_TOKEN_RE = /`[^`\n]*(?:\/[^`\n]*|\.(?:ts|tsx|js|jsx|mjs|cjs|md|json|py|go|rs|java|rb|sh))`/gi;
30
+ // Task list items: markdown checkboxes or top-of-line ordered items.
31
+ const CHECKBOX_RE = /(?:^|\n)\s*[-*]\s*\[[ xX]\]/g;
32
+ const ORDERED_ITEM_RE = /(?:^|\n)\s*\d+\.\s+\S/g;
33
+ /**
34
+ * The rubric criteria, in scorecard order. Each detector keys off the proven
35
+ * plan shape: a section header or the characteristic keywords/markup of that
36
+ * section. Order is fixed so the scorecard and the `missing` list are stable.
37
+ */
38
+ export const PLAN_CRITERIA = [
39
+ {
40
+ criterion: "problem",
41
+ label: "Problem statement",
42
+ detect: (d) => /(?:^|\n)#{1,6}\s+[^\n]*\bproblem\b/i.test(d),
43
+ },
44
+ {
45
+ criterion: "decisions",
46
+ label: "Decisions / assumptions",
47
+ detect: (d) => /\b(?:assumptions?|decisions?|rationale)\b/i.test(d),
48
+ },
49
+ {
50
+ criterion: "scopeGuard",
51
+ label: "Scope guard / non-goals",
52
+ detect: (d) => /\b(?:scope guard|non-?goals?|out of scope|not in scope|won'?t (?:do|build|change|ship))\b/i.test(d),
53
+ },
54
+ {
55
+ criterion: "fileMap",
56
+ label: "File / component map",
57
+ detect: (d) => /(?:^|\n)#{1,6}\s+[^\n]*\b(?:file (?:map|structure)|component map|files)\b/i.test(d) || count(d, PATH_TOKEN_RE) >= 2,
58
+ },
59
+ {
60
+ criterion: "taskBreakdown",
61
+ label: "Task breakdown",
62
+ detect: (d) => count(d, CHECKBOX_RE) >= 2 ||
63
+ count(d, ORDERED_ITEM_RE) >= 2 ||
64
+ count(d, /(?:^|\n)#{1,6}\s+task\b/gi) >= 2,
65
+ },
66
+ {
67
+ criterion: "testFirst",
68
+ label: "Failing-test-first (TDD)",
69
+ detect: (d) => /\b(?:failing test|test[- ]first|tdd|red[- ]green|write (?:a |the )?(?:failing )?test|tests? (?:first|before)|pinned by)\b/i.test(d),
70
+ },
71
+ {
72
+ criterion: "verifyCommands",
73
+ label: "Explicit verify commands",
74
+ detect: (d) => /\bverify:/i.test(d) ||
75
+ (/\bverif(?:y|ied|ication)\b/i.test(d) &&
76
+ /\b(?:pnpm|npm run|vitest|tsc|node --test|node --|pytest|go test|cargo test|make)\b/i.test(d)),
77
+ },
78
+ {
79
+ criterion: "successCriteria",
80
+ label: "Testable success criteria",
81
+ detect: (d) => /\b(?:success (?:criteria|metric)|acceptance (?:criteria|checklist|test)|done when|testing notes|testable)\b/i.test(d),
82
+ },
83
+ ];
84
+ /**
85
+ * Score a spec/plan markdown document against {@link PLAN_CRITERIA}. Pure and
86
+ * deterministic — pass the spec text, the plan text, or both concatenated. Each
87
+ * criterion contributes equally; the per-criterion breakdown lets a consumer
88
+ * reweight later without changing the scorer.
89
+ */
90
+ export function scorePlanQuality(doc) {
91
+ const results = PLAN_CRITERIA.map((c) => ({
92
+ criterion: c.criterion,
93
+ label: c.label,
94
+ met: c.detect(doc),
95
+ }));
96
+ const metCount = results.reduce((n, r) => n + (r.met ? 1 : 0), 0);
97
+ const maxScore = results.length;
98
+ return {
99
+ results,
100
+ metCount,
101
+ maxScore,
102
+ ratio: maxScore > 0 ? metCount / maxScore : 0,
103
+ missing: results.filter((r) => !r.met).map((r) => r.label),
104
+ };
105
+ }
106
+ const pct = new Intl.NumberFormat("en-US", { maximumFractionDigits: 0 });
107
+ /**
108
+ * Render a rubric score as a short, human-readable scorecard: a header with the
109
+ * met/total and percentage, a checked/unchecked line per criterion, and a
110
+ * one-line "missing" note when the plan is incomplete.
111
+ */
112
+ export function formatPlanRubric(score) {
113
+ const header = `plan quality: ${score.metCount}/${score.maxScore} ` +
114
+ `(${pct.format(score.ratio * 100)}%)`;
115
+ const lines = score.results.map((r) => ` [${r.met ? "x" : " "}] ${r.label}`);
116
+ const tail = score.missing.length > 0 ? [` missing: ${score.missing.join(", ")}`] : [];
117
+ return [header, ...lines, ...tail].join("\n");
118
+ }
119
+ //# sourceMappingURL=plan-rubric.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-rubric.js","sourceRoot":"","sources":["../src/plan-rubric.ts"],"names":[],"mappings":"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"}
package/dist/run-bin.d.ts CHANGED
@@ -45,6 +45,8 @@ export type RunBinConfig = {
45
45
  issueStage?: Stage;
46
46
  /** Single read-only gate stage used when --verify is set. Only otto-afk sets this. */
47
47
  verifyStage?: Stage;
48
+ /** Single authoring gate stage used when --plan is set (#63 P8). Only otto-afk sets this. */
49
+ planStage?: Stage;
48
50
  /** Gate stage used when --apply-review is set. Only otto-afk sets this. */
49
51
  applyReviewStage?: Stage;
50
52
  /** Run mode identifier threaded into runLoop state (e.g. "afk" / "ghafk"). */
@@ -1 +1 @@
1
- {"version":3,"file":"run-bin.d.ts","sourceRoot":"","sources":["../src/run-bin.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,MAAM,YAAY,GAAG;IACzB,kEAAkE;IAClE,GAAG,EAAE,MAAM,CAAC;IACZ,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAC5B;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7E,iEAAiE;IACjE,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC;IACjC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,gFAAgF;IAChF,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,sFAAsF;IACtF,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,KAAK,CAAC;IACzB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC;CAC/C,CAAC;AA2BF;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAgjB7E"}
1
+ {"version":3,"file":"run-bin.d.ts","sourceRoot":"","sources":["../src/run-bin.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAIzC,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,MAAM,YAAY,GAAG;IACzB,kEAAkE;IAClE,GAAG,EAAE,MAAM,CAAC;IACZ,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAC;IACd,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IAC5B;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7E,iEAAiE;IACjE,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,MAAM,CAAC;IACjC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,gFAAgF;IAChF,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,sFAAsF;IACtF,WAAW,CAAC,EAAE,KAAK,CAAC;IACpB,6FAA6F;IAC7F,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,KAAK,CAAC;IACzB,8EAA8E;IAC9E,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAAC;CAC/C,CAAC;AA2BF;;;;GAIG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAskB7E"}
package/dist/run-bin.js CHANGED
@@ -65,6 +65,16 @@ export async function runBin(argv, cfg) {
65
65
  process.exit(code);
66
66
  return;
67
67
  }
68
+ // --plan-report (issue #63 P8): a read-only surface scoring the authored plans
69
+ // under .otto/tasks/ with the plan-quality rubric. Like --context-report it
70
+ // prints and exits without running a stage.
71
+ if (flags.planReport) {
72
+ const { runPlanReport } = await import("./plan-report-cli.js");
73
+ const code = await runPlanReport();
74
+ if (code !== 0)
75
+ process.exit(code);
76
+ return;
77
+ }
68
78
  const envMaxWait = process.env.OTTO_MAX_WAIT?.trim();
69
79
  const maxWaitMs = flags.maxWaitMs ?? (envMaxWait ? parseDurationMs(envMaxWait) : undefined);
70
80
  let tokenMode = flags.tokenMode ?? "off";
@@ -157,9 +167,11 @@ export async function runBin(argv, cfg) {
157
167
  // the selected mode. Depends only on flags, not on the guards below.
158
168
  const runMode = flags.verify
159
169
  ? "verify"
160
- : flags.applyReview != null
161
- ? "review"
162
- : cfg.mode;
170
+ : flags.plan
171
+ ? "plan"
172
+ : flags.applyReview != null
173
+ ? "review"
174
+ : cfg.mode;
163
175
  // Single source of truth for the --watch label: the per-mode resolver
164
176
  // (otto-linear-afk → OTTO_LINEAR_LABEL) falling back to OTTO_WATCH_LABEL.
165
177
  // Both --print-config and the runWatch call below read this, so the reported
@@ -362,16 +374,21 @@ export async function runBin(argv, cfg) {
362
374
  }
363
375
  const modeCount = (flags.issue != null ? 1 : 0) +
364
376
  (flags.verify ? 1 : 0) +
377
+ (flags.plan ? 1 : 0) +
365
378
  (flags.applyReview != null ? 1 : 0) +
366
379
  (flags.watch ? 1 : 0);
367
380
  if (modeCount > 1) {
368
- console.error("--issue, --verify, --apply-review, and --watch are mutually exclusive");
381
+ console.error("--issue, --verify, --plan, --apply-review, and --watch are mutually exclusive");
369
382
  process.exit(1);
370
383
  }
371
384
  if (flags.verify && !cfg.verifyStage) {
372
385
  console.error("--verify is only supported by otto-afk");
373
386
  process.exit(1);
374
387
  }
388
+ if (flags.plan && !cfg.planStage) {
389
+ console.error("--plan is only supported by otto-afk");
390
+ process.exit(1);
391
+ }
375
392
  if (flags.applyReview != null && !cfg.applyReviewStage) {
376
393
  console.error("--apply-review is only supported by otto-afk");
377
394
  process.exit(1);
@@ -390,21 +407,24 @@ export async function runBin(argv, cfg) {
390
407
  : cfg.takesInputArg
391
408
  ? flags.rest[1]
392
409
  : flags.rest[0];
393
- if (flags.verify && (!cfg.takesInputArg || !inputs)) {
394
- console.error(`Usage: ${cfg.bin} --verify "<plan-and-prd>"`);
410
+ // --verify and --plan are both one-shot, input-taking gates (no iterations arg).
411
+ const oneShot = flags.verify || flags.plan;
412
+ const oneShotFlag = flags.verify ? "--verify" : "--plan";
413
+ if (oneShot && (!cfg.takesInputArg || !inputs)) {
414
+ console.error(`Usage: ${cfg.bin} ${oneShotFlag} "<plan-and-prd>"`);
395
415
  process.exit(1);
396
416
  }
397
- if (!flags.verify && ((cfg.takesInputArg && !inputs) || !iterationsArg)) {
417
+ if (!oneShot && ((cfg.takesInputArg && !inputs) || !iterationsArg)) {
398
418
  console.error(`Usage: ${cfg.bin} ${cfg.usage}`);
399
419
  console.error(` ${cfg.bin} --help`);
400
420
  process.exit(1);
401
421
  }
402
- // --verify is one-shot regardless of any positional count.
403
- if (flags.verify && iterationsArg) {
404
- console.error("--verify is one-shot; ignoring the iterations argument");
422
+ // One-shot regardless of any positional count.
423
+ if (oneShot && iterationsArg) {
424
+ console.error(`${oneShotFlag} is one-shot; ignoring the iterations argument`);
405
425
  }
406
- const iterations = flags.verify ? 1 : Number.parseInt(iterationsArg, 10);
407
- if (!flags.verify && (!Number.isFinite(iterations) || iterations < 1)) {
426
+ const iterations = oneShot ? 1 : Number.parseInt(iterationsArg, 10);
427
+ if (!oneShot && (!Number.isFinite(iterations) || iterations < 1)) {
408
428
  console.error(`Invalid iterations: ${iterationsArg}`);
409
429
  process.exit(1);
410
430
  }
@@ -421,11 +441,13 @@ export async function runBin(argv, cfg) {
421
441
  }
422
442
  const stages = flags.verify
423
443
  ? [cfg.verifyStage]
424
- : flags.applyReview != null
425
- ? [cfg.applyReviewStage, ...cfg.stages.slice(1)]
426
- : flags.issue != null
427
- ? [cfg.issueStage, ...cfg.stages.slice(1)]
428
- : cfg.stages;
444
+ : flags.plan
445
+ ? [cfg.planStage]
446
+ : flags.applyReview != null
447
+ ? [cfg.applyReviewStage, ...cfg.stages.slice(1)]
448
+ : flags.issue != null
449
+ ? [cfg.issueStage, ...cfg.stages.slice(1)]
450
+ : cfg.stages;
429
451
  if (flags.detach && detachLogPath) {
430
452
  detachAndExit({
431
453
  logPath: detachLogPath,
@@ -1 +1 @@
1
- {"version":3,"file":"run-bin.js","sourceRoot":"","sources":["../src/run-bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-bin.js","sourceRoot":"","sources":["../src/run-bin.ts"],"names":[],"mappings":"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"}
package/dist/stages.d.ts CHANGED
@@ -4,6 +4,11 @@ export type Stage = {
4
4
  permissionMode?: string;
5
5
  };
6
6
  export declare const STAGES: {
7
+ plan: {
8
+ name: string;
9
+ template: string;
10
+ permissionMode: string;
11
+ };
7
12
  implementer: {
8
13
  name: string;
9
14
  template: string;
@@ -1 +1 @@
1
- {"version":3,"file":"stages.d.ts","sourceRoot":"","sources":["../src/stages.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAOF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyClB,CAAC"}
1
+ {"version":3,"file":"stages.d.ts","sourceRoot":"","sources":["../src/stages.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,KAAK,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAOF,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDlB,CAAC"}
package/dist/stages.js CHANGED
@@ -4,6 +4,13 @@
4
4
  // to the workspace via the native OS sandbox; `OTTO_RUNNER=host` runs unsandboxed
5
5
  // (git-recoverable workspace only). See the spec under docs/superpowers/specs/.
6
6
  export const STAGES = {
7
+ // Authors a spec + plan (no implementation) for human review before code
8
+ // (issue #63 P8). Registered here; wiring it into a chain is a later slice.
9
+ plan: {
10
+ name: "plan",
11
+ template: "plan.md",
12
+ permissionMode: "bypassPermissions",
13
+ },
7
14
  implementer: {
8
15
  name: "implementer",
9
16
  template: "afk.md",
@@ -1 +1 @@
1
- {"version":3,"file":"stages.js","sourceRoot":"","sources":["../src/stages.ts"],"names":[],"mappings":"AAMA,gFAAgF;AAChF,8EAA8E;AAC9E,iFAAiF;AACjF,kFAAkF;AAClF,gFAAgF;AAChF,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,QAAQ;QAClB,cAAc,EAAE,mBAAmB;KACpB;IACjB,gBAAgB,EAAE;QAChB,IAAI,EAAE,mBAAmB;QACzB,QAAQ,EAAE,UAAU;QACpB,cAAc,EAAE,mBAAmB;KACpB;IACjB,qBAAqB,EAAE;QACrB,IAAI,EAAE,yBAAyB;QAC/B,QAAQ,EAAE,gBAAgB;QAC1B,cAAc,EAAE,mBAAmB;KACpB;IACjB,iBAAiB,EAAE;QACjB,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,cAAc;QACxB,cAAc,EAAE,mBAAmB;KACpB;IACjB,sBAAsB,EAAE;QACtB,IAAI,EAAE,0BAA0B;QAChC,QAAQ,EAAE,oBAAoB;QAC9B,cAAc,EAAE,mBAAmB;KACpB;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,WAAW;QACrB,cAAc,EAAE,mBAAmB;KACpB;IACjB,sBAAsB,EAAE;QACtB,IAAI,EAAE,0BAA0B;QAChC,QAAQ,EAAE,iBAAiB;QAC3B,cAAc,EAAE,mBAAmB;KACpB;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,WAAW;QACrB,cAAc,EAAE,mBAAmB;KACpB;CAClB,CAAC"}
1
+ {"version":3,"file":"stages.js","sourceRoot":"","sources":["../src/stages.ts"],"names":[],"mappings":"AAMA,gFAAgF;AAChF,8EAA8E;AAC9E,iFAAiF;AACjF,kFAAkF;AAClF,gFAAgF;AAChF,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,yEAAyE;IACzE,4EAA4E;IAC5E,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,SAAS;QACnB,cAAc,EAAE,mBAAmB;KACpB;IACjB,WAAW,EAAE;QACX,IAAI,EAAE,aAAa;QACnB,QAAQ,EAAE,QAAQ;QAClB,cAAc,EAAE,mBAAmB;KACpB;IACjB,gBAAgB,EAAE;QAChB,IAAI,EAAE,mBAAmB;QACzB,QAAQ,EAAE,UAAU;QACpB,cAAc,EAAE,mBAAmB;KACpB;IACjB,qBAAqB,EAAE;QACrB,IAAI,EAAE,yBAAyB;QAC/B,QAAQ,EAAE,gBAAgB;QAC1B,cAAc,EAAE,mBAAmB;KACpB;IACjB,iBAAiB,EAAE;QACjB,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,cAAc;QACxB,cAAc,EAAE,mBAAmB;KACpB;IACjB,sBAAsB,EAAE;QACtB,IAAI,EAAE,0BAA0B;QAChC,QAAQ,EAAE,oBAAoB;QAC9B,cAAc,EAAE,mBAAmB;KACpB;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,WAAW;QACrB,cAAc,EAAE,mBAAmB;KACpB;IACjB,sBAAsB,EAAE;QACtB,IAAI,EAAE,0BAA0B;QAChC,QAAQ,EAAE,iBAAiB;QAC3B,cAAc,EAAE,mBAAmB;KACpB;IACjB,QAAQ,EAAE;QACR,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,WAAW;QACrB,cAAc,EAAE,mBAAmB;KACpB;CAClB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@phamvuhoang/otto-core",
3
- "version": "0.15.0",
3
+ "version": "0.16.0",
4
4
  "description": "Claude Code AFK orchestration: iteration loop, native-sandbox runner, template renderer.",
5
5
  "type": "module",
6
6
  "license": "MIT",