Phase 0 · Discovery Next: Phase 1 →

Home › Phase 0 · Discovery

Phase 0 · Discovery

Discovery, explained What the first two weeks of an engagement are really for — the idea beside the real example (expand any section for the full method), the complete worked example, and a quick reference.

How it works the idea beside the real example — expand any section for the full method · Example the complete Harbor artifacts · Steps the same procedure, no company, just the plugin · Reference the quick mechanics

When an AI writes the code, the hard part isn't writing it. It's knowing what to build — and being sure it's the right thing.

Phase 0 is where you find that out, before a single line gets written.

Every idea below is paired with the real thing — examples come from a fictional but fully worked engagement, Harbor Mutual, a regional insurer.

01

Why this phase exists at all

Why Phase 0 exists

An AI agent can produce a working feature in an afternoon. That speed is only an advantage if the feature is the right one. Build the wrong thing quickly and you've just arrived at the wrong place sooner.

The idea

So the most valuable move at the start isn't to build — it's to make sure everyone agrees what "done" means, that the goal can be measured, and that the client's own documents don't quietly contradict each other.

A wrong assumption caught in week one is a twenty-minute conversation. Caught in month three, it's a rebuild — because real code now depends on it. Phase 0 trades a little time now for a lot of rework avoided.

At Harbor Mutual

Harbor had already lived this. An earlier attempt to modernize the same system was cancelled in its sixth month — it launched with no internal owner, and the real integration work wasn't discovered until month five.

From Harbor's own post-mortem
"Cancelled in month six. No single internal owner; integration scope only surfaced in month five."

Phase 0 is the countermeasure: surface that scope in week one, not month five.

Skip this phase and…

You build the wrong thing precisely — a polished, well-tested solution to a problem nobody actually had.

Go deeper — the full method

An AI coding agent can produce a working feature in an afternoon. That speed is only worth anything if the feature is the right one. Build the wrong thing quickly and you have simply arrived at the wrong place sooner — and now real code depends on the mistake. Phase 0 is where the engagement makes sure it is solving the right problem before a single line gets written.

Phase 0 answers four questions, and nothing else:

  1. What problem are we solving, and how will we know we solved it? One measurable metric — not a feature list.
  2. Who decides product questions during the build? The PO decision.
  3. Can we legally and technically work? Tooling, access, the data boundary.
  4. What constraints are non-negotiable? Technical, regulatory, organizational.

Everything that looks like requirements, design, or planning is deliberately out of scope. That work has its own phases. Pulling it forward before these four answers exist is how engagements end up building the wrong thing precisely — a polished, well-tested solution to a problem nobody actually had. A wrong assumption caught in week one is a twenty-minute conversation; caught in month three it is a rebuild, because real code now depends on it.

The expensive mistake

Anything built before the four answers exist gets rebuilt once the answers arrive. Pulled-forward work is not a head start — it is rework with a delay.

02

The rule that governs everything

The one rule

Claude drafts and interrogates; humans decide and own. This single sentence is the spine of the whole method. The AI does the reading, the summarizing, the questioning, and the first drafts. People make every decision and carry the accountability. A machine reports; a named human signs.

The idea

Phase 0 applies the rule at its strictest: the AI never invents the problem. What the project is actually for is written by a human, full stop.

  • Claude reads every document, finds the contradictions, lists the open questions, writes the first drafts.
  • People decide what the problem is, settle the contradictions, choose the measure of success, and correct & sign the drafts.

Drafting is cheap; truth is expensive. So the humans spend their time on is this true? — not on typing.

At Harbor Mutual

Claude drafted Harbor's problem statement from the workshop notes — and framed it as a claims-team efficiency problem, because that's what the documents emphasized.

On day 5, hearing it read aloud, the sponsor stopped and corrected it:

The AI's draft, from the documents
"Adjusters are overloaded; the goal is to make the claims team more efficient."
The sponsor's correction — the real problem
"Customers leave when claims drag. This is about renewals — roughly $3.4M a year."

The AI produced the draft; a human owned the truth.

Go deeper — the full method

One sentence is the spine of the whole method: Claude drafts and interrogates; humans decide and own. The AI does the reading, the summarizing, the questioning, and the first drafts. People make every decision and carry the accountability. A machine reports; a named human signs.

Phase 0 is the phase with the strictest human-in-the-loop rule in the whole standard: the problem statement is human-authored. Claude never invents the problem. What the project is actually for is written by a human, full stop. What Claude does do, heavily:

  • Document intake. The corpus is ingested on day 1–2: per-document summaries, a registry with DOC-NNN IDs for traceability, and a contradiction list ("the RFP says X, the architecture deck says Y").
  • Interrogation. Before the workshop, Claude generates the question list from the corpus — gaps, ambiguities, unstated assumptions. After the workshop, it generates the decision list: every decision the humans have not made yet, named explicitly.
  • Drafting. Every artifact is drafted by Claude from human-generated raw material (workshop notes, interview notes), then corrected by the Pod Lead and ratified by the sponsor. Drafting is cheap; the humans spend their time on whether it is true.

What Claude is not in the room for: the workshop itself and the interviews. Those are human conversations. Claude preps the questions going in and structures the notes coming out. The mandatory human stops in this phase are two: problem framing is human-authored, and the phase advance is a named human sign-off.

The division of labor

Claude reads every document, finds the contradictions, lists the open questions, writes the first drafts. People decide what the problem is, settle the contradictions, choose the measure of success, and correct & sign the drafts.

03

The cast for the two weeks

Who's involved

Phase 0 is deliberately thin on our side — two people plus Claude. The weight sits on the client: the sponsor who owns the outcome, the data owner who can produce the number, and the people who actually live the problem every day.

The idea

A small pod by design. Two named humans carry the work, and Claude drafts under them — never deciding.

  • Pod Lead — runs the workshop and interviews, owns every artifact's content, gets the sponsor's signature.
  • Setup Owner — chases access, the repo, and the data-flow brief, so the slow plumbing never holds up the phase.
  • Claude — reads the corpus, surfaces contradictions, writes first drafts. Drafts, never decides.

The rest of the cast is the client's — and the hardest to book is usually the data owner. Get them on the calendar first.

At Harbor Mutual — the cast

Pod

  • Maya Chen — Pod Lead
  • Rob Feld — Setup Owner
  • Claude — drafts, never decides

Harbor

  • Karen Voss — VP Claims Ops, the sponsor
  • Luis Ortega — Claims PM, the eventual PO
  • Priti Shah — BI lead, the data owner
  • Dan Kowalski — IT Security
  • Gail Tran & Marcus Webb — senior adjusters
  • Dee Alvarez — intake supervisor
Go deeper — the full method

Phase 0 is deliberately thin on our side. Most of the pod is not yet billing; the work is two people running two parallel workstreams, with Claude doing the reading and drafting.

Our side

PersonLoadWorkstream
Pod Lead60–80%Understanding — the workshop, stakeholder interviews, every artifact's content, the decision list, sponsor sign-off
Setup Owner40–50%Enablement — Anthropic procurement, repo and access checklist, the data-flow brief to client security, the empty delivery repo with the engagement structure initialized
Quality Engineer~10%One job: vet the success criteria for measurability ("what query, on what system, produces this number?")
Orchestrators0–10%Not yet staffed, or assisting document intake; they arrive for real in Phase 1

If the engagement is multi-pod from the start, the Engagement Lead runs Phase 0 once for the engagement; pods do not run separate discoveries.

Client side

PersonNeeded forHow much
Sponsor (owns budget and outcome)The workshop, the PO decision, phase sign-offWorkshop half-day + two 30-min checkpoints
Candidate POThe workshop; the PO-mode commitment decisionWorkshop + one conversation
Security / ITAnthropic procurement, repo access, data-flow brief reviewHours, but with lead time — engage day 1
Domain experts (2–4 who live the problem)Interviews in week 145–60 min each
Ops / data ownerVerifying the success metric is actually readableOne working session

The hardest person to get is usually the data owner. Book them early — an unverifiable success metric is the most common Phase 0 failure.

04

What the two weeks must answer

The four questions

Everything Phase 0 produces exists to answer exactly four questions. Each is non-negotiable, and each has a specific way of going wrong when you skip it.

The idea — the four questions
  1. What problem, and how will we know we solved it? A problem and one number — not a feature list.
  2. Who decides product questions during the build? Someone client-side has to own the daily calls.
  3. Can we legally and technically work? Tooling, access, and what data the AI sees.
  4. What's non-negotiable? The constraints that can't be designed away.
At Harbor Mutual — the four answers
  1. Customers leaving at renewal; success = median days from claim to decision (11.4 today).
  2. Luis Ortega, the Claims Product Manager — 6 hours a week.
  3. Cloud is Azure-only; customer data stays inside Harbor's own tenant; AI access under Harbor's account.
  4. The once-a-night core system stays; two states mandate a 15-day acknowledgment clock.
The temptation to resist

It feels productive to start sketching requirements or architecture now. Don't. Each has its own phase, and anything built before these four answers exist gets rebuilt once the answers arrive.

Go deeper — the full method

Everything Phase 0 produces exists to answer exactly four questions. Each is non-negotiable, and each has a specific way of going wrong when it is skipped.

  1. What problem are we solving, and how will we know we solved it? A problem and one number. The success metric is a single measurable thing, not a deliverables list. If the answer names a system instead of a number, it is a feature list wearing an outcome costume.
  2. Who decides product questions during the build? Once building starts, product questions arrive every day. Someone client-side has to own the daily calls — a named PO with committed hours, or a signed proxy arrangement. This is the PO decision, and it carries billing teeth.
  3. Can we legally and technically work? The AI needs a contract and keys, and the client's security team needs a written answer to one question: what data does this thing see, and where does it go? Tooling, access, and the data boundary — settled before anyone opens a terminal.
  4. What constraints are non-negotiable? The technical, regulatory, budget, timeline, and political facts that cannot be designed away. Each gets recorded with a rationale and a fixed-or-negotiable flag.
The temptation to resist

It feels productive to start sketching requirements or architecture now. Don't. Each has its own phase, and anything built before these four answers exist gets rebuilt once the answers arrive.

05

The technique that earns the phase

Reading the documents against each other

