Compass Method Figure It Out
Table of Contents
1. When to use this skill
The work does not match a method, or matches several. It is large, cross-cutting, novel, or the operator will be away while it runs. The failure this prevents is drift: doing large work by improvising each next step, which produces motion that cannot be reviewed and cannot be resumed.
Use it also when a narrower method fits the parts but not the whole. A migration across many call sites is a series of refactors, and the series needs a shape of its own.
2. How to use this skill
2.1. 1. Match first, and say why nothing fits
Before designing anything, check the methods that exist and state which you rejected and why. Most work that feels novel is a feature with an unfamiliar subject, and reaching here by default wastes the phases someone already wrote.
If one fits, use it. If two fit different parts, this method sequences them rather than replacing them.
2.2. 2. Ground the whole scope
Resolve the concepts across the whole of the work, not the first part of it (Grounding). Large work fails at the seams between its parts, and the seams are where the unresolved concepts hide.
2.3. 3. Write the phases, with a check for each
Design the method this work needs: the phases in order, what each
produces, and how each will be shown to have worked. A phase with no
check is a phase that will be declared done by feel
(principle-sequence-verifiable-units).
Say what would make you stop or change course. Work driven to completion without a stopping condition runs past the point where the plan stopped being right.
2.4. 4. Decide what is delegated, and what it is told
Where parts are independent, they can run separately, but a delegate inherits none of the grounding the session did. Each one is spawned as a named System, told what to read first and what it may do (Systems and levels).
Keep the shared state separable
(principle-separate-before-serializing-shared-state). Two agents
writing the same file, branch or lock is a coordination problem that
should have been a partition.
2.5. 5. Run the phases, and keep the trail
Work the phases in order, recording as you go: what was decided, what was
observed, what changed course. For anything the operator will review
later rather than watch, that trail is the deliverable alongside the code
(compass-principle-never-block-on-the-human).
Re-check the plan at each phase boundary. A plan that survives contact unchanged for many phases is usually not being read.
2.6. 6. Close the loop
When it is done, the method you designed is itself a finding. If the same
shape of work will recur, it becomes a real method
(principle-encode-lessons-in-structure); if it will not, say so, so the
next reader does not mine it for a pattern that was never intended.
3. When this method is the wrong one
Re-match downward as soon as the work turns out to be ordinary. Using this for something a narrower method covers adds a planning phase to work that did not need one, which is its own kind of waste.
4. Recipes
- How do I work a task? — the lifecycle the phases run inside.
5. Reference
- Methods and the mode — what a method is, and how a phase binds to actions.
- Principles — the rules cited above.
- Running agents — how a delegate is configured and bounded.