Stage 2 / 18–20 min
Stage 2: Author & validate the spec
Turn the intended change into a buildable specification.
Your orientation Stage 2 · Define / PlanIntuition · Common language · Habit
Where you are in the work
- Define / Plan
- Execute
- Judge
- Learn
What you are developing
Recognize ambiguity that would force an agent to invent behavior.
Build this understandingUse testable acceptance criteria, authority, and explicit exclusions.
Use the shared languageTrace requirements to evidence and validate readiness before planning.
Practice this behaviorConcept — spec-as-context and readiness gates
You leave with — a specification an agent can build from without guessing
Whatever stays vague here becomes an invention later. Not might. Does.
The validated specification is the bounded authority every agent in Stage 4 will build from. It is the highest-leverage document in the lab, and right now it is not good enough.
⌘ python3 .claude/scripts/validate_spec.py
It will refuse the specification and name the failing checks. They map to the eight checks in
docs/SPEC_COMPLETENESS_BAR.md.
Intuition
The facilitator demonstrates — one weak requirement becoming testable
✗ WEAK
"Handle duplicate refunds correctly."
✓ BUILDABLE
"When Payment Processor identifies a duplicate logical refund, the TTA
boundary preserves the duplicate-conflict semantics, and the downstream
repository contains no second refund record."
Look at what actually changed. The second version names who decides, what the caller observes, and what must be true of stored state afterwards. Three things a test can check.
The first names none of them. The word “correctly” was carrying the entire requirement, and “correctly” is exactly where an agent inserts its own judgement.
Common language / Standardization
▶ Your turn — harden the rest
The specification carries several more weaknesses of the same shape. Work through them with your agent and re-run the gate until it reports READY.
Three rules while you do:
1 · Do not close an open question by answering it.
OQ-1 asks how the idempotency key is derived in production. The source material states the
duplicate rule and the status code, and never states the derivation.
⚠ Trap — the strongest one in this lab. Your agent will offer you a reasonable-sounding derivation. It will look like diligence. In payments, an invented key derivation is a business decision made by something with no authority to make it — and it will read as perfectly sensible right up until it moves the wrong amount of money.
It stays open. Refusing to answer it is the single most important thing you do today.
2 · Do not weaken the out-of-scope list to make something fit. It is write-protected, so the gate will stop you. The instinct is the thing worth noticing in yourself.
3 · Everything you add traces to docs/PGS_DECISIONS.md — as a Meridian fact, or as an explicitly
labelled lab representation. Nothing gets invented into existence.
Habit / Behavior
Human gate before you move on
Read your hardened specification once more and ask one question:
Did we invent any Meridian behaviour to get here?
If yes, take it out and put the question back.
The gate is structural. It tells you the specification is well-formed, never that it is right —
which is why the status file records "semantic_authority": "human-reviewed" rather than quietly
implying a machine approved the content.
⌘ /hand-off
⏸ Q&A pause — 3 min
Domain, spec, or gate questions. Environment problems go to the parking lot instead of into the room.
Carry the work forward
Complete the stage’s instructions and hand-off above before continuing. Keep your evidence and unresolved questions with the work.
If you fall behind or need help