A client hands over a stack of documents written by different people at different times. They disagree constantly — and those disagreements are exactly where the project's biggest risks are hiding.

The idea

The AI doesn't just summarize the pile. It reads it against itself, finding every place document A says one thing and document B another.

A contradiction isn't an embarrassment — it's a decision nobody realized they had to make, surfaced while it's still cheap. Each gets sized two ways: how much it matters (blocks the goal, or just nudges a design choice?) and where it's answered (a quick email, or a decision that needs the right people in a room).

At Harbor Mutual

Reading Harbor's eight documents against each other surfaced four contradictions. The one that earned the phase:

What the client asked for
"Real-time claim decisions at the moment a claim is reported."
What their system actually does
"Records sync only once a night; during the day you see yesterday's data."
Settled in the workshop
"Same-day decisions for v1; real-time deferred. Caught on day 3 — not month 3."
Go deeper — the full method

A client hands over a stack of documents written by different people at different times: RFPs, prior vendor docs, API specs, strategy decks. They disagree constantly — and those disagreements are exactly where the project's biggest risks are hiding. Claude does not just summarize the pile; it reads it against itself.

On day 2, the most tool-dense day of the phase, every corpus document is cataloged with a stable ID (DOC-001, DOC-002…). The Pod Lead reviews the catalog and sets priorities — which documents matter most, which to skip. Claude then writes a budgeted summary per document (capped by priority so the whole corpus stays loadable in one later session), a human-readable registry, and a condensed index that loads at the start of every later session. The catalog is locked once complete, so document references stay stable all the way into requirements traceability.

A fresh analysis agent — one that has not been part of the conversation so far — then compares the documents against each other and produces two artifacts:

  • The contradiction list (CON-01, CON-02…) — every place the documents disagree, each entry carrying two verbatim quotes with their sources, a severity rating, and the question a human must answer to resolve it.
  • The question list (Q-01, Q-02…) — everything no document answers, grouped by workshop agenda block.

Each item is sized two ways. Severity: does it block an outcome, or merely shape a design choice? Routing sends each question one of three ways — workshop (only the room can answer it), pre-workshop (answerable by email before day 3, sent the same day so room time is spent only on what the room can uniquely answer), or interview (better asked one-on-one on day 5).

Why a contradiction is good news

A contradiction is not an embarrassment. It is a decision nobody realized they had to make, surfaced while it is still cheap to make it.

06

The one measure of success

The success metric

"Reduce processing time by 30%" sounds like a goal. It's worthless if nobody can produce today's processing time. A target with no readable baseline is a wish.

The idea

The success metric must be read live from a real system, with the current number written down and its source named. Promised isn't good enough; proven is the bar.

And if the number can't be produced? That's not a footnote — it's a finding. Either the metric changes to something measurable, or "build the measurement" becomes the very first job of the next phase. Decided now, not discovered in week nine.

At Harbor Mutual

The team sat with the data owner and produced the number on screen, from the real report:

11.4≤ 5.0 days from claim to decision today → the target within a year

They even caught that the report's label was wrong while its underlying number was right — something you only see by actually running it.

The most common way Phase 0 fails

Everyone nods along to a goal nobody can measure. Months later there's no way to tell if the project worked. That's why proving the metric is a whole day's work.

Go deeper — the full method

"Reduce processing time by 30%" sounds like a goal. It is worthless if nobody can produce today's processing time. A target with no readable baseline is a wish. The success metric must be read live from a real system, with the current number written down and its source named. Promised is not good enough; proven is the bar.

On day 6 the pod sits with the client's data owner and actually runs the query, opens the dashboard, or pulls the report the metric will be read from — and records the baseline number in success-criteria.md with its source named. The Quality Engineer then vets every success criterion: baseline, target, measurement method, reading cadence.

If the number cannot be produced, this is a Phase 0 finding, not a footnote. Either the metric changes to something measurable, or "instrument the metric" becomes the first epic of Phase 1 — decided now, not discovered in week nine.

The most common way Phase 0 fails

Everyone nods along to a goal nobody can measure. Months later there is no way to tell if the project worked. That is why proving the metric is a whole day's work.

07

Who answers the daily questions

Who decides (the PO)

Once building starts, product questions arrive every day. There are two honest ways to handle who answers them — and one dishonest way that quietly poisons the engagement.

The idea
  • Named-owner mode — the client commits a person, with hours, who answers within a couple of business days.
  • Proxy mode — no owner available, so the pod decides on the client's behalf, logs every call, and the client ratifies the log at each check-in.
  • × "We'll figure it out as we go" — proxy mode by accident, with no agreement and no log. The worst of both. The workshop forces the choice out loud.
At Harbor Mutual

Harbor committed a named owner:

Luis Ortega — Claims Product Manager
6 hours a week · product decisions answered within two business days

Because this is a contract precondition, the build clock couldn't start until it was settled — no shrugging it down the road.

Go deeper — the full method

Once building starts, product questions arrive every day. There are two honest ways to handle who answers them — and one dishonest way that quietly poisons the engagement. The workshop forces the choice out loud, and the answer is recorded in writing so it is durable.

  • PO mode. The client commits a named PO at ≥ 4 hours/week with a 2-business-day decision turnaround. Triage invitations go on their calendar and the PO onboarding guide is delivered.
  • Proxy mode. No owner is available, so the pod answers day-to-day product questions itself under a signed rider, logs every decision, and the client ratifies the log at each steering meeting.
  • × "We'll figure it out as we go." Proxy mode chosen implicitly, without the rider and without the decision log — the worst of both modes. The workshop agenda exists to prevent exactly this.

The decision is finalized on day 7 as a PO decision record: the mode chosen in writing, with the PO named and their calendar commitments captured, or the rider signed and the decision log created with ratification added to the steering agenda. Because this is an SOW precondition with billing teeth, the build clock cannot start until it is settled — there is no shrugging it down the road.

08

Can we even work here?

Tooling & the data boundary

The AI needs a contract and keys, and the client's security team needs a clear, written answer to one question: what data does this thing see, and where does it go?

The idea — three paths
  • Default — the client procures access under their own agreement; keys live in their vault; their contract, their audit trail.
  • Fallback — if procurement is slow, start under our keys with the client's written consent and a fixed date to migrate to theirs.
  • High-compliance — the AI runs inside the client's own cloud tenant, for the strictest environments.
At Harbor Mutual

Harbor took the default path:

AI agreement signed on day 8 — two days before the fallback would have triggered. Keys went into Harbor's own vault; customer data stays inside their cloud (Azure-only).

The fallback sat ready the whole time, just in case procurement slipped. It didn't.

Why this one has teeth

Live access (or a signed fallback) is a condition of closing Phase 0. The next phase doesn't begin without it.

Go deeper — the full method

The AI needs a contract and keys, and the client's security team needs a clear, written answer to one question: what data does this thing see, and where does it go? The data-flow brief answers it; the access path settles the keys. There are three paths.

PathWhenHow it works
DefaultNormal caseThe client procures Anthropic access under their own agreement; keys live in their Key Vault; the pod runs on client-issued seats. Their contract, their audit trail.
Fallback riderProcurement stalledThe firm's keys under a signed client consent rider, with a named migration date to move to client keys as soon as procurement lands.
High-complianceStrict tenancy needsClaude runs inside the client's own Azure tenant (Foundry). Verify model availability and Claude Code compatibility at Phase 0 before promising it.
Why this one has teeth

Live access under the client's account — or a signed fallback rider — is a precondition of closing Phase 0. The next phase does not begin without it, and because billing is gate-based, an unresolved tooling state on day 10 is the client's problem to unblock, not the pod's to absorb.

09

Now watch the whole thing happen

How the two weeks unfold

You've got the ideas; here's the actual rhythm at Harbor. Two streams run in parallel the whole time — one chasing understanding (the workshop, the metric, the artifacts), another chasing enablement (access, the repo, the data boundary) — so the slow, waiting-on-other-people work never holds up the phase. Step through it.

Day 1 · kickoff

Get both clocks running

A short kickoff explains how the work will run. The client hands over everything they've written about the problem. In parallel, the slow things start today — getting AI access approved and repo access sorted — because those wait on other people.

Day 2 · intake

The AI reads everything

Every document gets cataloged and summarized. Then a fresh pass hunts for contradictions and unanswered questions. The cheap questions go out by email the same day — no need to spend a meeting on them.

Day 3 · the workshop

The one meeting that must happen in a room

Three hours, the right people, no AI in the room. The contradictions get settled, the real problem gets named in the sponsor's own words, and the single measure of success gets chosen.

Day 4 · first drafts

Drafted by the AI, corrected by a human the same day

The problem statement, the success measures, and the constraints get drafted from the workshop notes — then corrected while everyone's memory is fresh. Drafts age badly.

Day 5 · interviews & the reframe

The cheap-correction point

Talk to the people who live the problem daily, then read the draft problem statement aloud to the sponsor. This is where "that's not actually the problem" surfaces — and at Harbor it did: what looked like an efficiency problem was really about customers leaving. The single most valuable correction of the phase.

Day 6 · prove the metric

Produce the number, live

Sit with the data owner and actually run the report on the real system. Read the starting number off the screen and record it with its source. A promised metric isn't good enough.

Day 7 · the constitution & the owner

Write the thing the sponsor will sign

A short identity document for the project — what it is, what done means, the goal, the constraints. Kept short enough that the sponsor will actually read it. And who owns product decisions gets put in writing.

Day 8 · the plumbing converges

Access goes live; the repo becomes home

AI access turns on under the client's own account. The project repository is created inside the client's organization, and everything produced so far moves into it. From here, the repo is the only home.

Day 9 · the check

The machine checks the work

Automated checks run over everything; anything incomplete gets fixed. Any still-open questions are written down to carry forward. A plain-language summary is prepared for the sponsor's review.

Day 10 · review & sign-off

A signature, and the meter starts

A 45-minute review: the project's identity, the metric with its proven starting number, the constraints, the ownership decision, the open questions. The sponsor signs. The phase closes and the build can begin — the first billing milestone.

1 / 10
Go deeper — the full method

The default calendar is 10 business days. The constraint is rarely effort — it is lead time on the client side (procurement, security review, calendars). The two workstreams, understanding and enablement, run in parallel the whole way so that lead-time waits never idle the phase.

