Spec Studio

The next body of work is planned from the graph, not from a prose index

spec:consumers.graph-first-planningUse Case / Behavior · featureready floor ready

Packs: pack:self-hosting-v1

Design: no design entries · no pinned declarations · 1 decision

Findings: no errors, no warnings

specs/consumers/graph-first-planning.sdp.md

No open questions and no blocking questions; implementation binding present, verifier binding present, and expected-outcome oracle none.

Intent
outcome
Capture the intent of the next body of work as Specs below ready, so planning sessions derive backlog and readiness from the graph and plan files point to their carrying Specs.
Behavior
rule line 25 · specs/consumers/graph-first-planning.sdp.md:25
spec:consumers.delivery-session-on-ramp owns per-session routing from graph state; this Spec owns how the next body of work's intent enters the corpus and is read back.
rule line 26 · specs/consumers/graph-first-planning.sdp.md:26
Planning remains advisory reading of the graph; no recipe, preflight, or plan document authorizes, blocks, or sequences delivery work.
rule line 27 · specs/consumers/graph-first-planning.sdp.md:27
Each planning truth lives in the home spec:decisions.planning-truths-placement rules for it; a deferred Spec carries its re-entry trigger in the trigger: field of its blocking open question, plus dependsOn when another Spec must hold first, as spec:model.open-question-fields states.
rule line 28 · specs/consumers/graph-first-planning.sdp.md:28
A body of work is grouped in a Pack named for the capability it designs, never for a plan number, listing its Specs in reading order; membership confers no readiness, delivery fact or gate, and the Pack remains a review aggregate after the work ends.
rule line 29 · specs/consumers/graph-first-planning.sdp.md:29
Heuristics for choosing work remain advisory behavior rules here or recipes; they authorize, block and sequence nothing.
rule line 30 · specs/consumers/graph-first-planning.sdp.md:30
Session law re-measures from the graph first; a session never inherits readiness, backlog, or placement state from a prior plan, register, or summary.
rule line 31 · specs/consumers/graph-first-planning.sdp.md:31
A corpus that keeps plan documents lets each point to its Packs and carrying Specs for intended truth and derived state; a plan document confers nothing, and plan numbering, recorded work order and staleness never become graph structure or workflow authority. Advisory priority over the next work lives in a roadmap Pack.

7 unkeyed rules.

Verification

