This document defines the day-to-day working workflow for OpenPets 2.0.
The goal is to build in clear phases with excellent DX, strong review, and manual confirmation after every meaningful checkpoint.
task.txt— product decisions, agreed scope, architecture direction, and discussion history.docs/implementation-process.md— high-level implementation phases and process rules.docs/workflow.md— practical working workflow for each phase.docs/phases/phase-XX-name.md— detailed spec for one phase.
Do not jump straight from product notes to code.
For each implementation phase:
- Write a dedicated phase spec in
docs/phases/. - Send the phase spec to Oracle for plan review.
- Fix or disposition Oracle feedback in the spec.
- Ask the user to approve the phase spec.
- Implement only the approved phase.
- Run relevant automated checks.
- Send the implementation diff to Oracle for code/maintainability review.
- Fix or disposition Oracle feedback.
- Give the user exact manual verification steps.
- Wait for user confirmation before continuing.
Phase specs should live here:
docs/phases/
Naming pattern:
docs/phases/phase-00-workspace-foundation.md
docs/phases/phase-01-tray-desktop-shell.md
docs/phases/phase-02-default-pet-window.md
docs/phases/phase-03-local-state-pet-manager-basics.md
Use two-digit phase numbers so files sort naturally.
Each phase spec should use this structure:
# Phase XX: Name
## Goal
## Non-goals
## User-visible/manual outcome
## Acceptance criteria
## Proposed files/directories
## Technical approach
## Risks and tradeoffs
## Security/privacy notes
## Test/check plan
## Manual verification guide
## Oracle plan review
## Oracle feedback dispositionThe spec should be concrete enough that implementation can proceed without rediscovering the whole plan, but not so detailed that it becomes fake certainty.
When sending a phase spec to Oracle for review, include:
- The phase spec path.
- The relevant product context from
task.txtif needed. - What decision or plan should be reviewed.
- Known uncertainties.
- Specific risks where Oracle should focus.
Oracle should review for:
- Architecture fit.
- Maintainability.
- Security/privacy issues.
- Data-loss risks.
- Cross-platform risks.
- Scope size.
- Missing acceptance criteria.
- Missing manual verification steps.
After Oracle reviews a phase spec or implementation, record feedback disposition.
Use these categories:
Fixed
Deferred
Rejected
Needs user decision
Do not silently ignore Oracle feedback.
If feedback expands scope significantly, ask the user before expanding the phase.
After Oracle plan review and spec updates, ask the user to approve the phase spec.
Do not start implementation until the user approves the phase spec.
The approval question should be direct:
Approve Phase XX for implementation?
During implementation:
- Implement only the approved phase.
- Do not add unrelated refactors.
- Do not silently expand scope.
- If the phase becomes too large, stop and propose a split.
- Keep changes aligned with
task.txt,docs/implementation-process.md, and the approved phase spec. - Prefer simple, reliable, cross-platform behavior over cleverness.
- Preserve v1 as reference material only; do not blindly copy v1 assumptions.
After implementation, send Oracle:
- Summary of implemented changes.
- Changed file list or diff summary.
- Test/check results.
- Known limitations.
- Deviations from the approved spec.
- Specific concerns where Oracle should focus.
Then fix or disposition Oracle feedback before asking the user to manually confirm.
After Oracle implementation review is resolved, give the user:
- What changed.
- Commands to run.
- Manual actions to take.
- Expected results.
- Known limitations.
- A clear confirmation question.
Example:
Please verify Phase 01:
1. Run `pnpm dev:desktop`.
2. Confirm the OpenPets tray icon appears.
3. Open Manage Pets, Configure Agents, and Settings from the tray.
4. Confirm each placeholder window opens.
5. Quit from the tray and confirm the app exits cleanly.
Does Phase 01 pass on your machine?
Do not proceed to the next numbered phase, or any meaningful user-visible sub-phase, until the user confirms.
Start with these phase specs:
phase-00-workspace-foundation.mdphase-01-tray-desktop-shell.mdphase-02-default-pet-window.mdphase-03-local-state-pet-manager-basics.mdphase-04-v2-pet-catalog-installation.mdphase-05-local-ipc-client.mdphase-06-mcp-integration.mdphase-07-claude-detection-configuration.mdphase-08-claude-enhanced-hooks.mdphase-09-first-run-onboarding.mdphase-10-mvp-hardening-packaging.md
Phases can be split later if they become too large.
Likely split candidates:
- Phase 04: catalog browsing vs zip install/validation.
- Phase 08: Claude hook reactions vs speech/polish.
- Phase 10: hardening vs packaging/release validation.
Track the active phase in the relevant docs/phases/phase-XX-name.md file and in conversation with the user.
Do not hardcode the current next action in this workflow document; it should stay reusable across phases.