Before day 1 (no billing): the SOW is signed with the Phase 0 preconditions in it; the workshop is scheduled for day 3–4 (getting the sponsor, the candidate PO, and the right domain experts in one room is the long pole); and the document corpus is requested — "everything written about this problem, unsorted is fine."

Week 1 — understand

  • Day 1, kickoff. A 60-minute kickoff: introductions and the how-we-work briefing (the build loop, the gates, what the client sees biweekly, what we need from them and when). The Setup Owner opens the enablement workstream with client IT — Anthropic procurement started, data-flow brief handed to security, repo/access checklist issued. The corpus is received; intake begins.
  • Day 2, intake and prep. The most tool-dense day. Claude catalogs every document, then a fresh agent produces the contradiction and question lists. The cheap (pre-workshop) questions go out by email today. The workshop brief is drafted by Claude, curated by the Pod Lead down to one page, and sent personally — Claude never sends anything to the client.
  • Day 3, the outcome workshop (the anchor event). Half a day, humans only, run by the Pod Lead: the problem in the sponsor's words (45 min); the three outcomes — business, software, capability, each one sentence (45 min); the one metric with its baseline and named source system (30 min); constraints (30 min); the PO decision, forced explicitly (20 min); and tooling status with the fallback trigger date agreed (10 min).
  • Day 4, first drafts. Claude drafts problem-statement.md, success-criteria.md, and constraints.md from the workshop notes; the Pod Lead corrects them the same day, because drafts age badly. Claude generates decision list v1 — every unmade decision the workshop surfaced or dodged.
  • Day 5, interviews and the first checkpoint. Stakeholder interviews with the people who live the problem daily, not just the people who fund it; contradictions with the sponsor's framing get flagged, not smoothed over. Then a 30-minute sponsor checkpoint reads the draft problem statement out loud — the cheap-correction point, where "that's not actually the problem" surfaces on day 5 rather than day 50.

Week 2 — verify and close

  • Day 6, the metric gets proven. A working session with the data owner runs the query live; the baseline is recorded with its source named. If the number cannot be produced, it becomes a finding. The Quality Engineer vets every criterion.
  • Day 7, constitution and the PO decision land. Claude drafts constitution.md — the project's identity document, kept short enough that the sponsor actually reads it. The PO decision is finalized in writing: PO mode or proxy mode.
  • Day 8, enablement converges. The tooling checkpoint with teeth: Anthropic access goes live, or the fallback rider is invoked today — not "next week." The delivery repo exists in the client org and all Phase 0 artifacts move into it; from today the repo is the only home. The access checklist is closed out or escalated to the sponsor by name.
  • Day 9, the gate run. Claude drafts phase1-handoff.md; the automated gate check runs against the artifacts and any placeholder content or missing sections gets fixed today; the narrative companion for the sponsor is generated.
  • Day 10, phase review and sign-off. A 45-minute review walks the constitution, the metric with its verified baseline, the constraints, the PO decision, and the open questions. The sponsor signs the outcome statement; the human sign-off is recorded; the engagement advances to Phase 1. This is billing milestone 1.
When the calendar slips

Procurement stalls → invoke the fallback rider on day 8 as planned; don't extend the phase waiting. The workshop can't be scheduled inside week 1 → move the phase start, don't stretch it, since billing is gate-based. Useful idle time → deepen intake, draft syntheses, prep the Phase 1 workspace. What the pod never does is start Phase 1 work early "since we're waiting" — requirements built on an unsigned problem statement get rebuilt.

10

How a phase actually ends

The gate

A phase doesn't end because two weeks went by. It ends when a specific list is true and a named human signs to advance. Automated checks confirm the mechanical parts; a person owns the judgment. Gates report; humans decide.

The idea

These gates are also the billing milestones — the moment a phase closes is the moment that work is accepted and paid for. That's what gives two of the checklist items below their weight.

If a teeth item isn't met on the last day, the phase doesn't close — and because billing is tied to the gate, that becomes the client's problem to unblock, not the pod's to quietly absorb.

At Harbor Mutual

At Harbor's gate run, the automated check found one problem — a leftover placeholder in the constraints file. It was fixed, the check re-ran clean, and the next day the sponsor signed.

That signature was billing milestone one. The engagement formally moved to Phase 1.

The full checklist — tick it:

  • The automated checks pass — every artifact exists, is complete, has no leftover placeholders
  • The sponsor has signed off on what the project is and what success means
  • The success metric was read from its real source, and the starting number is recorded
  • Who owns product decisions is settled in writing
  • AI access is live under the client's account, or the fallback is signed
  • The project repository exists in the client's organization, with everything committed
  • Every still-open question is written down, numbered, with an owner
  • A named human has approved the move to the next phase
Go deeper — the full method

A phase does not end because two weeks went by. It ends when a specific list is true and a named human signs to advance. Automated checks confirm the mechanical parts; a person owns the judgment. Gates report; humans decide. Phase 0 closes when all of these are true, verified at the day-10 review:

  • The automated gate checks pass: artifacts exist, are complete, contain no placeholders.
  • The sponsor signed the outcome statement (constitution).
  • The success metric was read from its source system at least once, baseline recorded.
  • The PO decision is in writing — named PO with calendar commitments, or signed proxy rider. (billing teeth)
  • Anthropic access is live under the client's account, or the fallback rider is signed. (billing teeth)
  • The repo exists in the client org with artifacts committed; the access checklist is closed.
  • The handoff document carries every open question, numbered, with an owner.
  • A named human (sponsor side) approved the advance.

These gates are also the billing milestones — the moment a phase closes is the moment that work is accepted and paid for. Two of the items are SOW preconditions with billing teeth (the PO decision and tooling). If either is unresolved on day 10, the phase does not close, and the SOW's gate-based billing is what makes that the client's problem to unblock rather than ours to absorb.

11

How it goes wrong

How it goes wrong

Every one of these has happened to someone. Knowing them by name is half the defense — and Harbor's structure caught two of them in the act.

The trapWhat it looks likeThe defenseAt Harbor
A feature list in disguise"Build an API, a portal, a dashboard" written down as if it were the goalA real goal survives the feature list changing. If the sentence names a system, keep asking why.Goal stated as renewals, not features
The unmeasurable metricEveryone agrees to a target nobody can produce a number forProduce it live, or change it.Caught — the day-6 live run
The dodged owner"We'll sort out who decides as we go"The workshop forces the choice; the contract records it.Luis named, in writing
Tooling drift"Access will sort itself out next phase"A hard checkpoint, with a fallback ready.Signed day 8, fallback on standby
The sponsor who nodsA beautiful draft, skimmed and approved, wrong months laterRead it aloud; interview the people who live the problem.Caught — the day-5 reframe
Discovery that won't endWeek four of "just two more interviews"Four questions, not all questions. Open ones get carried forward.Two questions handed to Phase 1
Go deeper — the full method

Named failure modes, because every one of these has happened to somebody. Knowing them by name is half the defense.

The failure modeWhat it looks likeThe defense
The deliverables list wearing an outcome costumeThe workshop produces "build an API, a portal, and a dashboard" instead of an outcome.An outcome survives the deliverable changing. If the sentence names a system, keep asking why.
The unreadable metricEveryone agrees on "reduce processing time 30%" and nobody can say what query produces the current number.Day 6 exists for this. Produce it live, or change it; if the baseline can't be read, instrumenting it is Phase 1's first epic — decided now, not discovered in week 9.
The dodged PO decision"We'll figure out product ownership as we go" — proxy mode chosen implicitly, without the rider, without the log.The workshop agenda forces the question; the decision record makes the answer durable.
Procurement drift"Tooling will sort itself out during Phase 1" — and the pod is three weeks in under our keys with no rider.Day 8 is the hard checkpoint, with the fallback rider ready.
The sponsor who nodsClaude drafts a beautiful problem statement, the sponsor skims and nods, and on day 50 the problem turns out to be something else.The day-5 checkpoint read out loud, plus interviews with people who live the problem — their disagreements are the most valuable finding Phase 0 produces.
Discovery that won't endWeek 4 of "just two more interviews."Phase 0 answers four questions; it does not achieve certainty. Open questions go in the handoff, numbered, with owners — that's what the list is for.
01

No prior phase — only the client's own documents, and they disagree

What Phase 0 received

Harbor Mutual — a fictional regional property insurer of roughly 400 employees — hired a two-person pod to rebuild how property-claims intake works. A claim takes a median of 11.4 days from FNOL (first notice of loss) to a coverage decision, and policyholders who wait more than seven days renew measurably less often. Claims live in "PolicyOne," a mainframe-era core with a nightly batch window. Phase 0 has no phase before it. It does not inherit a handoff; it inherits a corpus — eight documents written by different people at different times, plus the SOW (statement of work). Design does not start from requirements. It starts from contradictions.

Taken in at intake — cataloged by intake_documents.py into .sdlc/context/intake/ claims-modernization-rfp.pdf policyone-architecture-overview.pdf fnol-intake-process-flows.docx 2024-modernization-postmortem.pdf claims-ops-q4-2025-report.pdf it-security-standards.md integration-api-inventory.md claims-2027-strategy-deck.pdf the SOW
The four questions the two weeks must answer

Nothing else. Requirements, design, and code each have their own phase; pulled forward, they get rebuilt. Phase 0 answers four:

  1. What problem, and how will we know we solved it? One measurable number, not a feature list.
  2. Who decides product questions during the build? A named PO, in writing.
  3. Can we legally and technically work? Tooling, access, the data boundary.
  4. What is non-negotiable? The constraints that can't be designed away.

Engagement start: Monday 2026-03-02. Every artifact on this page shows its end-of-phase state — the 11.4-day baseline, the CR-204 report, and the open question IDs trace through all of them.

Why Harbor is watching this one

Harbor had already lived the failure. An earlier attempt to modernize the same system was cancelled in its sixth month.

From Harbor's own post-mortem (DOC-004)
"Cancelled in month six. No single internal owner; integration scope only surfaced in month five."

Karen Voss is the one to watch. Harbor's VP of Claims Operations owns the budget and the outcome, and signs the phase. Phase 0 is the countermeasure to 2024: surface the scope in week one, and name an owner before a line ships.

