Compass methodology¶
Compass is an adaptive, spec-driven delivery framework. It applies enough process for the work at hand while preserving a small set of non-negotiable outcomes.
This document defines the stable model. Commands, templates and policies are its executable expression.
1. Why adaptive process¶
A fixed workflow fails at both ends:
- it makes small, familiar changes too expensive; and
- it gives large, risky or unfamiliar changes too little protection.
A ladder of “light, medium, heavy” improves the situation but still collapses different questions into one scale. A one-file migration can be small and dangerous. A large prototype can be exploratory and disposable.
Compass therefore computes a delivery approach from several dimensions rather than asking the user to select a process tier.
2. Assessment and routing¶
Every issue begins with an assessment:
| Dimension | Question | Typical values |
|---|---|---|
| Risk | How far does a failure reach? | trivial, contained, cross-cutting, critical |
| Familiarity | How well is the affected system understood? | greenfield, mapped brownfield, unmapped brownfield |
| Size | How much delivery work is involved? | atomic, small, standard, large, product |
| Goal and role | What outcome is wanted, and who is entering? | delivery or exploration; product, design, engineering, marketing or QA |
Assessment is judgement. The assessor must explain uncertain or consequential choices, and a human can correct them before work proceeds.
Routing is mechanism. Once the assessment exists, the kit applies
governance/routing-policy.yml, including floors, caps and immovable gates.
Judgement goes into the assessment. Everything after it is deterministic: the same assessment plus the same policy produces the same approach, every time.
The kit writes the result to delivery-approach.md, including:
- the recorded assessment;
- the computed approach;
- the stages, artifacts and gates that apply;
- the allowed delivery orchestration; and
- anything omitted, with the reason it is safe to omit.
De-scoping is therefore a visible decision rather than an accidental gap.
3. One flow, adaptive depth¶
Compass has eight methodological stages, one command per stage:
| Command | Methodological stage | Purpose |
|---|---|---|
/compass:assess |
Assess | Read the four dimensions and compute the delivery approach. |
/compass:define |
Define | State observable behaviour. |
/compass:refine |
Requirements review | Resolve ambiguity. |
/compass:plan |
Plan | Decide how to build it. |
/compass:breakdown |
Breakdown | Decide how work can be distributed safely. |
/compass:implement |
Implement | Produce tested changes and evidence. |
/compass:verify |
Verify | Review behaviour, quality, traceability and gates. |
/compass:ship |
Ship | Integrate, recheck and close the issue. |
The vocabulary remains stable. The weight changes:
- a stage can be full, light, collapsed or skipped;
- a collapsed stage still records the decision it would otherwise contain;
- a skipped stage needs an explicit de-scope reason; and
- assessment always runs for delivery or exploration work that will change files.
4. Reference shapes¶
Most computed approaches resemble one of five reference shapes. They are starting points, not selectable levels.
| Shape | Typical response |
|---|---|
| Quick fix | One scenario, focused implementation and verification; plan and breakdown normally collapse. |
| Regular | A small scenario set, proportionate design, solo or paired implementation and normal verification. |
| Full | Product intent, architecture and delivery planning at full weight; detailed design, test strategy and parallel subtasks where useful. |
| Hotfix | Reproduce before changing code, restore service safely, then complete the owed specification and evidence. |
| Spike | Time-boxed exploration with no production delivery; conclude, discard, defer or reassess into a delivery approach. |
Risk and size remain independent. Policy can raise a small auth or migration change above its size-based default, and can cap parallelism where coordination risk would outweigh speed.
5. Guardrails and strategies¶
Compass separates non-negotiable outcomes from context-sensitive practices.
Guardrails¶
Guardrails are few, checkable and blocking:
- Delivery code is tested before it ships. Stated exactly as
governance/guardrails.ymlstates it, because a reader who finds two wordings has no way to know which is current: no code reaches main unless it traces to a declared test and a green test run is on record. - Acceptance is defined before implementation.
- Code, criteria, intent and public claims remain traceable.
- Gates clear with evidence rather than assertion.
- A human approves irreversible or critical-risk work.
An approach can reduce process weight but never removes a guardrail.
Strategies¶
Strategies are strong defaults that improve the work when they fit. You can depart from a strategy if you record why; that is not treated as a breach.
Examples include:
- BDD and TDD;
- ADRs;
- threat modelling;
- accessibility review;
- performance modelling;
- writing for a cold reader; and
- visual architecture and design models.
Use a diagram inside an HLD or LLD when it makes the design easier to understand:
| Need | Useful strategy |
|---|---|
| System scope and ownership | C4 context or container diagram |
| Runtime interaction | Mermaid sequence diagram |
| Data relationships | Mermaid ERD |
| Types and responsibilities | Mermaid class or UML class diagram |
| Component dependencies | C4 component or focused dependency diagram |
These are strategies, not mandatory sections. A diagram that adds no information is process weight; a diagram that makes a difficult relationship clear is valuable design work.
The conflict rule is simple: a guardrail beats a strategy. The delivery approach, or a human, settles a conflict between strategies.
6. Artifacts are a review pack¶
Compass stores each issue beneath .compass/work/<issue>/.
Two files anchor the pack:
README.mdis the human dashboard: delivery approach, status, decisions, approval and next action.manifest.ymlis the manifest: assessment, stage state, gates, traceability and evidence registry.
Other artifacts are selected by the delivery approach. They can include:
| Concern | Typical artifacts |
|---|---|
| Product intent | intent.md |
| Acceptance | acceptance-criteria.md, requirements-review.md |
| Architecture and design | HLD, LLD, ADRs, technical-design.md, architecture-notes.md |
| Delivery | distribution-map.md, implementation plan |
| Quality | test strategy, verification-report.md, evidence/ |
| Launch | positioning.md, launch-readiness.md |
| History | devlog.md, follow-ups and reassessments |
An artifact must be understandable to a reader who was not in the conversation: context before detail, resolvable references, explicit decisions and no pipeline narration.
The terminal points to the decision and the document to review. Full policy output and logs remain available as evidence without dominating the conversation.
7. One specification, several roles¶
Product, design, engineering, marketing and QA contribute through distinct
entry points but share acceptance-criteria.md.
- Product checks intent fidelity.
- Design contributes interaction behaviours.
- Engineering derives tests and implementation.
- QA challenges coverage and evidence.
- Marketing traces claims to tested behaviour.
This prevents parallel specifications from drifting. See the roles guide for the role commands, artifacts and a worked example.
The architect perspective is cross-cutting rather than an entry-point role. It checks the issue against project architecture and annotates the design without creating a second specification.
8. Evidence and gates¶
Compass distinguishes a claim from evidence. “Tests pass” is a claim. A recorded command, exit code and evidence type is evidence the CLI can inspect.
Gate evidence is typed. A correctness gate can need a test run; a written note cannot satisfy it. A high-risk gate can need a structured human approval rather than a checkbox.
The Definition of Ready and Definition of Done are therefore checkable state, not narrative status. Unchecked items must refer to typed evidence or an explicit follow-up.
The safety contract states the exact guarantees and limits. In particular, Compass evidence does not replace normal CI or prove software correctness.
9. Safe parallelism¶
Planning identifies independent work units before choosing an orchestration:
| Orchestration | Use |
|---|---|
| Solo | One subtask on the current branch. |
| Pair | Two or three isolated subtasks with a clear integration owner. |
| Multiagent | Four or more isolated subtasks plus an orchestrator responsible for integration. |
Parallelism is useful only when subtasks have separable scenarios and code surfaces. The delivery approach can cap parallelism for critical work even when the issue is large.
The reference adapter uses Git worktrees so each subtask can run failing tests without destabilising its siblings. A different runtime must give each subtask its own workspace or reduce the orchestration.
10. Reassessment and the retrospective signal¶
An adaptive framework must learn whether it is adapting well.
Reassess when risk, size, familiarity or goal changes materially. Record the reason instead of absorbing the change silently.
Across issues, Compass exposes advisory signals:
compass retroshows whether delivery approaches are commonly increased or reduced;compass rework-scanidentifies configured cross-issue churn patterns;compass flowsurfaces status, blockers and follow-ups; and- friction records highlight recurring over-weight, under-weight or tooling problems.
These signals never tune governance automatically and do not gate delivery. They inform a human decision to change the rubric, policy or strategies.
11. The three layers: methodology, kit and adapter¶
Compass separates what it believes from how a runtime runs it:
| Layer | Contains | Porting rule |
|---|---|---|
| Methodology | Documentation, governance prose, reference approaches and templates | Reuse unchanged. |
| Kit | Python CLI, machine-readable policy, schemas and issue manifest | Invoke unchanged. |
| Adapter | Runtime commands, agents, skills, hooks and installation wiring - bin/compass and .claude-plugin/ in the shipped one |
Rebuild for the target runtime. |
The adapter produces the assessment because that needs judgement. It calls the kit for routing and checks because those must remain deterministic.
See Portability for the adapter conformance contract.
12. Design principles¶
- Compute the process; do not select it from a menu.
- Adapt process weight and strategy, never the guardrail outcome.
- Keep judgement explicit and mechanism deterministic.
- Make de-scoping a written decision.
- Use one shared specification across roles.
- Prefer evidence over assertion and files over conversation.
- Parallelise only independent work.
- Treat reassessment as a normal event, not a failure.
- Generate artifacts for human review, not agent consumption alone.