Verifier bindings

  • test:protocol.graph-first-planning · checks placement homes and advisory graph-first session guidance · anchored · test anchor binding present · test/skills.test.ts:296

    External run evidence from test/skills.test.ts

    Test anchors: test:protocol.adopter-on-ramp, test:protocol.authoring-on-ramp, test:protocol.delivery-session-on-ramp, test:protocol.graph-first-planning, test:protocol.reading-on-ramp, test:protocol.studio-on-ramp, test:protocol.vault-on-ramp. Specs verified by those bindings: spec:consumers.adopter-on-ramp, spec:consumers.authoring-on-ramp, spec:consumers.delivery-session-on-ramp, spec:consumers.graph-first-planning, spec:consumers.reading-on-ramp, spec:consumers.studio-on-ramp, spec:consumers.vault-on-ramp.

    Run 1: external run evidence from vitest 4.1.10

    Build: CI 391 · Branch: cursor/media-plan-and-articles-09b1 · Commit: 076cd4f1f85640d8236e5cca1bffffa68ab79a33 · Start: 2026-10-31T15:32:20.471Z · Stop: 2026-10-31T15:34:02.073Z

    NameSuiteResultDuration
    discovers the design slice's summary and detail parameternot recordedpassed6.44 ms
    teaches the named-file exception to both carrier-watch descriptionsnot recordedpassed1.2 ms
    teaches the optional priority field in the Pack manifest envelopenot recordedpassed0.84 ms
    teaches design rounds and curates bindings by responsibilitynot recordedpassed3 ms
    presents the Protocol engine roles and reviewed boundary as worked examples for adoptersnot recordedpassed1.27 ms
    routes the next work and reviews through roadmap and proposal recipesnot recordedpassed3.89 ms
    keeps planning truth in graph homes and session routing advisoryProtocol skill assetspassed1.46 ms
    rejects missing planning guidance: An open question goesProtocol skill assetspassed2.07 ms
    rejects missing planning guidance: A deferral isProtocol skill assetspassed1.1 ms
    rejects missing planning guidance: An unsettled factProtocol skill assetspassed0.94 ms
    rejects missing planning guidance: A ruling that awaitsProtocol skill assetspassed0.96 ms
    rejects missing planning guidance: A statement a test checksProtocol skill assetspassed0.95 ms
    rejects missing planning guidance: Derive a countProtocol skill assetspassed1.75 ms
    rejects missing planning guidance: Group a body of workProtocol skill assetspassed1.11 ms
    rejects missing planning guidance: Hold advisory priorityProtocol skill assetspassed1.96 ms
    owns skills under .agents and exposes them to Claude through one relative symlinkProtocol skill assetspassed0.39 ms
    ships every skill folder in the package and indexes it in the helpProtocol skill assetspassed1.08 ms
    uses the repository's two-field single-file conventionProtocol skill assetspassed2.36 ms
    keeps every skill graph-first and the authoring law linked to carrying SpecsProtocol skill assetspassed3.17 ms
    names the complete closed graph schema in the shape sectionProtocol skill assetspassed1.04 ms
    routes delivery sessions through the five advisory graph shapesProtocol skill assetspassed0.97 ms
    documents only valid CLI verbs and keeps root-specific exclusions intactProtocol skill assetspassed3.67 ms
    uses the local runtime or package runner instead of a colliding global binaryProtocol skill assetspassed1.67 ms
    contains no contradictory shortcuts for readiness or verifier realizationProtocol skill assetspassed1.36 ms
    states no recipe-catalog size in an on-rampProtocol skill assetspassed13.37 ms
    maps a task to every catalog recipe in one sheetthe graph-reading on-ramppassed5.28 ms
    links the Specs that own the graph contract, the claims and the sinkthe graph-reading on-ramppassed0.74 ms
    teaches every Markdown section owner and links the carrying grammaradopter teachingpassed1.1 ms
    teaches open-question homeadopter rule meaningspassed1.35 ms
    teaches blocking flooradopter rule meaningspassed1.06 ms
    teaches blocking deferraladopter rule meaningspassed0.98 ms
    teaches deferral triggeradopter rule meaningspassed0.85 ms
    teaches deferral preconditionadopter rule meaningspassed0.76 ms
    teaches independent defined flooradopter rule meaningspassed0.96 ms
    teaches complete example childrenadopter rule meaningspassed1.06 ms
    teaches example vocabulary agreementadopter rule meaningspassed0.81 ms
    teaches physical entry lineadopter rule meaningspassed0.69 ms
    teaches one leading prose owneradopter rule meaningspassed0.88 ms
    teaches Note is refusedadopter rule meaningspassed1.08 ms
    teaches ready reads parentadopter rule meaningspassed1.08 ms
    teaches ready waits for defined parentadopter rule meaningspassed1.4 ms
    teaches unsettled constraint homeadopter rule meaningspassed1.17 ms
    teaches unsettled blocking checkadopter rule meaningspassed1.89 ms
    teaches bounded relationadopter rule meaningspassed1.07 ms
    teaches bounded defined allowedadopter rule meaningspassed1.1 ms
    teaches bounded ready waitsadopter rule meaningspassed1.08 ms
    teaches pending decision below readyadopter rule meaningspassed1.03 ms
    teaches shaping relationadopter rule meaningspassed1.06 ms
    teaches owner states readyadopter rule meaningspassed1.02 ms
    teaches checked statement homeadopter rule meaningspassed1.13 ms
    teaches checking example relationadopter rule meaningspassed1.12 ms
    teaches example test bindingadopter rule meaningspassed1.08 ms
    teaches derived verifier factadopter rule meaningspassed1.82 ms
    teaches verifier existence versus passingadopter rule meaningspassed6.32 ms
    teaches CI owns outcomesadopter rule meaningspassed1.42 ms
    teaches no authored checked statusadopter rule meaningspassed7.3 ms
    teaches fresh derived counts registers scopeadopter rule meaningspassed1.32 ms
    teaches census sourceadopter rule meaningspassed6.12 ms
    teaches open-question register sourceadopter rule meaningspassed1.36 ms
    teaches dependency register sourceadopter rule meaningspassed1.99 ms
    teaches mention register sourceadopter rule meaningspassed1.22 ms
    teaches delta scope sourceadopter rule meaningspassed1.18 ms
    teaches no quoted countsadopter rule meaningspassed1.13 ms
    teaches operator-selected policyadopter rule meaningspassed1.84 ms
    teaches per-file policy parametersadopter rule meaningspassed1.1 ms
    teaches separate policy findingsadopter rule meaningspassed1.1 ms
    teaches policy failuresadopter rule meaningspassed1.13 ms
    teaches watch policy rereadsadopter rule meaningspassed1.08 ms
    teaches Constraints leading-prose exceptionadopter rule meaningspassed1.07 ms
    teaches one primary owneradopter rule meaningspassed1.07 ms
    rejects the opposite teaching for independent defined floor: defined floor does not read the parent's readinessadopter rule meaningspassed1.23 ms
    rejects the opposite teaching for independent defined floor: defined floor does not read the parent's readinessadopter rule meaningspassed1.23 ms
    rejects the opposite teaching for example vocabulary agreement: complete and match the parent's example vocabulary, when it has oneadopter rule meaningspassed2.27 ms
    rejects the opposite teaching for ready reads parent: ready floor does read the parent's readinessadopter rule meaningspassed1.17 ms
    rejects the opposite teaching for physical entry line: a wrapped or indented continuation is refusedadopter rule meaningspassed1.18 ms
    rejects the opposite teaching for one leading prose owner: Leading prose may stand under that owner or under Example space, not bothadopter rule meaningspassed1.13 ms
    rejects the opposite teaching for Note is refused: The parser reads - Note: x as a key and refuses itadopter rule meaningspassed1.1 ms
    rejects the opposite teaching for open-question home: An open question goes under Intent's ### Open questions.adopter rule meaningspassed1.07 ms
    accepts a harmless open-question instruction frameadopter rule meaningspassed1.14 ms
    defined examples ignore parent readiness but read its vocabulary: matches=trueadopter rule meaningspassed2.35 ms
    defined examples ignore parent readiness but read its vocabulary: matches=falseadopter rule meaningspassed0.44 ms
    teaches the Intent grammar rowadopter rule meaningspassed0.76 ms
    teaches the Intent grammar rowadopter rule meaningspassed0.63 ms
    teaches the Behavior grammar rowadopter rule meaningspassed0.55 ms
    teaches the Rule grammar rowadopter rule meaningspassed0.61 ms
    teaches the Workflow grammar rowadopter rule meaningspassed0.54 ms
    teaches the Workflow grammar rowadopter rule meaningspassed0.64 ms
    teaches the Contract grammar rowadopter rule meaningspassed0.63 ms
    teaches the Example space grammar rowadopter rule meaningspassed0.57 ms
    teaches the Example space grammar rowadopter rule meaningspassed0.51 ms
    teaches the Constraints grammar rowadopter rule meaningspassed0.54 ms
    teaches the Constraints grammar rowadopter rule meaningspassed0.53 ms
    teaches the Constraints grammar rowadopter rule meaningspassed0.55 ms
    teaches the Model grammar rowadopter rule meaningspassed0.5 ms
    teaches the Model grammar rowadopter rule meaningspassed0.55 ms
    teaches the Design grammar rowadopter rule meaningspassed0.5 ms
    teaches the Design grammar rowadopter rule meaningspassed0.55 ms
    teaches the Decision grammar rowadopter rule meaningspassed0.61 ms
    teaches the Decision grammar rowadopter rule meaningspassed0.53 ms
    teaches the UI grammar rowadopter rule meaningspassed0.51 ms
    teaches the Verification — <mode> grammar rowadopter rule meaningspassed0.51 ms
    teaches the Verification — <mode> grammar rowadopter rule meaningspassed0.52 ms
    teaches the Verification — <mode> grammar rowadopter rule meaningspassed0.5 ms
    keeps graph-reader verifier teaching about existence and CI outcomesadopter rule meaningspassed0.86 ms
    keeps session teaching advisory and separate from permissionadopter rule meaningspassed0.53 ms
    the README teaches commit pinadopter install and upgrade guidancepassed0.33 ms
    the README teaches npm script approvaladopter install and upgrade guidancepassed0.28 ms
    the README teaches npm git approvaladopter install and upgrade guidancepassed0.29 ms
    the README teaches pnpm repository approvaladopter install and upgrade guidancepassed0.27 ms
    the README teaches pnpm 10 exact approvaladopter install and upgrade guidancepassed0.26 ms
    the README teaches installed CLI checkadopter install and upgrade guidancepassed0.25 ms
    the README teaches vitest subpath requirementadopter install and upgrade guidancepassed0.25 ms
    the README teaches recipe subject as paramsadopter install and upgrade guidancepassed0.23 ms
    refuses wrapped continuationtaught grammar agrees with parser behaviorpassed1.49 ms
    refuses indented continuationtaught grammar agrees with parser behaviorpassed0.25 ms
    allows leading prose under either owner and refuses it under bothtaught grammar agrees with parser behaviorpassed1.11 ms
    refuses Note as a plain Rule entrytaught grammar agrees with parser behaviorpassed0.29 ms
    refuses Note as a plain Workflow entrytaught grammar agrees with parser behaviorpassed0.17 ms
    refuses Note as a plain Contract entrytaught grammar agrees with parser behaviorpassed0.13 ms
    refuses Note as a plain Verification — manual entrytaught grammar agrees with parser behaviorpassed0.6 ms
    refuses unique Model terms duplicatestaught grammar agrees with parser behaviorpassed0.53 ms
    refuses unique Design keys duplicatestaught grammar agrees with parser behaviorpassed0.16 ms
    refuses unique UI keys via Design form duplicatestaught grammar agrees with parser behaviorpassed0.14 ms
    refuses single Intent actor duplicatestaught grammar agrees with parser behaviorpassed0.53 ms
    refuses single Intent problem duplicatestaught grammar agrees with parser behaviorpassed0.17 ms
    refuses single Intent outcome duplicatestaught grammar agrees with parser behaviorpassed0.12 ms
    refuses single Intent value duplicatestaught grammar agrees with parser behaviorpassed0.12 ms
    refuses single Constraints statement duplicatestaught grammar agrees with parser behaviorpassed1.38 ms
    refuses single Constraints flavor duplicatestaught grammar agrees with parser behaviorpassed0.23 ms
    refuses single Constraints target duplicatestaught grammar agrees with parser behaviorpassed0.17 ms
    refuses single Constraints measurableBy duplicatestaught grammar agrees with parser behaviorpassed0.12 ms
    refuses single Decision context duplicatestaught grammar agrees with parser behaviorpassed0.26 ms
    refuses single Decision decision duplicatestaught grammar agrees with parser behaviorpassed0.11 ms
    allows Behavior alone and refuses a second primary ownertaught grammar agrees with parser behaviorpassed0.51 ms
    allows Rule alone and refuses a second primary ownertaught grammar agrees with parser behaviorpassed0.2 ms
    allows Workflow alone and refuses a second primary ownertaught grammar agrees with parser behaviorpassed0.14 ms
    allows Contract alone and refuses a second primary ownertaught grammar agrees with parser behaviorpassed0.22 ms
    allows leading prose in Design and refuses it in Constraintstaught grammar agrees with parser behaviorpassed0.21 ms
    allows the taught repeatable Intent entriestaught grammar agrees with parser behaviorpassed0.22 ms
    allows the taught repeatable Decision entriestaught grammar agrees with parser behaviorpassed0.16 ms
    extracts the key the skill's marker carries and resolves the address the skill gives itthe taught question markerpassed12.24 ms
    leaves the address unresolved when the key stands outside the bracketsthe taught question markerpassed7.39 ms
    creates the anchored suite before generating, and the build places the registrar beside itthe reviewed skill teachingpassed23.37 ms
    keys a step in the vocabulary, as the step-key law and the contract generator agreethe reviewed skill teachingpassed12.4 ms
    owns publishing in one reader section that agrees with each verb's flagsthe reviewed skill teachingpassed3.85 ms
    names the vault's owned folder, the person's notes and the roots a vault run removesthe reviewed skill teachingpassed0.76 ms
    teaches entry addresses, term addresses and anchored source citations as the engine derives themthe reviewed skill teachingpassed16.18 ms
    states what an empty or ready answer establishes and no morethe reviewed skill teachingpassed1.94 ms
    teaches a refused bundle as the end of pagination, as recipe 36 refusesthe reviewed skill teachingpassed11.52 ms
    keeps corpus rules in one section whose composed rules file runs as taughtthe reviewed skill teachingpassed10.59 ms
    points every skill at the installed upgrade guide and triggers authoring on upgrades and rulesthe reviewed skill teachingpassed1.91 ms
    orders the reader as a task route and leaves recipe contracts to the catalogthe reviewed skill teachingpassed3.36 ms
    states the graph's flat topology and which node types carry lines, as the graph doesthe reviewed skill teachingpassed15.04 ms
    is its own shipped skill, which the reading skill points tothe Studio on-ramppassed0.97 ms
    starts from what the agent holdsthe Studio on-ramppassed0.32 ms
    teaches the publishing run as the studio and generate verbs take itthe Studio on-ramppassed1.86 ms
    teaches stamping and the preview workflow as the workflow declares themthe Studio on-ramppassed5.73 ms
    has the preview's run evidence checked against the stamp, never assumed to match itthe Studio on-ramppassed2.7 ms
    maps each task to a page the Studio writes, and states what a page does notthe Studio on-ramppassed52.89 ms
    receives the composing panel's hand-off through the proposal checkthe Studio on-ramppassed9.59 ms
    cites resolving Studio Specs for law and leaves flags to each verb's helpthe Studio on-ramppassed648.7 ms
    is its own shipped skill, which the reading skill points tothe vault on-ramppassed1.44 ms
    places the vault where the command accepts itthe vault on-ramppassed6.47 ms
    keeps the person's notes outside the folder the command ownsthe vault on-ramppassed0.67 ms
    teaches synchronizing and watching as the verbs and the failed index state themthe vault on-ramppassed0.61 ms
    names every refusal the guard prints and how to recover from itthe vault on-ramppassed0.93 ms
    converts a note's links back to the addresses the vault wrote, then checks the proposalthe vault on-ramppassed17.21 ms
    takes the proposal's base from the graph the person read, never from the latest synchronizationthe vault on-ramppassed4.62 ms
    cites resolving vault Specs for law and leaves flags to the verb's helpthe vault on-ramppassed97.29 ms