Our pod

Maya ChenPod Lead — runs the workshop and interviews, owns every artifact, gets the sponsor's signature
Rob FeldSetup Owner — chases access, the repo, and the data-flow brief
Quality Engineer~10% — one job: vet that every success criterion is actually readable (Nadia Brooks, from Phase 1)
ClaudeReads the corpus, surfaces contradictions, drafts — never decides

Harbor Mutual

Karen VossVP Claims Operations — sponsor; owns budget and outcome; signs the phase
Luis OrtegaClaims Product Manager — candidate, and eventual, PO
Priti ShahBI lead — data owner for claims metrics; runs CR-204 live
Dan KowalskiIT Security — procurement, the data boundary, access
Gail Tran, Marcus WebbSenior adjusters — domain experts
Dee AlvarezIntake supervisor — domain expert
The ID codes, decoded

Every artifact in this engagement carries a stable identifier, so a decision made in week one can still be traced in month nine. Phase 0 mints most of them. You'll see these throughout:

PrefixMeansBorn inExample here
DOC-NNNA client document taken in at intakePhase 0, day 2DOC-004 the 2024 post-mortem · DOC-007 the 2023 API inventory
CON-NNA contradiction — two documents that disagreePhase 0, day 2CON-01 real-time vs. the nightly batch
Q-NNAn open question with an owner and a routePhase 0, day 2Q-13, Q-14 — still open at exit, carried to Phase 1
C-NNA constraint — a hard limit the build must honorPhase 0C-02 nightly sync · C-03 auto-proof
CR-NNNA client BI report the metric is read fromclient systemCR-204, the 11.4-day baseline
S-NA secondary success metricPhase 0, day 6S1 ack compliance · S2 adjuster touches

The plugin's Phase 0 opens by asking a human, not by reading. Its first act (Step 0) is a blocking gate: the sponsor answers five scoping questions before Claude drafts anything — and the plugin twice repeats never fabricate a stakeholder persona. The corpus anchors the questions; a human anchors the answers.

02

The machine's numbered steps, the humans' ten days, braided

The procedure, step by step

Phase 0 is a numbered sequence of steps in claude-code-sdlc and ten working days in this standard — the same two weeks seen twice. Below, they're braided: what the tool runs, what the humans do that the tool cannot, and the file each day leaves behind. Two streams run in parallel the whole time — understanding (the workshop, the metric, the artifacts) and enablement (access, the repo, the data boundary) — so lead-time waits never idle the phase. Step through it.

Legend a command does it — and writes the file a person does it — and it is recorded a person does it — and nothing records it
Day 1 — Mon 3/2 · plugin Step 0 opens

Frame the problem with a human, not the corpus — and start the slow clock

Before Claude reads a single document, the plugin opens with a blocking human gate. Step 0 asks the sponsor five scoping questions with AskUserQuestion and records the system type in state.yaml; nothing is drafted until a person answers. In parallel, the enablement work that waits on other people — procurement, access, the data-flow brief — starts today. Step 0b (a brownfield code scan) is conditional and skipped here: Harbor's rebuild has no existing codebase to analyze.

Tooling /sdlc-setup init_project.py Step 0 HITL gate human decision
Out project_type → state.yaml the sponsor's five answers, held in the session
At Harbor

60-minute kickoff with Karen, Luis, and Dan: the loop, the gates, the demo cadence. Eight documents arrive. Rob hands Dan the data-flow brief, opens Anthropic procurement (~2-week lead, Q-10), and issues the access checklist. Karen answers Step 0's five questions; project_type = service.

The HITL the plugin says twice

Never fabricate stakeholder personas. The plugin repeats it in Step 0 and again in its artifact rules: Claude records only the people Karen actually names — no hypothetical reviewers, no invented end users. The problem framing is anchored to human answers, not synthesized from the corpus.

Day 2 — Tue 3/3 · plugin Steps 0c–0d · the most tool-dense day

The AI reads everything — then reads it against itself

Document intake (Step 0c, /sdlc-intake) catalogs every document: a stable DOC-NNN id, a token-budgeted summary, and a locked index, all under .sdlc/context/intake/. A human prioritizes the catalog at the intake HITL gate. Then a fresh discovery-analyst agent (Step 0d) reads the documents against each other and emits the contradiction list and the question list. The workshop brief is drafted by /sdlc-brief — but a HITL gate governs it.

Tooling /sdlc-intake intake_documents.py /sdlc-brief discovery-analyst
Out .sdlc/context/intake/ — catalog.json, index.md, DOC summaries contradiction-list.md question-list.md the workshop brief — curated & sent by a human; never committed
At Harbor

Intake catalogs DOC-001…008 (~96,000 estimated tokens); Maya prioritizes at the HITL gate; the catalog locks 3/3. discovery-analyst produces CON-01…04 and Q-01…14. Three pre-workshop questions go out by email — all three answered the same day (Q-05, Q-07, Q-12). Maya curates the brief to one page and sends it herself.

The HITL: the brief is curated, not generated

The plugin forbids drafting outcomes, metrics, or solutions into the workshop brief — questions only. The human chooses its contents, edits the draft, and distributes it; Claude never sends anything to the client. It is a real artifact the method leans on, and it leaves no committed file behind.

Day 3 — Wed 3/4 · no command runs — humans in a room

The one meeting that must happen in a room

Half a day, the right people, no AI in the room. The contradictions get settled, the real problem gets named in the sponsor's own words, the single success metric gets chosen, and the PO decision is forced explicitly rather than left to drift.

Tooling none — humans in a room, Maya facilitating
Out four contradictions resolved & the PO decision — in workshop notes, not yet on disk
At Harbor

Three hours, room 4B, six attendees. All four contradictions resolved: CON-01 same-business-day for v1 (real-time deferred); CON-02 property-only, auto-proof; CON-03 40,000/yr design target; CON-04 the metric is FNOL-to-coverage-decision. Six questions answered. The PO decision lands: Luis Ortega, 6 hrs/week (Q-09).

Day 4 — Thu 3/5 · plugin Steps 1–4

Drafted by the AI, corrected by a human the same day

With workshop notes in hand, the tool is finally allowed to write. Four steps fire: identify the problem and its root cause (Step 1, Five Whys), analyze the current state (Step 2), define success with baselines and targets (Step 3), and set the scope and constraints (Step 4). The Pod Lead corrects each the same day — drafts age badly.

Tooling /sdlc-coach drafts the artifacts
Out — all under .sdlc/artifacts/00-discovery/ problem-statement.md success-criteria.md constraints.md question-list.md — regenerated as decision list v1
At Harbor

Claude drafts the problem statement, success criteria, and constraints from Maya's notes; Maya corrects all three the same day. The corpus framed this as an adjuster-efficiency problem, so the first draft inherits that framing — the error corrected tomorrow.

Day 5 — Fri 3/6 · no command runs

The cheap-correction point

Interviews with the people who live the problem daily, then the draft problem statement read aloud to the sponsor. This is where “that's not actually the problem” surfaces — on day 5 rather than day 50.

Tooling none — human interviews, then the sponsor checkpoint
Out the reframed problem statement — corrected in place
At Harbor

Interviews with Gail, Marcus, Dee, and compliance close Q-08 (15-business-day acknowledgment in two states; 96.2% compliance today) and Q-11 (email FNOL lands in a shared Outlook inbox, triaged twice daily, no SLA). Then Maya reads the draft aloud; Karen reframes it: efficiency → renewal churn, roughly $3.4M/yr in property premium. The single most valuable correction of the phase — the corpus framed this as adjuster overtime; the sponsor owned the truth.

Day 6 — Mon 3/9 · no command runs — the client's own system

Produce the number, live

Sit with the data owner and actually run the report on the real system. Read the baseline off the screen and record it with its source named. A promised metric isn't good enough; a proven one is the bar. The baseline lands in success-criteria.md — its home.

Tooling none — the report runs on the client's BI system, with the data owner
Out success-criteria.md — baseline field, now filled from a live read
At Harbor

A session with Priti: report CR-204 is run live, and the 11.4-day baseline is read off the screen and recorded with its source. The report's caption said “to first payment,” but the underlying query measured to coverage decision — caption wrong, query right, flagged to BI. The Quality Engineer vets all three criteria.

Work the gate can't see

The live read is exactly the human work the automated gate cannot verify. check_gates.py confirms success-criteria.md exists and has a baseline field; it cannot tell whether the number was read from a live system or typed from memory. The receipt is a human's word.

Day 7 — Tue 3/10 · plugin Step 5

Write the thing the sponsor will sign; put ownership in writing

Step 5 drafts the constitution — the project's short identity document: what it is, what “done” means, the metric, the principles, who decides. The PO decision is finalized in writing, and the tooling status is checked against the fallback trigger date.

Tooling /sdlc-coach constitution.md
Out constitution.md PO decision record — method requires it; no command writes it tooling record — method requires it; no command writes it
At Harbor

Claude drafts the constitution; Maya keeps it short. The PO decision is recorded in writing: Luis Ortega, 6 hrs/week, 2-business-day turnaround, triage on his calendar.

Two signed records with no home

The standard wants a PO decision record signed by the sponsor and a tooling record owned by the Setup Owner. The plugin emits neither file. At Harbor these facts survive only folded into the constitution's decision authority and constraint C-06 — the standard's two signed records leave no dedicated artifact.

Day 8 — Wed 3/11 · no command runs — the checkpoint with teeth

Access goes live; the repo becomes the only home

The enablement stream converges on a hard checkpoint: access goes live under the client's own account, or the fallback rider is invoked today — not “next week.” Every artifact produced so far moves into the client-org repository and is committed. From here, the repo is the only home.

Tooling none — procurement lands, the repo goes live, artifacts are committed
Out every 00-discovery artifact — committed to the client-org repo
At Harbor

Harbor's Anthropic agreement is signed two days ahead of the fallback-rider trigger. Keys land in Harbor's Key Vault; pod seats issue under Harbor's account; Azure-only, PII inside the Harbor tenant (Q-07, Q-12). The delivery repo goes live in Harbor's GitHub org and every Phase 0 artifact is committed. The access checklist closes.

Day 9 — Thu 3/12 · plugin Steps 6–8

Package the handoff; the machine checks the work

