This playbook defines how ForgePCB is run as an operating system:
- mixed technical + hands-on work
- deterministic progress
- interruption-safe execution
- auditable decisions
- correct Git repository boundaries
This project operates strictly as:
Features → Claude Code work items → Execution → Verification → Status
Humans:
- Define and freeze features
- Execute hands-on work
- Validate outputs
Claude Code:
- Derives work items from Features
- Orders execution into sprints
- Maintains deterministic status updates
- Executes Git operations in the correct repository context
- ForgePCB (authoring):
pfdesignlabs/ForgePCB - ForgeOS (consumer):
pfdesignlabs/ForgeOSwith subtree atcomponents/forgepcb/
- Make changes in ForgePCB
- Commit + push in ForgePCB
- In ForgeOS, update subtree:
git subtree pull --prefix=components/forgepcb forgepcb main --squash
- Direct edits committed inside
ForgeOS/components/forgepcb/ - “Quick fixes” in the subtree without upstream ForgePCB commits
- Ensure Features are complete and frozen enough to derive work items.
- Claude Code generates work items and proposes a sprint.
- Declare/confirm an
ACTIVE_SLICE.mdfor what is in scope now. - Execute only work items inside the active slice.
If execution would deviate from a Feature or from the current plan:
- Log a decision in
/decisions/DECISIONS.md - Update the Feature to reflect the new truth
- Only then proceed
When stopping:
- Update the work item state (what is done, what remains)
- Write a RESUME BLOCK with the exact next safe action
- Update
/status/NEXT.mdto point to the resume action
When resuming:
- Read
ACTIVE_SLICE.md - Read
/status/NEXT.md - Read the RESUME BLOCK referenced by NEXT
- Continue only from a known state
A work item is DONE only if:
- acceptance criteria are met
- verification evidence is recorded (even for hands-on work)
- no open TODOs remain that affect correctness
- status pages are updated
A Feature is STABLE only if:
- invariants are respected
- interfaces are consistent
- no open “unknowns” remain that would force redesign downstream
/status/INDEX.mdis the single-pane-of-glass/status/NEXT.mdis the single next action/status/DEFINITIONS.mddefines state meanings and rules