Design view

Requirement drawing

Requirement drawing for spec:consumers.graph-first-planning
Requirement drawing for spec:consumers.graph-first-planningmodels · anchoredrefines · declaredsatisfies · anchoredsatisfies · anchoredrefines, verifies · declaredrefines · declaredrefines · declaredrefines · declaredverifies · anchoredverifies · anchoredIntended Specs2 modeled Specs · anchored, folded2 modeled Specs · anchoredspec:consumers.graph-first-planningThe next body of work isplanned from the graph, notfrom a prose index…consumers.graph-first-planningdeclared SpecDeclared verifying examples13 verifying examples · declared; 13 test bindings · anchored, folded13 verifying examples ·declared13 test bindings · anchored ·foldedSatisfying or referencingunits3 satisfying units · anchored, folded3 satisfying units ·anchoredTest or oracle bindings2 oracle bindings · anchored, folded2 oracle bindings · anchoredtest:protocol.graph-first-planningchecks placement homes andadvisory graph-firstsession guidance…protocol.graph-first-planninganchored test binding ·binding presenttest:protocol.roadmap-recipetest:protocol.roadmap-recipe…protocol.roadmap-recipeanchored test binding ·binding presentOutside the selected setspec:consumers.authoring-on-rampAuthors move one Spec fromintent to reviewed evidence…consumers.authoring-on-rampdeclared Specspec:consumers.roadmap.memoA roadmap renders as theforward section of a pullrequest description…consumers.roadmap.memodeclared Specspec:consumers.spec-studio.roadmap-pageThe roadmap page shows theupcoming work in priorityorder, split by what itneeds…consumers.spec-studio.roadmap-pagedeclared Spec
The diagram as text
  • spec:consumers.graph-first-planning: The next body of work is planned from the graph, not from a prose index · declared Spec
  • spec:consumers.readiness-planner: The readiness planner orders the statements a person can make · declared Spec
  • spec:consumers.roadmap: A roadmap orders the next bodies of work, and the graph says what each still needs · declared Spec
  • spec:consumers.readiness-planner.cycle-shares-a-round: Waiting Specs that rest on each other share a round and report a cycle · declared Spec
  • spec:consumers.readiness-planner.decision-first: A waiting decision comes before the Spec it shapes · declared Spec
  • spec:consumers.readiness-planner.dependency-order: The Spec another rests on comes first in the queue · declared Spec
  • spec:consumers.readiness-planner.owner-question-holds: An owner's blocking question lists the Specs it holds · declared Spec
  • spec:consumers.roadmap.blocking-part: A descendant question holds the entry for design · declared Spec
  • spec:consumers.roadmap.buildable-part: A ready unbound part needs building · declared Spec
  • spec:consumers.roadmap.built-work: Built work stays on the roadmap · declared Spec
  • spec:consumers.roadmap.design-part: An unfinished part needs design · declared Spec
  • spec:consumers.roadmap.drifting-part: A binding below ready remains drift · declared Spec
  • spec:consumers.roadmap.missing-evidence: A descendant without evidence names its holding clause · declared Spec
  • spec:consumers.roadmap.outside-parent: A descendant names its outside parent · declared Spec
  • spec:consumers.roadmap.statement-order: Waiting statements keep dependency order against roadmap places · declared Spec
  • spec:consumers.roadmap.statement-part: A complete part waits for a statement · declared Spec
  • spec:consumers.authoring-on-ramp: Authors move one Spec from intent to reviewed evidence · declared Spec
  • spec:consumers.roadmap.memo: A roadmap renders as the forward section of a pull request description · declared Spec
  • spec:consumers.spec-studio.roadmap-page: The roadmap page shows the upcoming work in priority order, split by what it needs · declared Spec
  • impl:protocol.graph-first-planning: realizes placement homes and advisory session guidance in the shipped skills · anchored code · test/skills.test.ts:290
  • impl:protocol.roadmap-recipe: realizes the roadmap in the shipped recipe catalog · anchored code · test/roadmap.test.ts:20
  • impl:protocol.statement-queue-recipe: realizes the statement queue in the shipped recipe catalog · anchored code · test/self-hosting-readiness-planner.test.ts:74
  • oracle:protocol.readiness-planner: oracle:protocol.readiness-planner · anchored oracle binding · test/self-hosting-readiness-planner.test.ts:81
  • oracle:protocol.roadmap: oracle:protocol.roadmap · anchored oracle binding · test/roadmap-examples.test.ts:27
  • test:protocol.graph-first-planning: checks placement homes and advisory graph-first session guidance · anchored test binding · binding present · test/skills.test.ts:296
  • test:protocol.readiness-planner.cycle-shares-a-round: test:protocol.readiness-planner.cycle-shares-a-round · anchored test binding · binding present · test/self-hosting-readiness-planner.test.ts:236
  • test:protocol.readiness-planner.decision-first: test:protocol.readiness-planner.decision-first · anchored test binding · binding present · test/self-hosting-readiness-planner.test.ts:220
  • test:protocol.readiness-planner.dependency-order: test:protocol.readiness-planner.dependency-order · anchored test binding · binding present · test/self-hosting-readiness-planner.test.ts:204
  • test:protocol.readiness-planner.owner-question-holds: test:protocol.readiness-planner.owner-question-holds · anchored test binding · binding present · test/self-hosting-readiness-planner.test.ts:252
  • test:protocol.roadmap-recipe: test:protocol.roadmap-recipe · anchored test binding · binding present · test/roadmap.test.ts:34
  • test:protocol.roadmap.blocking-part: test:protocol.roadmap.blocking-part · anchored test binding · binding present · test/roadmap-examples.test.ts:209
  • test:protocol.roadmap.buildable-part: test:protocol.roadmap.buildable-part · anchored test binding · binding present · test/roadmap-examples.test.ts:174
  • test:protocol.roadmap.built-work: test:protocol.roadmap.built-work · anchored test binding · binding present · test/roadmap-examples.test.ts:167
  • test:protocol.roadmap.design-part: test:protocol.roadmap.design-part · anchored test binding · binding present · test/roadmap-examples.test.ts:188
  • test:protocol.roadmap.drifting-part: test:protocol.roadmap.drifting-part · anchored test binding · binding present · test/roadmap-examples.test.ts:195
  • test:protocol.roadmap.missing-evidence: test:protocol.roadmap.missing-evidence · anchored test binding · binding present · test/roadmap-examples.test.ts:202
  • test:protocol.roadmap.outside-parent: test:protocol.roadmap.outside-parent · anchored test binding · binding present · test/roadmap-examples.test.ts:216
  • test:protocol.roadmap.statement-order: test:protocol.roadmap.statement-order · anchored test binding · binding present · test/roadmap-examples.test.ts:223
  • test:protocol.roadmap.statement-part: test:protocol.roadmap.statement-part · anchored test binding · binding present · test/roadmap-examples.test.ts:181
  • spec:consumers.graph-first-planning refines spec:consumers.authoring-on-ramp · declared — the planning rules specialize graph-first authoring for capturing and reading the next body of work
  • spec:consumers.readiness-planner refines spec:consumers.graph-first-planning · declared — the planner is an advisory planning recipe that orders nothing the Protocol enforces
  • spec:consumers.readiness-planner.cycle-shares-a-round refines spec:consumers.readiness-planner · declared
  • spec:consumers.readiness-planner.cycle-shares-a-round verifies spec:consumers.readiness-planner · declared
  • spec:consumers.readiness-planner.decision-first refines spec:consumers.readiness-planner · declared
  • spec:consumers.readiness-planner.decision-first verifies spec:consumers.readiness-planner · declared
  • spec:consumers.readiness-planner.dependency-order refines spec:consumers.readiness-planner · declared
  • spec:consumers.readiness-planner.dependency-order verifies spec:consumers.readiness-planner · declared
  • spec:consumers.readiness-planner.owner-question-holds refines spec:consumers.readiness-planner · declared
  • spec:consumers.readiness-planner.owner-question-holds verifies spec:consumers.readiness-planner · declared
  • spec:consumers.roadmap refines spec:consumers.graph-first-planning · declared — a roadmap is advisory reading of the graph for choosing the next work
  • spec:consumers.roadmap.blocking-part refines spec:consumers.roadmap · declared
  • spec:consumers.roadmap.blocking-part verifies spec:consumers.roadmap · declared
  • spec:consumers.roadmap.buildable-part refines spec:consumers.roadmap · declared
  • spec:consumers.roadmap.buildable-part verifies spec:consumers.roadmap · declared
  • spec:consumers.roadmap.built-work refines spec:consumers.roadmap · declared
  • spec:consumers.roadmap.built-work verifies spec:consumers.roadmap · declared
  • spec:consumers.roadmap.design-part refines spec:consumers.roadmap · declared
  • spec:consumers.roadmap.design-part verifies spec:consumers.roadmap · declared
  • spec:consumers.roadmap.drifting-part refines spec:consumers.roadmap · declared
  • spec:consumers.roadmap.drifting-part verifies spec:consumers.roadmap · declared
  • spec:consumers.roadmap.memo refines spec:consumers.roadmap · declared
  • spec:consumers.roadmap.missing-evidence refines spec:consumers.roadmap · declared
  • spec:consumers.roadmap.missing-evidence verifies spec:consumers.roadmap · declared
  • spec:consumers.roadmap.outside-parent refines spec:consumers.roadmap · declared
  • spec:consumers.roadmap.outside-parent verifies spec:consumers.roadmap · declared
  • spec:consumers.roadmap.statement-order refines spec:consumers.roadmap · declared
  • spec:consumers.roadmap.statement-order verifies spec:consumers.roadmap · declared
  • spec:consumers.roadmap.statement-part refines spec:consumers.roadmap · declared
  • spec:consumers.roadmap.statement-part verifies spec:consumers.roadmap · declared
  • spec:consumers.spec-studio.roadmap-page refines spec:consumers.roadmap · declared — the page is the roadmap's reading for a person
  • impl:protocol.graph-first-planning satisfies spec:consumers.graph-first-planning · anchored
  • impl:protocol.roadmap-recipe satisfies spec:consumers.roadmap · anchored
  • impl:protocol.statement-queue-recipe satisfies spec:consumers.readiness-planner · anchored
  • oracle:protocol.readiness-planner models spec:consumers.readiness-planner · anchored
  • oracle:protocol.roadmap models spec:consumers.roadmap · anchored
  • test:protocol.graph-first-planning verifies spec:consumers.graph-first-planning · anchored
  • test:protocol.readiness-planner.cycle-shares-a-round verifies spec:consumers.readiness-planner.cycle-shares-a-round · anchored
  • test:protocol.readiness-planner.decision-first verifies spec:consumers.readiness-planner.decision-first · anchored
  • test:protocol.readiness-planner.dependency-order verifies spec:consumers.readiness-planner.dependency-order · anchored
  • test:protocol.readiness-planner.owner-question-holds verifies spec:consumers.readiness-planner.owner-question-holds · anchored
  • test:protocol.roadmap-recipe verifies spec:consumers.roadmap · anchored
  • test:protocol.roadmap.blocking-part verifies spec:consumers.roadmap.blocking-part · anchored
  • test:protocol.roadmap.buildable-part verifies spec:consumers.roadmap.buildable-part · anchored
  • test:protocol.roadmap.built-work verifies spec:consumers.roadmap.built-work · anchored
  • test:protocol.roadmap.design-part verifies spec:consumers.roadmap.design-part · anchored
  • test:protocol.roadmap.drifting-part verifies spec:consumers.roadmap.drifting-part · anchored
  • test:protocol.roadmap.missing-evidence verifies spec:consumers.roadmap.missing-evidence · anchored
  • test:protocol.roadmap.outside-parent verifies spec:consumers.roadmap.outside-parent · anchored
  • test:protocol.roadmap.statement-order verifies spec:consumers.roadmap.statement-order · anchored
  • test:protocol.roadmap.statement-part verifies spec:consumers.roadmap.statement-part · anchored