Step 6 packages the Phase 1 handoff. Steps 7–8 render the sponsor's narrative companion and the gate report. /sdlc-gate runs check_gates.py over the artifacts; anything incomplete gets fixed today, and any still-open question is written down to carry forward under its original ID.

Tooling /sdlc-gate check_gates.py /sdlc-enhance /sdlc-phase-report generate_phase_report.py
Out phase1-handoff.md .sdlc/reports/phase00-report.html .sdlc/reports/phase00-visual.html
At Harbor

Claude drafts the handoff; Q-13 and Q-14 carry forward under the same IDs. The gate finds one completeness failure — a leftover placeholder in the constraints file — which the gate-repair agent fixes; the check re-runs clean. The narrative companion is generated and the HTML report rendered.

What the gate actually checks

check_gates.py verifies that five files exist, are non-empty, and contain no placeholder text. This standard's exit gate has eight bullets — the sponsor's signature, the metric read from a live source, the PO decision in writing, access live under the client's account — and the script reads none of them. It confirms the files are present; a human confirms they are true. The gate is real. What it checks is a fraction of what must be signed.

Day 10 — Fri 3/13 · plugin advance

A signature, and the meter starts

A 45-minute review walks the constitution, the metric with its verified baseline, the constraints, the PO decision, and the open questions. The sponsor signs. advance_phase.py will not move the engagement forward without --confirmed — a named human's sign-off.

Tooling /sdlc-next advance_phase.py --confirmed
Out the sponsor's signature — billing milestone 1
At Harbor

45 minutes with Karen: the constitution page by page, the metric with its verified baseline, the constraints, the PO record, the two open questions. Karen signs the outcome statement. The advance is approved and recorded; state moves to Phase 1. Billing milestone 1.

1 / 10
03

Everything that exists on day 10 and didn't on day 1

What Phase 0 produced

The whole output of the opening two weeks, named. Blue rows are written by a command and checked by the gate. Amber rows are the method's human work — required by this standard, produced by no tool, and today leaving no file behind. Those are the rows to argue about.

ArtifactWhat it actually isWritten bySigned byLives atFeeds
constitution.mdThe project's identity: mission, three outcomes, the one metric, principles, decision authority — short enough that the sponsor actually reads it/sdlc-coach drafts (Step 5)Sponsor.sdlc/artifacts/00-discovery/Every later phase; the auto-proof rule gates Phase 2
problem-statement.mdRoot cause and quantified impact in the sponsor's language — human-authored framing, never invented by ClaudeClaude drafts from human notes; Pod Lead ownsPod Lead.sdlc/artifacts/00-discovery/Phase 1 requirements
success-criteria.mdEvery criterion with baseline, target, method, source; the baseline read live on day 6, not promisedClaude drafts (Step 3); QE vetsPod Lead + QE.sdlc/artifacts/00-discovery/Phase 1; Phase 9 monitoring
constraints.mdEach constraint with a rationale and a fixed/negotiable flag (C-01…C-09)Claude drafts (Step 4); Pod Lead completesPod Lead.sdlc/artifacts/00-discovery/Phase 2 design
phase1-handoff.mdSummary, decisions, numbered open questions with owners, risks, recommended starting pointClaude drafts (Step 6); Pod Lead completesPod Lead.sdlc/artifacts/00-discovery/Phase 1, directly
contradiction-list.md
question-list.md
Every place the documents disagree (CON-NN) and every unanswered question (Q-NN), each with a severity, a route, and a resolution logdiscovery-analyst (Step 0d)Pod Lead.sdlc/artifacts/00-discovery/The workshop; open Q-NN into Phase 1
intake catalogEvery client document with a stable DOC-NNN id, a token-budgeted summary, and a locked indexintake_documents.py (Step 0c) + ClaudeSetup Owner.sdlc/context/intake/Requirements traceability (DOC-NNN)
phase00-report.html
phase00-visual.html
The gate result and inventory, and the sponsor's narrative companion — self-contained HTMLgenerate_phase_report.py / /sdlc-enhance (Steps 7–8).sdlc/reports/The day-10 sign-off
PO decision recordThe PO mode chosen in writing: a named PO with committed hours, or a signed proxy rider. An SOW precondition with billing teethA human; the sponsorSponsorno path — folded into the constitution, no filePhase 1's decision-list clock
tooling recordAccess live under the client's account, or a fallback rider signed with a date. The other precondition with billing teethSetup OwnerSetup Ownerno path — folded into constraint C-06The exit gate
workshop briefQuestions only — curated by a human, edited, and distributed by a human; never drafts outcomes, metrics, or solutionsA human, from Claude's draftPod Leadno path — curated & sent, never committedThe day-3 workshop
Read the amber rows again

Three of the eleven things Phase 0 is meant to produce have nowhere to live. The workshop brief — the artifact the plugin itself calls curated, not generated — is sent to the client and never committed. The two records this standard asks a human to sign, the PO decision and the tooling status, survive only folded into other files. Human work is not the problem. Human work without a receipt is.

Deliberately not produced in Phase 0: requirements, user stories, architecture options, technology selections, or any code beyond the empty repo scaffold. Each has its own phase; each done early is rework.

04

The document registry, the four contradictions, and the full question list

Reading the documents against each other

This is the signature work of Phase 0: not summarizing the pile, but reading it against itself. Harbor handed over eight documents, written by different people at different times. The discovery-analyst agent found four contradictions — each a decision nobody realized they had to make, surfaced while it was still cheap. Harbor's four answers to the phase's four questions: renewal churn, measured as FNOL-to-coverage-decision (11.4 today); Luis Ortega, 6 hrs/week; Azure-only with PII in Harbor's tenant; and a once-a-night core that stays, with a 15-business-day acknowledgment clock in two states.

The document registry — produced day 2 by document intake. Locked 2026-03-03: 8 documents, ~96,000 estimated tokens; file types pdf (5), docx (1), md (2).

IDFilenameEst. TokensKey Topics
DOC-001claims-modernization-rfp.pdf22,000scope, requirements, real-time adjudication, volumes
DOC-002policyone-architecture-overview.pdf18,500PolicyOne core, nightly batch, integration points
DOC-003fnol-intake-process-flows.docx9,000FNOL channels (phone 55%, portal 30%, email 15%), triage steps
DOC-0042024-modernization-postmortem.pdf7,500prior vendor attempt, integration failure, lessons
DOC-005claims-ops-q4-2025-report.pdf12,000cycle time 11.4 days, 38,000 property claims/yr, adjuster touches 7.3
DOC-006it-security-standards.md8,000Azure-only cloud policy, data residency, vendor onboarding
DOC-007integration-api-inventory.md6,000PolicyOne APIs, document store, payment gateway
DOC-008claims-2027-strategy-deck.pdf13,000auto-claims expansion, PolicyOne retirement ambition, cycle-time goals

Topic clusters: Current state (DOC-002/003/005/007), Ambition (DOC-001/008), Constraints (DOC-006/002), History (DOC-004).

The four contradictions

Produced day 2 by the discovery-analyst agent; resolutions recorded at the day-3 workshop.

CON-01 — Real-time adjudication vs. the nightly batch window

Type: assumption · Severity: blocks-outcome

DOC-001 section 3.2
"The solution shall provide real-time adjudication for eligible claims at the point of first notice of loss."
DOC-002 section 4.1
"Policy and coverage records are synchronized to downstream systems via the nightly batch cycle (21:00–04:30); intraday reads reflect the prior business day."

Why it matters: The RFP's headline requirement is impossible against the current core system. Either "real-time" gets redefined, or the engagement includes a PolicyOne read-path nobody has scoped or priced.

The question for the room: Is a same-business-day coverage decision acceptable for v1, or is true real-time a hard requirement worth the integration cost?

Resolution (Karen Voss, 2026-03-04)
Same-business-day accepted for v1; true real-time deferred to the auto-claims phase.

CON-02 — v1 scope: property only, or property and auto?

Type: scope · Severity: blocks-outcome

DOC-001 section 2.1
"This procurement covers the property claims intake and triage process."
DOC-008 slide 9
"Unified intake across property and auto books by FY2027 — single platform, single queue."

Why it matters: Scope determines volume targets, data model, and timeline. Designing for property-only and discovering auto in month four is the 2024 failure replayed.

The question for the room: Is v1 property-only, and if so, what must the design not preclude for auto?

Resolution (Karen Voss, 2026-03-04)
v1 is property-only; the claim data model and queue design must not preclude adding the auto book — gated at Phase 2 design review.

CON-03 — Annual claim volume: 38,000 or 60,000?

Type: fact · Severity: shapes-design

DOC-005 p.3
"Property claims received FY2025: 38,142."
DOC-001 section 1.4
"Harbor processes approximately 60,000 claims annually."

Why it matters: Sizing, load assumptions, and fast-path eligibility analysis all key off volume. A 60% disagreement is not a rounding error.

The question for the room: Which number is the design target, and what does 60,000 include?

Resolution (Priti Shah, 2026-03-04)
60,000 includes the auto book; property design target is 40,000/yr with 25% headroom.

CON-04 — What "cycle time" means

Type: terminology · Severity: shapes-design

DOC-005 p.2
"Median cycle time (FNOL to first indemnity payment): 11.4 days."
DOC-008 slide 4
"Target: claims cycle time (FNOL to coverage decision) under 3 days by 2027."

Why it matters: The engagement's success metric is unusable until one definition wins — the two definitions can move in opposite directions.

The question for the room: Which definition does the success metric use?

Resolution (Priti Shah, 2026-03-04; verified at the 2026-03-09 metric session)
FNOL to coverage decision. The 11.4-day baseline was confirmed to be FNOL-to-decision in the underlying CR-204 query despite the DOC-005 caption (caption error flagged to BI).

The full question list

Produced day 2; 6 routed to the workshop, 3 emailed pre-workshop, 3 to the day-5 interviews, 2 still open at phase exit and carried to Phase 1.

