factory-plan · diff

git:20260902.8605dea to git:20260905.67e37c7

29 added, 20 removed. Audit A to A.

---
name: factory-plan
- description: Turn one issue into an implementation plan context-rich enough to build from in one pass. The factory's premium slot.
- argument-hint: the issue to plan, e.g. `gh:issue:12`
+ description: Plan one issue the way the factory plans it, using Archon's sdlc planner.
+ argument-hint: the issue to plan, as gh:issue:<n>
---
# factory-plan
- **The instructions for this step live in `.archon/workflows/factory/implement/commands/plan.md`. Read that file now and follow it.**
- This skill exists so you can run the step by hand; it deliberately does not restate
- the content, because a second copy is a second thing to keep true.
+ **The planner is Archon's, not ours.**
- Two adjustments for running it interactively rather than as a workflow node:
+ ```bash
+ archon workflow run archon-plan "Plan gh:issue:<n>. Read MISSION.md and FACTORY_RULES.md first."
+ ```
- 1. **`$ARTIFACTS_DIR` does not exist here.** Where the file asks for an input from
- that directory, get the same thing from the repository: `MISSION.md`,
- `FACTORY_RULES.md` and `CLAUDE.md` are at the root, the issue is
- `gh issue view <n>`, and anything a previous step wrote is wherever you put it.
- 2. **The line telling you to defer to a `piv-*` skill is for the workflow node, not
- for you.** If this repository has that skill, running it is still the better
- answer. If it does not, work the shape in the file -- which is what the node does.
+ `archon-plan` ships bundled in the engine. It grounds itself against the current
+ repository, writes `plan.md`, returns `ready`, and refuses to mutate the checkout while
+ it does. The factory used to carry a `prime` prompt and a `plan` prompt of its own;
+ both are gone, because two planners in one system is exactly the duplication this
+ integration exists to end. `priming.md` had one reader and went with them.
- Everything else applies unchanged: the same inputs, the same output, the same
- refusals. That is the point of pointing at one file instead of keeping two.
+ ## What the factory adds around it
- ## Why the factory and you read the same prompt
+ Only the things a planner cannot do for itself:
- The node prompts are the personalisation layer -- they are meant to be rewritten into
- your process. If the interactive version were a copy, rewriting one would silently
- leave the other saying something else, and the difference would first show up as an
- unattended run doing something you thought you had changed.
+ - **`preflight`** puts `issue.md`, `MISSION.md`, `FACTORY_RULES.md`, `decisions.md` and
+ `PRIOR-ATTEMPT.md` into the run's artifacts first, so the planner is pointed at them
+ instead of sent looking.
+ - **`gate-plan`** turns `ready: false` into a parked issue and a cancelled run. That is
+ the one thing the pack cannot do, because only this repo knows what "park it" means.
+
+ ## If you want a different planner
+
+ Put a workflow named `archon-plan` in your own `.archon/workflows/`. Project scope beats
+ bundled, so yours wins with nothing here to change. That is the seam — not a fork.
+
+ ## The one rule that outlives any planner
+
+ Nobody reads the diff before it merges. A planner should declare `ready: false` rather
+ than plan around an ambiguity it would normally raise in review, because there is no
+ review to raise it in.