Mermaid source

Copyable source; the Studio draws static SVG.

Preferred syntax: requirementDiagram. Chosen syntax: flowchart TB because models, folds require exact labels unavailable in requirement syntax.

Decisions

  • Planning truths live in ruled graph homes

    Each planning-truth type lives in its ruled home. Work-item dependency truth rides dependsOn edges, with independence as absence of the edge and scheduling phrases never authored. Decision gates live on decision-kind Specs, linked by decidedBy. Do-not-reopen rows split by what they carry: a tradeoff refusal becomes a decision-kind Spec, which a later decision that supersedes it replaces whole and a later decision that refines it narrows for one case, either under the ADR three-part test; a row that restates a behavior guarantee already homed on a carrying Spec stays on that Spec and changes by ordinary Spec revision; a hold stays a blocking open question on its own Spec and is never minted as a decision. A lawful non-decision stays in the plan record as evidence. A deferral carries its re-entry trigger in the trigger field of its own blocking open question, and declares dependsOn separately when a true precondition exists. Exclusive ownership is one Spec identity per deliverable with consumers depending on it. Selection-pressure heuristics are advisory only, carried as behavior rules on the graph-first planning Spec or in recipes. Session law splits separately, across behavior rules on the graph-first planning Spec, the delivery-session on-ramp's handoff rule, and the plan file. The briefs index shape is retired as a carrier of law.