IDBlockQuestionRouteAnswer
Q-01ProblemWho is hurt most by the 11.4 days — policyholders or the claims team?workshopRenewal churn is the frame: claimants waiting >7 days renew 2.1 points lower (Karen, 3/4)
Q-02ProblemWhat actually killed the 2024 attempt?workshopNo named internal owner; integration scope found in month five (Karen, 3/4)
Q-03OutcomesShould Harbor's engineers run this delivery model after handoff?workshopYes — four engineers trained into the loop (Karen, 3/4)
Q-04MetricWhat exact report produces the 11.4-day figure; can it run on demand?interviewCR-204, ClaimsCenter BI, weekly, on-demand capable; run live 3/9 (Priti)
Q-05MetricDoes the figure include reopened claims?pre-workshopNo — tracked separately (Priti, email 3/3)
Q-06ConstraintsIs the PolicyOne retirement date funded and fixed, or aspirational?workshopAspirational, unfunded — treat PolicyOne as permanent for v1 (Karen, 3/4)
Q-07ConstraintsAzure-only, or is anything on AWS?pre-workshopAzure only; the AWS reference was the failed vendor's proposal (Dan, email 3/3)
Q-08ConstraintsDo state regulations bound acknowledgment or decision timelines?interview15-business-day acknowledgment in two states; 96.2% compliance today (compliance, 3/6)
Q-09POCan Harbor commit a named PO at the agreed hours with 2-day turnaround?workshopLuis Ortega, 6 hrs/week, triage on his calendar (Karen, 3/4)
Q-10ToolingWho owns Anthropic vendor onboarding; what lead time?workshopDan owns it; ~2 weeks; started day 1, signed 3/11 — fallback rider not needed
Q-11OtherWhere does FNOL email volume land; who triages it?interviewShared Outlook inbox, manual triage twice daily, no SLA (Dee, 3/6)
Q-12OtherCan claim documents (PII) appear in agent context?pre-workshopPII stays in Harbor tenant; intake corpus was redacted (Dan, email 3/3)
Q-13OtherDo the two states' acknowledgment rules apply differently to the portal channel?interviewOPEN — carried to handoff (owner Luis, due Phase 1 wk 1)
Q-14OtherWhat share of property claims is "simple" (single dwelling, no injury, <$25k) and fast-path eligible?interviewOPEN — carried to handoff (owner Priti, due Phase 1 wk 1)

The three pre-workshop questions went out by email day 2 — and all three came back the same day (Q-05, Q-07, Q-12).

05

One number, read live from the real system

The success metric

A target with no readable baseline is a wish. On day 6 the pod sat with Priti and ran report CR-204 live — the 11.4-day baseline was read off the screen and recorded with its source. The criteria were drafted day 4; baselines verified live at the day-6 metric session.

11.4≤ 5.0 days from FNOL to coverage decision today → the target within twelve months of go-live

Primary — the one metric: median days from FNOL to coverage decision, property claims.

FieldValue
DefinitionFNOL timestamp to coverage-decision timestamp, median, property book, reopened claims excluded (Q-05); definition fixed by CON-04
Baseline11.4 days (FY2025) — read live with the data owner on 2026-03-09
Source systemReport CR-204, ClaimsCenter BI; weekly batch, on-demand capable
Target≤ 5.0 days median within 12 months of go-live
Stretch / partial / failure≤ 3.0 days · Partial success: ≤ 7.0 (clears the churn threshold) · Failure: no meaningful movement

Secondary: S1 regulatory acknowledgment compliance (baseline 96.2% → target 100%); S2 adjuster touches per claim (baseline 7.3 → target ≤ 4.0). Explicitly not success metrics: features shipped, PR (pull request) counts, story points, agent productivity figures.

Instrumentation debt carried to Phase 1: S1's read is quarterly and manual today (automating it is Phase 1 scope); Q-14 blocks fast-path target-setting.

The caption-vs-query catch

A surprise at the live run: report CR-204's caption said "to first payment," but the underlying query measured to coverage decision — the caption was wrong, the query was right. Flagged to Harbor BI. You only see that by actually running the report. The pod's Quality Engineer then vetted all three criteria for measurability.

06

Two artifacts the standard insists a human owns — reproduced whole

The documents a human authored

Two Phase 0 artifacts are never Claude's to own. The workshop brief is curated by a human and carries questions only — the plugin forbids drafting an outcome into it. The problem statement is human-authored framing: Claude drafts from human notes, but what the project is for is a human's to write. Both are reproduced in full below.

The workshop brief, in full

Drafted day 2 via /sdlc-brief, curated by Maya at its HITL gate, sent by Maya. The one page, as sent:

Workshop Brief — Harbor Mutual Outcome Workshop
Wednesday 2026-03-04, 9:00–12:00, Harbor HQ room 4B · runs 3 hours
Attendees: Karen Voss (VP Claims Ops, sponsor), Luis Ortega (Claims PM), Priti Shah (BI), Dan Kowalski (IT Security), Gail Tran (senior adjuster), Dee Alvarez (intake supervisor)
Facilitator: Maya Chen · Pre-reading: this page only

What we read. 8 documents provided by your team. The load-bearing three: DOC-001 (the modernization RFP), DOC-002 (PolicyOne architecture), DOC-005 (Q4 2025 claims ops report).

What the documents say.
— Median property-claim cycle time is 11.4 days; an average claim is touched 7.3 times (DOC-005)
— FNOL arrives by phone (55%), portal (30%), and email (15%) (DOC-003)
— Policy data syncs on a nightly batch; intraday reads show yesterday (DOC-002 section 4.1)
— A 2024 modernization attempt was cancelled in month six (DOC-004)

Where the documents disagree.
1. DOC-001 section 3.2 requires real-time adjudication; DOC-002 section 4.1 says the nightly batch makes intraday policy reads stale. Is same-business-day acceptable for v1? (CON-01)
2. DOC-001 scopes property; DOC-008 plans property + auto by 2027. Is v1 property-only, and what must the design not preclude? (CON-02)
3. 38,142 claims/yr (DOC-005) vs ~60,000 (DOC-001). Which is the design target? (CON-03)
4. Cycle time to first payment (DOC-005) vs to coverage decision (DOC-008). Which definition does the success metric use? (CON-04)

What nobody has written down. Problem: who is hurt most — policyholders or the claims team? (Q-01) What killed the 2024 attempt? (Q-02) Outcomes: should Harbor's engineers run this model after we leave? (Q-03) Constraints: is the PolicyOne retirement funded? (Q-06) Ownership: can Harbor commit a named PO at ~4-6 hrs/week? (Q-09) Tooling: who owns Anthropic onboarding? (Q-10)

Decisions we need from the room. 1. The one success metric — definition and source system. 2. v1 scope. 3. Real-time vs same-business-day. 4. The PO commitment.

Agenda. The problem in your words (45) · the three outcomes (45) · the one metric (30) · constraints (30) · product ownership (20) · tooling status (10).

Questions only — the brief never proposes an outcome. Every framing appears as an attributed claim with a DOC reference. That is the plugin's HITL rule made visible.

The problem statement, in full

Drafted day 4 from workshop notes; reframed day 5 at the sponsor checkpoint; signed day 10.

The problem. Property policyholders wait a median of 11.4 days from first notice of loss to a coverage decision. Claimants who wait more than 7 days renew at a rate 2.1 points lower — on Harbor's property book, approximately $3.4M in annual premium. The cost of the delay is paid at renewal time, by retention, not primarily in claims-department overtime. (That framing is the sponsor's, corrected at the day-5 checkpoint: the corpus framed this as adjuster efficiency; Karen Voss reframed it as retention. Efficiency improves as a consequence, not as the goal.)

Observable symptoms. Median FNOL-to-decision 11.4 days (CR-204, verified live 3/9); 7.3 touches by 5 people per average claim; email FNOL (15% of volume) lands in a shared Outlook inbox triaged manually twice a day with no SLA; portal FNOL re-keyed into PolicyOne by hand; intraday policy reads show yesterday because of the nightly batch — a built-in extra day on every same-day claim.

Who is affected. Policyholders at the worst moment of their relationship with Harbor; 64 property adjusters spending touches on coordination instead of decisions; the 9-person intake team; Harbor's renewal book, where the cost actually lands.

Why now. The 2024 attempt failed (no internal owner, late integration scope), the 2027 strategy depends on a working property platform to extend to auto, and Q4 2026 is the first renewal season a fixed cycle time could protect.

Root cause. Five-whys (asking "why" repeatedly until the answers stop changing) converges on two causes: (1) no single queue — three FNOL channels with three intake mechanics and no shared prioritization; (2) coverage verification blocked on a nightly batch. Everything else is downstream of those two.

07

The document the sponsor signs — and the limits it commits to

The constitution the sponsor signs

The constitution is the project's identity in one short document: what it is, what “done” means, the metric, the principles, and who decides — kept short enough that the sponsor actually reads it. The PO decision (Luis Ortega, 6 hrs/week, 2-business-day turnaround) and the tooling status live inside it, since the plugin gives them no file of their own.

Drafted day 7; signed by the sponsor at the day-10 phase review.

Identity. Harbor Claims Intake — a unified property-claims intake and triage system replacing three disconnected FNOL channels with one queue and same-business-day coverage decisions, integrated with PolicyOne. Project type: service.

Mission. Get property policyholders a coverage decision in days, not weeks, so that a claim becomes a reason to renew instead of a reason to leave.

The three outcomes. Business: median FNOL-to-decision ≤ 5 days (from 11.4), protecting renewal retention. Software: one intake system across phone, portal, email; a single prioritized queue; fast-path triage for simple claims; PolicyOne integration that lives with the batch window. Capability: four named Harbor engineers run this delivery model independently by engagement close.

Governing principles. (1) Retention is the frame — when efficiency and claimant experience conflict, claimant experience wins. (2) The batch window is real — v1 designs with it, not around an unfunded retirement. (3) Property-only, auto-proof — checked at every design gate. (4) Regulatory clocks are acceptance criteria, tested not remembered. (5) No PII in model context outside the approved Azure path.

Decision authority. Outcome, budget, phase sign-off: Karen Voss. Product decisions and decision-list answers (2-business-day turnaround): Luis Ortega. ADRs (architecture decision records): pod Setup Owner, co-signed by Harbor's lead engineer from Phase 2. Security and data boundary: Dan Kowalski. Scope changes: Karen, on Luis's recommendation.

The constraints

Drafted day 4; signed day 10. C-06 is where the tooling record lives; C-06 and the decision authority above are where the standard's two signed records survive.

