Skip to content
PawOS Docs

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. 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. 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. 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. 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. 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. 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.

Text
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

Implemented

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

SurfaceWhat it meansWhat it does not mean
Approve PlanRecords 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 PlanRecords 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 ChangesShows 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 summaryShows 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.