Runtime
  • impl:protocol.graph-first-planning · realizes placement homes and advisory session guidance in the shipped skills · test/skills.test.ts:290

    Uses

    None.

Runtime observation: not tracked.

Evidence

Runtime observation: not tracked.

Build attestations: not tracked.

Deployments: not tracked.

Bills of materials: not tracked.

Impact
Relations of spec:consumers.graph-first-planning
The diagram as text
  • spec:consumers.authoring-on-ramp: Authors move one Spec from intent to reviewed evidence
  • spec:consumers.delivery-session-on-ramp: Delivery sessions route work from current graph state
  • spec:consumers.graph-first-planning: The next body of work is planned from the graph, not from a prose index
  • spec:consumers.readiness-planner: The readiness planner orders the statements a person can make
  • spec:consumers.roadmap: A roadmap orders the next bodies of work, and the graph says what each still needs
  • spec:decisions.planning-truths-placement: Planning truths live in ruled graph homes
  • spec:model.open-question-fields: An open question may name who decides it, its links, a provisional reading and a re-entry trigger
  • spec:consumers.graph-first-planning decidedBy spec:decisions.planning-truths-placement · declared
  • spec:consumers.graph-first-planning dependsOn spec:consumers.delivery-session-on-ramp · declared — per-session routing remains owned by the delivery-session on-ramp
  • spec:consumers.graph-first-planning dependsOn spec:model.open-question-fields · declared — the placement rule uses the question's explicit re-entry trigger field
  • spec:consumers.graph-first-planning refines spec:consumers.authoring-on-ramp · declared — the planning rules specialize graph-first authoring for capturing and reading the next body of work
  • spec:consumers.readiness-planner refines spec:consumers.graph-first-planning · declared — the planner is an advisory planning recipe that orders nothing the Protocol enforces
  • spec:consumers.roadmap refines spec:consumers.graph-first-planning · declared — a roadmap is advisory reading of the graph for choosing the next work