#ConstraintFixed / NegotiableSource
C-01Azure is the only approved cloudFixedDOC-006 section 2; Q-07
C-02PolicyOne stays; the nightly batch window is a hard integration boundary for v1FixedQ-06; CON-01
C-03v1 property-only; design must not preclude the auto bookFixedCON-02; gated at Phase 2
C-0415-business-day acknowledgment in two regulated statesFixedQ-08 — becomes acceptance criteria and test cases
C-05Claim documents and PII stay in the Harbor tenant; no PII in model context outside the approved Azure pathFixedQ-12
C-06Anthropic access under Harbor's agreement; keys in Harbor Key VaultFixedSigned 3/11
C-07Fixed fee per phase; gates are the billing milestonesFixedSOW (statement of work)
C-08Go-live before the Q4 2026 renewal season (Oct 1)NegotiableKaren prefers scope cuts over date slips, in that order
C-09Design target 40,000 property claims/yr including headroomNegotiableCON-03; revisit after Q-14
08

The handoff — and the two questions that travel with it

What Phase 1 receives

A phase ends by handing the next one a package, not a feeling. Everything below crosses the boundary into Requirements: the signed identity and constraints, the proven metric, and the two questions still open — carried forward under their original IDs, never silently dropped. Drafted day 9; the phase closed day 10 (billing milestone 1).

Crosses into Phase 1 constitution.md problem-statement.md success-criteria.md constraints.md phase1-handoff.md contradiction-list.md + question-list.md intake catalog (DOC-NNN) PO decision record tooling record

The Phase 1 handoff (summary)

Key findings. The business problem is renewal churn, not adjuster overtime. Two root causes: no single queue, and verification blocked on the nightly batch. v1 property-only (40k/yr target), auto-proof. Same-business-day accepted; real-time deferred. Two regulated states impose a 15-business-day acknowledgment clock. The 2024 attempt failed on ownership and late integration scope — the PO commitment and the Phase 3 walking skeleton (the thinnest end-to-end slice of the system, built first to prove the architecture works in practice) are the direct countermeasures. Harbor wants the capability outcome: four engineers trained.

Open questions for Phase 1.

IDQuestionOwnerDue
Q-13Do the two states' acknowledgment rules apply differently to the portal channel?Luis OrtegaPhase 1, week 1
Q-14What share of property claims is "simple" and fast-path eligible?Priti ShahPhase 1, week 1

