Planning & Review
Proposing a multi-file edit plan before anything is applied.
For a non-trivial change, PawOS can propose a concrete plan — one step per file it intends to touch — before applying anything, so you can review the scope of a change before it happens.
Approval now has a dedicated visual Plan Review card for structured plans. The card is still intentionally plan-level: it records approval or rejection in the conversation and preserves the existing destructive-action confirmation boundary.
- 1
When a plan is created
For non-trivial code edits, the model calls proposeCodeEditPlan with a description plus proposed edits. The plugin builds an ExecutionPlan and does not apply changes itself.
- 2
What the user sees
The Task Card shows PAWOS PLAN, files affected, a numbered file list, each file rationale, estimated +/− line scope, and Approve Plan / Reject Plan buttons.
- 3
Per-file review
Expanding a plan item shows file path, action, reason, affected area, proposed changes, and a View Diff section when applyCodeEdit hunk data exists.
- 4
Approve
Approve Plan submits a normal user-visible message approving that plan id. The runtime can continue, but actual mutations still need their own confirmation.
- 5
Reject
Reject Plan submits a normal user-visible rejection. Planned mutations are not executed, the conversation remains intact, and the user can request a revised plan.
- 6
Modify
Ask for changes in chat after rejecting or before approving. PawOS should prepare a new plan rather than mutating the rejected one.
Warning
Do not confuse Plan Approved with Code Edit Authorized. The UI does not implement hunk-level approval, and it does not bypass applyCodeEdit, writeFile, runCommand, git, install, PATH, deploy, or connector confirmations.
PAWOS PLAN
Add dark mode
Files affected: 4
1. src/theme.ts
CHANGE - Add color tokens
2. src/App.tsx
CHANGE - Wire theme state
Estimated scope:
4 files
+126 / -31 lines
[Approve Plan] [Reject Plan]Product disclosure
This page documents the current PawOS behavior for Planning & Review. It is intended to disclose what users can see and use, what permissions are required, what evidence is recorded, and what limitations remain.
This disclosure is part of the PawOS documentation for Planning & Review. It is written to make the product behavior understandable before a user relies on it, pays for it, connects an account, approves a plan, or authorizes a machine-affecting action.
What users see
- The Coding Workspace, Task Card, Plan Review card, affected files, status pills, proposed changes, permission summary, command output, diff surfaces, validation results, preview state, and final Work Record.
- For multi-file work, users should see the plan title, scope summary, per-step rationale, affected area, proposed diff when hunk data exists, and Approve, Reject, and Revise controls.
- During execution, users may also see terminal output, running processes, build/test evidence, browser preview state, screenshots, and real file-change summaries.
What PawOS does
- PawOS may inspect project structure, dependencies, import graphs, feature groupings, domain concepts, affected files, and coding memory before proposing work.
- Code edits use structured action requests such as applyCodeEdit and writeFile; applyCodeEdit uses context-anchored hunks against current on-disk content.
- Validation can include syntax checks, import checks, typecheck, lint, build, tests, process health, browser console/network checks, and visual evidence when those tools are available.
Permissions and boundaries
- Plan approval records intent only. It does not bypass applyCodeEdit confirmation, writeFile overwrite checks, command confirmation, git write confirmation, install confirmation, PATH/system confirmation, connector authorization, or deploy authorization.
- Commands are governed by allowlists and execution rules; PawOS is not a raw arbitrary shell.
- A generated diff is only authoritative when it comes from actual hunk data or a real git/file diff. The UI must not invent a diff for a step that has no patch.
Evidence and records
- A real coding completion should show file paths, changed content or diff stats, commands executed, exit codes, relevant output, validation results, and any screenshots or browser evidence used to confirm UI behavior.
- If validation was skipped because a script or config was absent, that skipped state should be disclosed.
- If a plan was rejected, there should be no planned mutation from that rejected plan.
Limitations and user responsibility
- Live Plan Review visual QA, real Pro/Pro Max account execution, and plan-to-execution lifecycle visualization may require an eligible running app/account environment.
- Some non-TypeScript projects remain editable but may not receive the same deep structural analysis as TypeScript/JavaScript projects.
- Whole-file writes can describe intended content, while fine-grained View Changes requires concrete patch hunk data or an actual diff source.
Plan Review disclosure
| Surface | What it means | What it does not mean |
|---|---|---|
| Approve Plan | Records that the user approves the displayed plan id and allows PawOS to continue through the normal conversation handoff. | Does not authorize edits, commands, git writes, installs, PATH/system changes, connectors, or deploys by itself. |
| Reject Plan | Records rejection of the displayed plan and tells PawOS not to apply those planned mutations. | Does not delete the conversation, hide the plan, or authorize a different plan silently. |
| View Changes | Shows concrete patch hunk data when an applyCodeEdit step contains real hunks. | Must not invent a diff for writeFile, command, or any step that has no patch data. |
| Scope summary | Shows counts derived from the ExecutionPlan action requests, such as affected files and authoritative hunk line counts where present. | Is not a billing estimate, elapsed-time estimate, or promise that validation will pass. |
Warning
PawOS can assist with planning, coding, automation, connectors, billing flows, and system operations, but the user remains responsible for reviewing plans, confirmations, diffs, command effects, connector side effects, billing actions, and final outputs before relying on them.
Related