@@ -37,3 +37,3 @@ # Planr Architecture | ||
| - `src/app/inspection.rs`: local inspection helpers. Owns debug bundles, context/link snapshots, pick context, secret scans, export value assembly, run recording, search results, and Planr-directory import parsing. | ||
| - `src/app/audit.rs`: goal contract audit boundary. Owns the clause-by-clause `plan audit` verdict (items settled, reviews complete, approvals clear, verification logged) and its human rendering. | ||
| - `src/app/audit.rs`: goal contract audit boundary. Owns the clause-by-clause `plan audit` verdict (items settled, reviews complete, approvals clear, canonical Evidence coverage) and its human rendering. Claim-only verification logs remain isolated to frozen pre-Evidence compatibility. | ||
| - `src/app/application.rs`: shared surface-mutation boundary. Owns the approval request/approve/deny, context, log, artifact, and close mutations reused verbatim by CLI, MCP, and HTTP handlers so the three surfaces cannot drift. | ||
@@ -40,0 +40,0 @@ - `src/app/repository/`: focused data-access submodules (`item.rs`, `plan.rs`, `project.rs`, `link.rs`, `context.rs`, `evidence.rs`, `search.rs`) split out of `src/app/repository.rs` by entity ownership. |
@@ -37,3 +37,3 @@ # Planr Documentation Contract | ||
| | log | Durable evidence or progress attached to an item. | transcript | | ||
| | verification log | A log with kind `verification` that records a live oracle. | test result alone | | ||
| | verification log | A claim-only narrative log for a live oracle; frozen pre-Evidence compatibility may inspect it. | binding Evidence receipt or coverage verdict | | ||
| | review | A graph gate that checks evidence and can create fix/follow-up work. | approval; approvals are a separate human gate | | ||
@@ -40,0 +40,0 @@ | approval | An explicit requested/approved/denied human decision on an item. | review | |
@@ -50,2 +50,3 @@ { | ||
| "planr_evidence_migrate", | ||
| "planr_evidence_rebind", | ||
| "planr_evidence_classifications", | ||
@@ -62,2 +63,3 @@ "planr_evidence_capability_list", | ||
| "planr_evidence_explain", | ||
| "planr_evidence_readiness", | ||
| "planr_eval_suite_check", | ||
@@ -64,0 +66,0 @@ "planr_eval_run", |
+1
-1
| { | ||
| "name": "planr", | ||
| "version": "1.10.0-alpha.1", | ||
| "version": "1.10.0-alpha.2", | ||
| "description": "Local-first planning and execution coordination for coding agents.", | ||
@@ -5,0 +5,0 @@ "license": "MIT", |
| { | ||
| "name": "planr", | ||
| "description": "Skill-driven planning and execution loop for coding agents: one planr entry point, an autonomous planr-loop, and evidence-backed task graph skills powered by the planr CLI.", | ||
| "version": "1.10.0-alpha.1", | ||
| "version": "1.10.0-alpha.2", | ||
| "author": { | ||
@@ -6,0 +6,0 @@ "name": "instructa" |
| { | ||
| "name": "planr", | ||
| "version": "1.10.0-alpha.1", | ||
| "version": "1.10.0-alpha.2", | ||
| "description": "Skill-driven planning and execution loop for coding agents: one $planr entry point, an autonomous $planr-loop, and evidence-backed task graph skills powered by the planr CLI.", | ||
@@ -5,0 +5,0 @@ "author": { |
@@ -39,6 +39,7 @@ --- | ||
| Store one contract per plan: | ||
| For plans with binding Evidence, require the repository to define the observation obligations and capability policy before execution, then run readiness. Store one contract per plan: | ||
| ```bash | ||
| planr context add "GOAL CONTRACT <plan-id>: DONE when every in-scope item is closed with log evidence, all reviews are complete, approvals are clear, and a live verification log proves <goal oracle>. Iteration budget: 10." --tag goal-contract | ||
| planr evidence readiness --scope plan --id <plan-id> | ||
| planr context add "GOAL CONTRACT <plan-id>: DONE when every in-scope item is closed with implementation evidence, all reviews are complete, approvals are clear, and canonical Evidence coverage proves <goal oracle>. Iteration budget: 10." --tag goal-contract | ||
| ``` | ||
@@ -45,0 +46,0 @@ |
@@ -19,7 +19,8 @@ # Recovery And Verification | ||
| ```bash | ||
| planr log add --item <item-id> --kind verification \ | ||
| --summary "verified <flow>: <observed outcome>" \ | ||
| --cmd "<exact replayable command>" | ||
| planr evidence readiness --scope criterion --id <criterion-id> | ||
| planr evidence run --input <run-file> | ||
| planr evidence coverage --scope criterion --id <criterion-id> | ||
| planr evidence explain --scope criterion --id <criterion-id> | ||
| ``` | ||
| Use browser automation for web, the built binary for CLI, real requests for API/backend, and simulator launch plus exercised flow for iOS. If tooling is unavailable, store blocker context, request approval, and pause. | ||
| Use a capability whose declared observations cover the criterion: browser automation for rendered web behavior, the built binary for CLI, real requests for API/backend, and simulator launch plus exercised flow for iOS. If tooling is unavailable, preserve the typed blocker, request approval when appropriate, and pause. Do not replace it with a weaker method that observes different facts. |
@@ -21,7 +21,8 @@ --- | ||
| 1. `planr plan audit <plan-id> --json`; `holds: true` exits. | ||
| 2. Use `$planr-plan` or `$planr-task-graph` only when scope or graph structure is missing. | ||
| 3. Dispatch `$planr-work` for exactly one ready item scoped to `<plan-id>`; makers must use `planr pick --work-type code --plan <plan-id>`, never an unscoped pick, select the repository verification policy, and finish implementation with `planr done <item-id> ... --review`. | ||
| 4. Run the target-platform oracle when the goal requires one and record `planr log add --item <id> --kind verification --summary ... --cmd ...`. Deployment still requires prior human approval and a bounded live oracle. | ||
| 5. Dispatch `$planr-review`; the checker independently inspects the diff and validates the exact-source receipt, replaying only cheap, missing, failing, or explicitly high-risk evidence. Findings create fix work, while `complete --close-target` settles the target. | ||
| 6. Repeat from audit. | ||
| 2. For a binding Evidence plan, run `planr evidence readiness --scope plan --id <plan-id>`. Repair typed schema/capability/runtime gaps before product work. Use `planr evidence rebind --input <file>` and the returned preview digest only when an immutable adapter/obligation binding must be corrected without changing acceptance semantics. | ||
| 3. Use `$planr-plan` or `$planr-task-graph` only when scope or graph structure is missing. | ||
| 4. Dispatch `$planr-work` for exactly one ready item scoped to `<plan-id>`; makers must use `planr pick --work-type code --plan <plan-id>`, never an unscoped pick, select the repository verification policy, and finish implementation with `planr done <item-id> ... --review`. | ||
| 5. Run the configured target-platform method with `planr evidence run --input <run-file>`, then evaluate `planr evidence coverage --scope criterion --id <criterion-id>` and inspect gaps with `planr evidence explain ...`. Deployment still requires prior human approval and a bounded live oracle. Narrative logs never substitute for binding receipts. | ||
| 6. Dispatch `$planr-review`; the checker independently inspects the diff and validates the exact-source receipt, replaying only cheap, missing, failing, or explicitly high-risk evidence. Findings create fix work, while `complete --close-target` settles the target. | ||
| 7. Repeat from audit. | ||
@@ -49,3 +50,3 @@ One picked item per iteration. A small coherent change stays one implementation item with one signal-bearing review; do not create a new review boundary for every mechanical stage or for an already-reviewed successful live smoke. Use plain `done` only for low-signal setup/inspection work. Maker and checker stay separate when the host supports another agent; a maker never self-reviews when an independent checker is available, and never manufactures independence by changing worker identity. The reviewer must exercise independent judgment even when it relies on a green receipt rather than replaying an expensive gate. A worker may use `done --next`, which never returns its own review. | ||
| Recovery starts in a fresh session with audit, map state, the stored contract, and the next scoped pick. Read [recovery and platform details](references/recovery-and-verification.md) only when that branch is active. | ||
| Recovery starts in a fresh session with audit, map state, Evidence readiness/explain, the stored contract, and the next scoped pick. A terminal unchanged Stop gap remains terminal; use `planr stop resume --plan <plan-id>` only after an explicit operator decision to reopen its bounded continuation window. Read [recovery and platform details](references/recovery-and-verification.md) only when that branch is active. | ||
@@ -52,0 +53,0 @@ ## Hard Rules |
@@ -71,4 +71,4 @@ --- | ||
| When the map is built, linked, and tagged, end by naming the execution handoff explicitly — the user should never have to guess the next prompt: `Use $planr-loop on plan <build-plan-id>. Stop condition: all items closed with evidence, reviews complete, live verification logged.` (On hosts with a /goal primitive, `$planr-goal` wraps the same loop for long-running autonomous runs.) | ||
| When the map is built, linked, and tagged, end by naming the execution handoff explicitly — the user should never have to guess the next prompt: `Use $planr-loop on plan <build-plan-id>. Stop condition: all items closed with evidence, reviews complete, canonical Evidence coverage holds.` (On hosts with a /goal primitive, `$planr-goal` wraps the same loop for long-running autonomous runs.) | ||
| `plan check` rejects empty scaffolds: build plans must have content in `## Scope Decision`, `## Verification`, and `## Acceptance Criteria`; product plans must have content in `## Problem`, `## Requirements`, and `## Success Criteria` of `PRODUCT_SPEC.md`. Write those sections before checking — do not pad them to satisfy the gate. |
@@ -37,5 +37,7 @@ --- | ||
| planr plan audit <plan-id> --json | ||
| planr evidence readiness --scope plan --id <plan-id> | ||
| planr evidence explain --scope plan --id <plan-id> | ||
| ``` | ||
| It reads the stored contract, evaluates every clause with evidence (items settled, reviews complete, approvals clear, verification logged), and answers `holds: true/false` with the open items listed per clause. Report `contract holds` or `contract open` plus the exact unmet clauses straight from the audit output. Use `planr search "GOAL CONTRACT"` only to read the contract text itself. | ||
| Audit answers `holds: true/false` from settled items, reviews, approvals, and canonical Evidence coverage. Readiness reports configuration/runtime blockers before execution; explain reports exact receipt applicability and gaps. Report `contract holds` or `contract open` plus the exact unmet clauses straight from these outputs. Use `planr search "GOAL CONTRACT"` only to read the contract text itself. | ||
@@ -42,0 +44,0 @@ ## Verdicts |
@@ -44,11 +44,12 @@ --- | ||
| Then log evidence on the item: | ||
| Use the repository's configured web capability to create trusted Evidence, then evaluate coverage: | ||
| ```bash | ||
| planr log add --item <item-id> --kind verification \ | ||
| --summary "live verification (<tier>): <what was exercised and observed>" \ | ||
| --cmd "<exact replayable command>" | ||
| planr evidence readiness --scope criterion --id <criterion-id> | ||
| planr evidence run --input <run-file-for-the-configured-web-method> | ||
| planr evidence coverage --scope criterion --id <criterion-id> | ||
| planr evidence explain --scope criterion --id <criterion-id> | ||
| ``` | ||
| `--kind verification` marks the log as live-verify evidence; `planr plan audit` checks for it when a goal contract exists. | ||
| The observation contract decides what must be proved. Native Browser, CDP, Playwright, Computer Use, and HTTP probes are configurable methods, not a universal ranking. HTTP can fully prove an HTTP criterion but cannot satisfy rendered interaction, persistence, accessibility, console, or visual observations it never captured. | ||
@@ -62,3 +63,3 @@ Attach screenshots or traces as artifacts on the item: | ||
| The replay command is mandatory. The reviewer validates the evidence and reruns it only when it is cheap, missing, failing, or explicitly high-risk; a verification that cannot be replayed when needed is not evidence. A successful bounded live smoke joins the existing coherent review boundary and does not automatically trigger another full build or reviewer replay. | ||
| The replay contract and trusted method identity are mandatory. The reviewer validates the receipt and reruns it only when it is cheap, missing, failing, or explicitly high-risk; a verification that cannot be replayed when needed is not evidence. A successful bounded live smoke joins the existing coherent review boundary and does not automatically trigger another full build or reviewer replay. | ||
@@ -65,0 +66,0 @@ For a deployment oracle, require an approved deployment decision before the deploy begins. After deployment, keep the live check bounded to the changed routes, content, or interaction and record the deployed source/receipt identity in the summary. |
@@ -36,9 +36,12 @@ --- | ||
| Live verification (browser flow, executed binary, real requests) gets its own log kind so `plan audit` can find it: | ||
| Binding verification (browser flow, executed binary, real requests) must produce a trusted Evidence receipt and coverage verdict: | ||
| ```bash | ||
| planr log add --item <item-id> --kind verification --summary "verified <flow>: <observed outcome>" --cmd "<exact command>" | ||
| planr evidence readiness --scope criterion --id <criterion-id> | ||
| planr evidence run --input <run-file> | ||
| planr evidence coverage --scope criterion --id <criterion-id> | ||
| planr evidence explain --scope criterion --id <criterion-id> | ||
| ``` | ||
| The `--cmd` value must be copy-paste replayable: a real shell command (or a small script you committed), never a prose transcript like "start server; curl /; check stats". Reviewers validate the exact-source receipt and selectively replay cheap, missing, failing, or explicitly high-risk evidence; the command must still be runnable when that risk decision calls for replay. | ||
| The configured method must be copy-paste replayable: a real shell command, host capture, or committed verifier, never prose such as "start server; curl /; check stats". Reviewers validate the exact-source receipt and selectively replay cheap, missing, failing, or explicitly high-risk evidence. `planr log add` remains useful for narrative handoffs, but a free-form `kind=verification` claim has no binding closure authority. | ||
@@ -45,0 +48,0 @@ Log persistent evidence, not transient noise: a failure you immediately fixed belongs in the final log's narrative, not as a standalone failure log. Only record a failure separately when it blocks the item. |
+2
-2
@@ -209,4 +209,4 @@ # Planr | ||
| Goal: ship the weekly overview feature. DONE when every in-scope map item is closed | ||
| with log evidence, all reviews are closed complete, and a live verification log shows | ||
| the feature working in the browser. Iteration budget: 10. | ||
| with implementation evidence, all reviews are closed complete, and canonical Evidence | ||
| coverage proves the feature working in the browser. Iteration budget: 10. | ||
| ``` | ||
@@ -213,0 +213,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
85691843
0.62%7893
0.03%10
-9.09%