@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.
- package/dist/cli-help.d.ts +6 -0
- package/dist/cli-help.d.ts.map +1 -1
- package/dist/cli-help.js +10 -0
- package/dist/cli-help.js.map +1 -1
- package/dist/eval.d.ts +20 -1
- package/dist/eval.d.ts.map +1 -1
- package/dist/eval.js +17 -1
- package/dist/eval.js.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/inspect.d.ts.map +1 -1
- package/dist/inspect.js +13 -4
- package/dist/inspect.js.map +1 -1
- package/dist/loop.d.ts.map +1 -1
- package/dist/loop.js +23 -1
- package/dist/loop.js.map +1 -1
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +1 -0
- package/dist/main.js.map +1 -1
- package/dist/plan-checkpoint.d.ts +47 -0
- package/dist/plan-checkpoint.d.ts.map +1 -0
- package/dist/plan-checkpoint.js +54 -0
- package/dist/plan-checkpoint.js.map +1 -0
- package/dist/plan-gate.d.ts +41 -0
- package/dist/plan-gate.d.ts.map +1 -0
- package/dist/plan-gate.js +46 -0
- package/dist/plan-gate.js.map +1 -0
- package/dist/plan-report-cli.d.ts +42 -0
- package/dist/plan-report-cli.d.ts.map +1 -0
- package/dist/plan-report-cli.js +75 -0
- package/dist/plan-report-cli.js.map +1 -0
- package/dist/plan-rubric.d.ts +68 -0
- package/dist/plan-rubric.d.ts.map +1 -0
- package/dist/plan-rubric.js +119 -0
- package/dist/plan-rubric.js.map +1 -0
- package/dist/report-explain.d.ts +33 -0
- package/dist/report-explain.d.ts.map +1 -0
- package/dist/report-explain.js +85 -0
- package/dist/report-explain.js.map +1 -0
- package/dist/report-rubric.d.ts +68 -0
- package/dist/report-rubric.d.ts.map +1 -0
- package/dist/report-rubric.js +107 -0
- package/dist/report-rubric.js.map +1 -0
- package/dist/run-bin.d.ts +2 -0
- package/dist/run-bin.d.ts.map +1 -1
- package/dist/run-bin.js +39 -17
- package/dist/run-bin.js.map +1 -1
- package/dist/run-report.d.ts +20 -0
- package/dist/run-report.d.ts.map +1 -1
- package/dist/run-report.js +41 -0
- package/dist/run-report.js.map +1 -1
- package/dist/stages.d.ts +5 -0
- package/dist/stages.d.ts.map +1 -1
- package/dist/stages.js +7 -0
- package/dist/stages.js.map +1 -1
- package/package.json +1 -1
- package/templates/plan.md +95 -0
- package/templates/prompt.md +6 -0
- 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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"}
|
package/dist/main.d.ts.map
CHANGED
|
@@ -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,
|
|
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
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"}
|