Mermaid source

Copyable source; the Studio draws static SVG.

Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.

Rests on

Rested on by

Distance 1

Distance 2

Distance 3

Distance 4

Relations

Relation and directionOther endClaimReasonExercised keys
decidedBy · outgoingPlanning truths live in ruled graph homes
spec:decisions.planning-truths-placement · resolves
declaredNoneNone
dependsOn · outgoingDelivery sessions route work from current graph state
spec:consumers.delivery-session-on-ramp · resolves
declaredper-session routing remains owned by the delivery-session on-rampNone
dependsOn · outgoingAn open question may name who decides it, its links, a provisional reading and a re-entry trigger
spec:model.open-question-fields · resolves
declaredthe placement rule uses the question's explicit re-entry trigger fieldNone
refines · outgoingAuthors move one Spec from intent to reviewed evidence
spec:consumers.authoring-on-ramp · resolves
declaredthe planning rules specialize graph-first authoring for capturing and reading the next body of workNone
refines · incomingThe readiness planner orders the statements a person can make
spec:consumers.readiness-planner · resolves
declaredthe planner is an advisory planning recipe that orders nothing the Protocol enforcesNone
refines · incomingA roadmap orders the next bodies of work, and the graph says what each still needs
spec:consumers.roadmap · resolves
declareda roadmap is advisory reading of the graph for choosing the next workNone

Bindings

Implementation binding: present

  • impl:protocol.graph-first-planning · realizes placement homes and advisory session guidance in the shipped skills · test/skills.test.ts:290

Design reference: none

Verifier binding: present

  • test:protocol.graph-first-planning · checks placement homes and advisory graph-first session guidance · anchored · test/skills.test.ts:296 · test anchor

Expected-outcome oracle: none

Runtime observation: not tracked.

Run results: not recorded in the graph.

Findings

None.

Composing (0)

Composing needs the script.