Risks carried forward. PolicyOne integration surprises (killed the 2024 attempt; DOC-007's API inventory is dated 2023 — Phase 2 design spike, a short timeboxed technical investigation, against the live inventory before any contract is drawn). CR-204 caption/definition drift (BI fix confirmed before the metric goes on the steering scorecard). Email-channel mechanics undocumented (Phase 1 interviews the intake team, not just the supervisor). Renewal-season deadline pressure (scope cuts decided at steering, never silently in the flow).

Recommended Phase 1 starting point. Start requirements with the single queue (channel unification), not the fast-path: the queue is the prerequisite for everything, and the email channel is the least understood. Fast-path requirements wait on Q-14's segmentation.

The gate run and the sign-off

Day 9 — the check

/sdlc-gate ran the completeness check: one failure — a leftover placeholder in the constraints file — which the gate-repair agent fixed (structural repair only), and the gate re-ran clean. /sdlc-enhance generated the narrative companion for Karen; /sdlc-phase-report rendered the stakeholder HTML report.

Day 10 — sign-off
Karen signs the outcome statement. The advance is approved and recorded with /sdlc-next, which re-verifies the gates and moves the engagement state to Phase 1. Billing milestone 1.

All names, numbers, and documents are invented but internally consistent — the 11.4-day baseline, the CR-204 report, and the open question IDs trace through every artifact on this page.

You've been handed a project and told to run Phase 0. This page is what you actually type, in order, and what you do between the typing.

Phase 0 takes about two weeks. Most of that is waiting on other people, not working. Read this once end to end before you start — a few steps need meetings booked days ahead.

Before you type anything

What you need first

Three things, and two of them are people, not software. Sort the people out on day one — they're the long pole.

  • The plugin, installed. If /sdlc-setup isn't in your slash command list, run /plugin marketplace add MCKRUZ/claude-code-sdlc then /plugin install claude-code-sdlc@mckruz.
  • uv installed (the plugin runs Python scripts through it). pip install uv or brew install uv. If it's missing, the commands will tell you so rather than fail silently.
  • A sponsor, booked. The person who owns the budget and will sign at the end. You cannot do Step 1 without them; get a half-day workshop on the calendar now.
  • The data owner, booked. Whoever can run the report your success metric comes from. Hardest person to get, needed around day 6. Book them in week one.
The mistake new people make

Starting the typing before the meetings are booked. The commands take minutes; the people take days. Open both clocks on day one.

01

Type this — once, at the very start

Set the project up

You type /sdlc-setup

What happens: it asks you two questions — which profile (pick starter if you're not sure; microsoft-enterprise if this is a .NET/Angular/Azure build with compliance requirements) and the project name. Then it does a lot in one go: creates the .sdlc/ folder that tracks everything, and installs the whole delivery harness into the repo — CI workflows, hooks, agents, rules, the CLAUDE.md governance file.

What you do: answer the two questions. Then read what it printed. If you see a WARNING: line it means no pre-built pack exists for your language or CI platform and you'll be adapting that part by hand. If you see a MANUAL SETUP block, run those commands before going further.

You now have .sdlc/state.yaml — says Phase 0, active .claude/ — hooks, agents, settings .github/workflows/ — 7 CI files

Don't move on until: /sdlc-status shows Phase 0 active. Commit everything it created, including .claude/harness-manifest.json — that's the receipt future upgrades read.

02

Type this — then stop and talk to a human

Frame the problem

You type /sdlc

What happens: Claude shows you Phase 0 guidance, then immediately blocks and asks five questions: what's the problem in one sentence, who's most affected, what does success look like, what's non-negotiable, and what kind of thing is this (service / app / library / skill / CLI). Nothing gets written until these are answered.

What you do: do not answer these yourself. These are the sponsor's answers, not yours. If you haven't had that conversation yet, go have it, then come back and type what they actually said. Guessing here is the single most expensive mistake in the phase — everything downstream inherits it.

Watch for this

Claude will not invent stakeholders and you shouldn't either. If the sponsor names three people, there are three. Don't let a persona table get padded with hypothetical users.

03

Only if the client gave you documents — otherwise skip

Load the documents

You type /sdlc-intake

What happens: it reads every document in the intake folder, gives each one a permanent ID (DOC-001, DOC-002...), writes a summary of each, and locks the catalog so those IDs never shift. It stops partway to ask you which documents matter most.

What you do: at that stop, prioritize honestly. Marking everything high-priority defeats the point — the summaries get budgeted by priority so the whole corpus stays loadable later.

Also automatic and invisible to you: if the repo already has source code in it, Claude scans it first and asks you to confirm the summary is right.

You now have .sdlc/context/intake/ — catalog + per-document summaries
04

Only if you're running a workshop with multiple stakeholders

Prep the workshop

You type /sdlc-brief

What happens: a fresh agent reads all the documents against each other and produces two lists — every place the documents contradict each other, and every question none of them answer. It sorts the questions into "email this one now" and "needs the room." Then it drafts a one-page workshop brief and stops to let you choose what goes on it.

What you do: two jobs. First, actually send the email questions today — that's the whole point, it saves you room time. Second, curate the brief down to one page and send it yourself. Claude never sends anything to a client.

The rule on the brief

Questions only. No proposed outcomes, no suggested metrics, no solutions. A brief that answers its own questions produces a workshop that just agrees with you — and you learn nothing.

You now have contradiction-list.md question-list.md the brief — you send it; it never gets committed
05

Nothing to type — close the laptop

Run the workshop and the interviews

Half a day with the sponsor and the right people in one room, then separate 45-minute interviews with the people who actually live the problem day to day.

What you do: settle every contradiction from the list. Get the real problem in the sponsor's own words. Pick one success metric and name the system it will be read from. Force the two questions people love to defer: who answers product questions during the build, and is our AI tooling access sorted.

Bring back: notes. That's it. You'll hand them to Claude next.

Interview the doers, not just the funders

Where the adjuster's version disagrees with the executive's version is the most valuable thing you'll find in this phase. Write the disagreement down, don't smooth it over.

06

Back at the keyboard — now Claude can write

Draft the documents

Paste your workshop and interview notes into Claude and work through the phase's drafting steps. It writes; you correct. Do it the same day — notes go stale fast.

FileWhat goes in it
problem-statement.mdThe problem with real numbers, who's affected, and the root cause — not the first symptom
success-criteria.mdThe metric: baseline, target, stretch, and how it gets measured. Leave the baseline blank for now — step 7 fills it
constraints.mdEvery non-negotiable, each with the reason it exists
constitution.mdThe short document the sponsor signs: what this is, what done means, who decides what
phase1-handoff.mdFindings, decisions, open questions with owners, risks

What you do: read every draft as if you're trying to prove it wrong. Claude drafts from your notes, but it will pick up whatever framing the documents leaned toward — and the documents are often wrong about what the problem really is.

Two files nothing creates for you

The standard also requires a PO decision record (who answers product questions, in writing) and a tooling record (whose AI account and keys). No command writes either one. Write them by hand, or fold the facts into constitution.md and constraints.md — but don't skip them, they carry contract weight.

07

Nothing to type — and no gate will catch you skipping it

Prove the metric is real

Sit with the data owner and actually run the report your success metric depends on. Read the number off the screen. Type it into success-criteria.md with the report's name next to it.

Why this step exists: everyone nods along to "reduce processing time 30%" and months later nobody can produce the current number. If the baseline can't be read today, that's a finding, not a footnote — either change the metric, or make instrumenting it the first piece of work in Phase 1.

Nothing verifies this but you

The automated gate checks that success-criteria.md has a baseline field filled in. It cannot tell whether you read that number off a live system or typed it from memory. This one is on your integrity.

08

Type this — the machine checks your work

Run the gate

You type /sdlc-gate

What happens: it checks the five files exist, aren't empty, and have no leftover placeholder text, then opens an HTML report in your browser. It also puts four judgment questions in front of you — is the scope unambiguous, does every success criterion name its source, is every persona a real person, is the project type recorded.

What you do: fix whatever it flags and run it again until it's clean. A leftover TODO in one file is the usual culprit.

Optional: /sdlc-enhance writes a plain-language version of the artifacts for the sponsor to read before the sign-off meeting. Worth doing if your sponsor isn't technical.

What the gate does NOT check

Four things the standard requires to close this phase have no check behind them at all: the PO decision, live tooling access under the client's account, the metric actually read from its source, and the repo being live in the client's org. A green gate does not mean you're done. Walk those four yourself.

09

Type this — last thing in the phase

Get the signature and advance

You type /sdlc-next

Before you type it: run the 45-minute review with the sponsor. Walk the constitution, the metric with its proven baseline, the constraints, who owns product decisions, and the open questions. Get the actual sign-off. This is a billing milestone — it's not ceremonial.

What happens: it re-runs the gates, then stops and asks you to confirm before moving anything. Say yes and it advances the project to Phase 1. Then it does one more thing: it surfaces every open question from your handoff document and makes you answer or explicitly defer each one before any Phase 1 work starts.

What you do: answer them properly. An open question waved through here is a question someone rediscovers in month three.

Phase 0 is done when state.yaml says Phase 1 the sponsor has signed everything is committed in the client's repo

Keep these two handy

Commands you'll use constantly

Type thisWhen
/sdlc-statusAny time you're lost. Shows what phase you're in and what's missing.
/sdlcStart of every work session. Tells you what to do next.
/sdlc-coachYou're stuck and want to be walked through it conversationally instead of following a list.

Rule of thumb for the whole phase: Claude drafts, you decide. If you find yourself accepting a draft you haven't verified, stop — that's the failure mode this entire process exists to prevent.

01

Reference · Phase 0 · Discovery

Why Phase 0 exists

One job: answer four questions, and nothing else. Requirements, design, and planning are deliberately out of scope — each has its own phase, and each done early is rework.

The precise mechanics — the exact roles, calendar, artifacts, and gate. The full prose method sits under each section's “Go deeper” on the How it works tab; for the complete Harbor artifacts (every ID and quote), see Example.

02

The rule that governs everything

The one rule

Human drivesClaude doesMandatory human stops
Sponsor states the problem and the one success metric. Pod Lead runs the outcome workshop.Interrogates: surfaces unmade decisions; drafts constitution, problem statement, constraints from workshop notes; runs document intake on the client's RFPs and specs.Problem framing is human-authored — Claude never invents the problem. Phase advance.
03

Who carries the phase

Who's involved

Our side

PersonLoadWorkstream
Pod Lead60–80%Understanding — workshop, interviews, every artifact's content, the decision list, sponsor sign-off
Setup Owner40–50%Enablement — Anthropic procurement, repo & access, the data-flow brief, the initialized delivery repo
Quality Engineer~10%One job: vet the success criteria for measurability
Orchestrators0–10%Not yet staffed; they arrive in Phase 1

Client side

PersonNeeded forHow much
SponsorWorkshop, the PO decision, phase sign-offHalf-day + two 30-min checkpoints
Candidate POWorkshop; the PO-mode commitmentWorkshop + one conversation
Security / ITProcurement, repo access, data-flow reviewHours — but engage day 1 for lead time
Domain experts (2–4)Week-1 interviews45–60 min each
Ops / data ownerVerifying the metric is readableOne working session

The hardest person to get is usually the data owner. Book them early — an unverifiable success metric is the most common Phase 0 failure.

04

What the two weeks must answer

The four questions

  1. What problem are we solving, and how will we know we solved it? (one measurable metric)
  2. Who decides product questions during the build? (the PO decision)
  3. Can we legally and technically work? (tooling, access, data boundary)
  4. What constraints are non-negotiable? (technical, regulatory, organizational)
05

The technique that earns the phase

Reading the documents against each other

Intake catalogs every document, then reads them against each other. Each contradiction is sized by severity and routed accordingly — the cheap ones clear before the workshop, the expensive ones become workshop or handoff material.

SeverityWhat it isRouting
CheapA fact one party can answer in a sentenceEmailed day 2; answered before the workshop
MaterialTwo documents assume different scope, owner, or numberSurfaced at the day-3 outcome workshop for a human to resolve
UnresolvableA real decision nobody has made yetNamed on the decision list; carried to the handoff as a numbered open question
06

The quality target, made real

The success metric

Every criterion in success-criteria.md carries four fields. The baseline is produced on day 6 by running the report live — not promised, not estimated.

FieldMeans
BaselineThe current number, read from the source system with the data owner on day 6
TargetThe number that means "solved" — agreed by the sponsor
MethodHow the number is computed and re-read later
SourceThe system of record the number comes from — verified readable, not assumed

QE vets every criterion for measurability on day 6. A criterion without a readable baseline does not pass.

07

The decision that can't be dodged

Who decides (the PO)

The PO decision is one of two modes, chosen in writing on day 7. Choosing nothing is proxy mode chosen implicitly — the worst of both.

ModeWhat it isWhat it requires
PO modeThe client names a Product Owner who decides product questions during the buildNamed person + written commitment on availability and decision authority
Proxy modeThe pod proxies product decisions under a signed riderSigned proxy rider; escalation path and review cadence defined
08

Can we legally and technically work

Tooling & the data boundary

PathWhenHow it works
DefaultNormal caseClient procures Anthropic access under their own agreement; keys in their Key Vault; pod on client-issued seats. Their contract, their audit trail.
Fallback riderProcurement stalledFirm's keys under a signed client consent rider, migrated to client keys as soon as procurement lands.
High-complianceStrict tenancy needsClaude via the client's own Azure tenant (Foundry). Verify model availability and Claude Code compatibility at Phase 0 before promising it.
09

The ten days, end to end

How the two weeks unfold

DayFocusWhat happensTooling
1KickoffHow-we-work briefing; corpus received; enablement workstream opened with client IT/sdlc-setup
2Intake & prepCatalog the corpus; cross-document contradiction & question lists; cheap questions emailed; workshop brief drafted, curated, sent/sdlc-intake, /sdlc-brief
3Outcome workshopThe problem, three outcomes, the one metric, constraints, the PO decision, tooling status — humans only
4First draftsProblem statement, success criteria, constraints drafted & corrected; decision list v1/sdlc-coach
5Interviews & checkpointStakeholder interviews; sponsor checkpoint reads the draft out loud — the cheap-correction point
6Prove the metricRun the report live with the data owner; record the baseline with its source; QE vets every criterion
7Constitution & POConstitution drafted; PO decision finalized in writing (PO mode or proxy mode)/sdlc-coach
8Enablement convergesAnthropic access live (or fallback rider invoked); delivery repo live with artifacts committed
9Gate runPhase 1 handoff drafted; automated gate check; narrative companion generated/sdlc-gate, /sdlc-enhance
10Review & sign-off45-min phase review; sponsor signs; advance recorded — billing milestone 1/sdlc-next

The two-week figure assumes client lead times cooperate. When procurement stalls, invoke the fallback rider on day 8 as planned — don't stretch the phase. Never start Phase 1 work early "since we're waiting."

Cadences

RhythmWhoWhat
Daily 15-min syncPod Lead + Setup OwnerThe two workstreams trade status — what's blocked on the client, what lands today
Sponsor checkpoints (days 1, 5, 10)Pod Lead + SponsorKickoff, draft review, phase review. The day-5 one is the cheap-correction point
Anchor eventsPer calendarWorkshop (3), metric session (6), gate run (9) — move only if people can't be gotten

The artifacts

ArtifactOwned byDone means
constitution.mdSponsor (signs)Identity, three outcomes, metric, constraints, principles — short enough to be read
problem-statement.mdPod LeadRoot cause & quantified impact in the sponsor's language; human-authored framing
success-criteria.mdPod Lead + QEEvery criterion has baseline, target, method, source — baseline produced on day 6, not promised
constraints.mdPod LeadEach constraint has a rationale and a fixed/negotiable flag
Decision listPod LeadEvery unmade decision named; answered, or carried to the handoff as a numbered question
Document registrySetup OwnerEvery document has a DOC ID and summary; contradictions listed
PO decision recordSponsorMode chosen in writing; PO named with commitments, or rider signed
Tooling recordSetup OwnerAnthropic access live under client account, or fallback rider signed with a date
phase1-handoff.mdPod LeadSummary, decisions, numbered open questions, risks, recommended starting point

Deliberately not produced: requirements, user stories, architecture options, technology selections, or any code beyond the empty repo scaffold. Each has its own phase; each done early is rework.

10

What "done" actually requires

The gate

Phase 0 closes when all of these are true, verified at the day-10 review:

  • Automated gate checks pass — artifacts complete, no placeholders
  • Sponsor signed the outcome statement (constitution)
  • Success metric read from its source system, baseline recorded
  • The PO decision in writing — named PO with commitments, or signed proxy rider (billing teeth)
  • Anthropic access live under the client's account, or fallback rider signed (billing teeth)
  • Repo exists in the client org with artifacts committed; access checklist closed
  • Handoff carries every open question, numbered, with an owner
  • A named human approved the advance

Two of these are contract preconditions with billing teeth (the PO decision and tooling). If either is unresolved on day 10, the phase does not close — and gate-based billing makes that the client's problem to unblock rather than the pod's to absorb.

11

The failure modes to watch

How it goes wrong

  • The deliverables list in an outcome costume. "Build an API, a portal, a dashboard" instead of an outcome. Test: an outcome survives the deliverable changing.
  • The unreadable metric. Everyone agrees to "reduce processing time 30%" and nobody can produce the current number. Day 6 exists for this.
  • The dodged PO decision. "We'll figure out ownership as we go" is proxy mode chosen implicitly — the worst of both modes.
  • Procurement drift. "Tooling will sort itself out in Phase 1." Day 8 is the hard checkpoint.
  • The sponsor who nods. A beautiful draft, skimmed and approved, wrong on day 50. The defense is the day-5 read-aloud and the interviews.
  • Discovery that won't end. Week 4 of "just two more interviews." Open questions go in the handoff, numbered — that's what the list is for.