Design iteration

pack:design-iteration-v1specs/design-iteration.pack.sdp.md

Exported from the Spec Studio

pack:design-iteration-v1

Where the design stands

  • 11 members in authored reading order; no unresolved members.
  • No members held below their stated next rung.
  • No members waiting only for their author's statement.
  • 77 design entries and 27 pinned declarations.
  • No open questions and no blocking questions.
  • 11 members with an implementation binding.
  • 1 member with a design reference.
  • 26 outside Specs the Pack rests on; 33 outside Specs rest on the Pack; 3 outside Specs verify it; no outside Specs supersede it.

Maturity map

11 members at stated ready and floor ready: full member list.

Stated readiness by floor reached
Rows: stated readiness, idea to ready. Columns: floor reached, none to ready. Each mark counts one member; above 100 members a cell is solid. Floor none is distinct from idea.

Outlined diagonal: matches. Right of diagonal: floor above statement. Left of diagonal: statement above floor.

Maturity map for Design iterationFloor reached →Stated readiness ↓noneideascopeddefinedreadyideascopeddefinedreadystated ready, floor ready: 11 members11
Maturity map as text
Counts by stated readiness and floor reached. To the right the floor exceeds the statement; to the left the statement exceeds the floor.
Stated rung / floor reachedfloor nonefloor ideafloor scopedfloor definedfloor ready
stated idea—————
stated scoped—————
stated defined—————
stated ready————11
stated ready, floor ready · 11 members
Mermaid source

Preferred syntax: block. Fixed categorical cells; membership appears in comments.

Framing

This Pack groups the contracts used to iterate on a design through the graph, in review order. Its members cover concise recipe answers; rule keys, question fields and relation reasons; comparison between design passes; context bundles, perspectives and change proposals. The final members cover when implemented design detail may leave a Spec and how file-level imports inform anchor curation, drawing on lessons from the Protocol's predecessor, @libar-dev/architect.

Members

1. Recipe answers fit an agent's context and explain their missesbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present

spec:consumers.agent-surface.answer-shapes

Design

10 design entries · 2 pinned declarations

Open questions

None.

Implementation binding: present

  • impl:protocol.answer-shape-recipes · asserts realization of the catalog's compact and detailed answers · test/recipes.test.ts:6214

Design reference: present

  • impl:protocol.authoring-grammar-recipes · asserts the authoring grammar's realization in docs/agent-surface/recipes.md · test/recipes.test.ts:6597
  • impl:protocol.reader · typed graph queries, entry adapters and context joins · src/reader/reader.ts:687 · role reader · component component:protocol.reader · layer application · context protocol

Verifier binding: present

1 verifier, 1 enabled · no verifying examples, 0 enabled

2. A rule or flow entry may carry a key that addresses itrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present

spec:model.rule-keys

Design

10 design entries · 6 pinned declarations

Decisions

  • spec:decisions.checked-mentions · stated ready
  • spec:decisions.shipped-projections-frozen · stated ready

Open questions

None.

Implementation binding: present

  • impl:protocol.authoring-grammar-recipes · asserts the authoring grammar's realization in docs/agent-surface/recipes.md · test/recipes.test.ts:6597
  • impl:protocol.authoring-normalization · normalizes rule markers and question fields after carrier reification · src/extract/authoring-normalization.ts:8 · role codec · component component:protocol.extract · layer application · context protocol
  • impl:protocol.rule-exercises · checks the keys named by declared verifies relations · src/validate/validators.ts:1479 · role validator · component component:protocol.validate · layer domain · context protocol

Design reference: none

Verifier binding: present

2 verifiers, 2 enabled · no verifying examples, 0 enabled

3. An open question may name who decides it, its links, a provisional reading and a re-entry triggerrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present

spec:model.open-question-fields

Design

7 design entries · 1 pinned declaration

Decisions

  • spec:decisions.adopt-the-nouns · stated ready
  • spec:decisions.planning-truths-placement · stated ready

Open questions

None.

Implementation binding: present

  • impl:protocol.authoring-grammar-recipes · asserts the authoring grammar's realization in docs/agent-surface/recipes.md · test/recipes.test.ts:6597
  • impl:protocol.authoring-normalization · normalizes rule markers and question fields after carrier reification · src/extract/authoring-normalization.ts:8 · role codec · component component:protocol.extract · layer application · context protocol

Design reference: none

Verifier binding: present

3 verifiers, 3 enabled · 1 verifying example, 1 enabled

4. An authored relation may carry its reasonrule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present

spec:model.relation-reasons

Design

5 design entries · no pinned declarations

Decisions

  • spec:decisions.prose-ownership · stated ready

Open questions

None.

Implementation binding: present

  • impl:protocol.authoring-grammar-recipes · asserts the authoring grammar's realization in docs/agent-surface/recipes.md · test/recipes.test.ts:6597
  • impl:protocol.authoring-normalization · normalizes rule markers and question fields after carrier reification · src/extract/authoring-normalization.ts:8 · role codec · component component:protocol.extract · layer application · context protocol

Design reference: none

Verifier binding: present

2 verifiers, 2 enabled · no verifying examples, 0 enabled

5. Designs are compared between a base commit and the working tree at entry grainbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present

spec:consumers.design-diff

Design

8 design entries · 4 pinned declarations

Decisions

  • spec:decisions.roadmap-priority · stated ready

Open questions

None.

Implementation binding: present

  • impl:protocol.design-diff-recipe · realizes the design diff in the shipped recipe catalog · test/iteration-recipes.test.ts:27 · role projection

Design reference: none

Verifier binding: present

2 verifiers, 2 enabled · no verifying examples, 0 enabled

6. A context bundle is composed per invocation within a stated budgetbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present

spec:consumers.context-bundle

Design

17 design entries · 7 pinned declarations

Decisions

  • spec:decisions.agent-front-door · stated ready

Open questions

None.

Implementation binding: present

  • impl:protocol.context-bundle-recipe · realizes the context bundle in the shipped recipe catalog · test/iteration-recipes.test.ts:765 · role projection

Design reference: none

Verifier binding: present

3 verifiers, 3 enabled · 2 verifying examples, 2 enabled

7. A Pack is read from a named perspectivebehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present

spec:consumers.review-perspectives

Design

4 design entries · 1 pinned declaration

Open questions

None.

Implementation binding: present

  • impl:protocol.perspective-filter-recipe · realizes the perspective filter in the shipped recipe catalog · test/iteration-recipes.test.ts:753 · role projection

Design reference: none

Verifier binding: present

1 verifier, 1 enabled · no verifying examples, 0 enabled

8. A change proposal is addressed, based and checked before it landscontract · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present

spec:consumers.intent-composition.proposal

Design

7 design entries · 2 pinned declarations

Open questions

None.

Implementation binding: present

  • impl:protocol.proposal-schema-and-recipe · realizes the shipped proposal schema and proposal check in the recipe catalog · test/iteration-recipes.test.ts:1510 · role contract
  • impl:protocol.studio-proposal-contract · browser proposal shape and schema checks · src/studio-elements/proposal.ts:1 · role contract · component component:protocol.studio-elements · layer edge · context protocol

Design reference: none

Verifier binding: present

1 verifier, 1 enabled · no verifying examples, 0 enabled

9. Enrichment keeps one Spec while its detail changesmodel · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present

spec:model.enrichment-lifecycle

Design

2 design entries · no pinned declarations

Open questions

None.

Implementation binding: present

  • impl:protocol.slimming-recipe · asserts realization of the shipped slimming-candidates recipe · test/curation-recipes.test.ts:26

Design reference: none

Verifier binding: present

1 verifier, 1 enabled · no verifying examples, 0 enabled

10. File-level imports show where curation is missingbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present

spec:consumers.impact-graph.curation-assist

Design

7 design entries · 4 pinned declarations

Decisions

  • spec:decisions.architectural-annotation · stated ready

Open questions

None.

Implementation binding: present

  • impl:protocol.build-imports · opt-in imports publication in the build command · src/cli/build-command.ts:243 · role publisher · component component:protocol.cli · layer edge · context protocol
  • impl:protocol.curation-recipe · asserts the curation report over external inferred imports · test/curation-recipes.test.ts:32
  • impl:protocol.typescript-imports · TypeScript file imports and barrel reach for external curation input · src/adapters/typescript-imports.ts:7 · role adapter · component component:protocol.adapters · layer adapter · context protocol

Design reference: none

Verifier binding: present

2 verifiers, 2 enabled · no verifying examples, 0 enabled

11. Mechanical code structure stays inferred and apart from curated intentbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present

spec:consumers.impact-graph

Design

No design entries · no pinned declarations

Open questions

None.

Implementation binding: present

  • impl:protocol.typescript-imports · TypeScript file imports and barrel reach for external curation input · src/adapters/typescript-imports.ts:7 · role adapter · component component:protocol.adapters · layer adapter · context protocol

Design reference: none

Verifier binding: present

1 verifier, 1 enabled · no verifying examples, 0 enabled

Boundary

Rests on (26)
SpecStated rungImplementation bindingJoined members
spec:consumers.agent-surface
spec:consumers.agent-surface
readypresentrefines: spec:consumers.agent-surface.answer-shapes, spec:consumers.context-bundle
spec:consumers.agent-surface.address-and-cycle-recipes
spec:consumers.agent-surface.address-and-cycle-recipes
readypresentdependsOn: spec:consumers.intent-composition.proposal
spec:consumers.agent-surface.design-recipes
spec:consumers.agent-surface.design-recipes
readypresentdependsOn: spec:consumers.agent-surface.answer-shapes, spec:consumers.context-bundle
spec:consumers.agent-surface.evaluation-sink
spec:consumers.agent-surface.evaluation-sink
readypresentdependsOn: spec:consumers.agent-surface.answer-shapes
spec:consumers.agent-surface.recipe-parameters
spec:consumers.agent-surface.recipe-parameters
readypresentdependsOn: spec:consumers.design-diff
spec:consumers.edit-model
spec:consumers.edit-model
readynonedependsOn: spec:consumers.intent-composition.proposal
spec:consumers.intent-composition
spec:consumers.intent-composition
readynonerefines: spec:consumers.intent-composition.proposal
spec:consumers.pack-design
spec:consumers.pack-design
readypresentdependsOn: spec:consumers.review-perspectives
spec:consumers.projections-model
spec:consumers.projections-model
readypresentrefines: spec:consumers.design-diff, spec:consumers.review-perspectives, spec:consumers.impact-graph
spec:decisions.adopt-the-nouns
spec:decisions.adopt-the-nouns
readynonedecidedBy: spec:model.open-question-fields
spec:decisions.agent-front-door
spec:decisions.agent-front-door
readynonedecidedBy: spec:consumers.context-bundle
spec:decisions.architectural-annotation
spec:decisions.architectural-annotation
readynonedecidedBy: spec:consumers.impact-graph.curation-assist
spec:decisions.checked-mentions
spec:decisions.checked-mentions
readynonedecidedBy: spec:model.rule-keys
spec:decisions.planning-truths-placement
spec:decisions.planning-truths-placement
readynonedecidedBy: spec:model.open-question-fields
spec:decisions.prose-ownership
spec:decisions.prose-ownership
readynonedecidedBy: spec:model.relation-reasons
spec:decisions.roadmap-priority
spec:decisions.roadmap-priority
readynonedecidedBy: spec:consumers.design-diff
spec:decisions.shipped-projections-frozen
spec:decisions.shipped-projections-frozen
readynonedecidedBy: spec:model.rule-keys
spec:extraction.contract-declarations
spec:extraction.contract-declarations
readypresentdependsOn: spec:model.enrichment-lifecycle
spec:extraction.derive-graph
spec:extraction.derive-graph
readypresentdependsOn: spec:consumers.impact-graph
spec:extraction.determinism
spec:extraction.determinism
readypresentconstrainedBy: spec:consumers.design-diff
spec:extraction.entry-locations
spec:extraction.entry-locations
readypresentdependsOn: spec:model.rule-keys, spec:model.open-question-fields
spec:model.core-model
spec:model.core-model
readypresentrefines: spec:model.enrichment-lifecycle
spec:model.open-question-keys
spec:model.open-question-keys
readypresentrefines: spec:model.open-question-fields
dependsOn: spec:model.rule-keys
spec:model.planned-architecture
spec:model.planned-architecture
readypresentdependsOn: spec:consumers.impact-graph.curation-assist
spec:model.relations
spec:model.relations
readypresentrefines: spec:model.relation-reasons
spec:model.spec-sections
spec:model.spec-sections
readypresentrefines: spec:model.rule-keys
Rested on by (33)
SpecStated rungImplementation bindingJoined members
spec:carrier.envelope-contract
spec:carrier.envelope-contract
readypresentdependsOn: spec:model.rule-keys, spec:model.relation-reasons
spec:carrier.gherkin-authoring
spec:carrier.gherkin-authoring
readypresentdependsOn: spec:model.rule-keys
spec:carrier.markdown-body-grammar
spec:carrier.markdown-body-grammar
readypresentdependsOn: spec:model.rule-keys, spec:model.open-question-fields
spec:carrier.prose-ownership-rule
spec:carrier.prose-ownership-rule
readypresentdependsOn: spec:model.open-question-fields, spec:model.relation-reasons
spec:consumers.agent-surface.address-and-cycle-recipes
spec:consumers.agent-surface.address-and-cycle-recipes
readypresentdependsOn: spec:model.rule-keys
spec:consumers.agent-surface.register-recipes
spec:consumers.agent-surface.register-recipes
readypresentdependsOn: spec:model.rule-keys, spec:model.open-question-fields, spec:model.relation-reasons
spec:consumers.authoring-on-ramp
spec:consumers.authoring-on-ramp
readypresentdependsOn: spec:model.rule-keys, spec:model.open-question-fields, spec:model.relation-reasons
spec:consumers.context-bundle.oversized-member-named
spec:consumers.context-bundle.oversized-member-named
readynonerefines: spec:consumers.context-bundle
spec:consumers.context-bundle.parts-cover-the-pack
spec:consumers.context-bundle.parts-cover-the-pack
readynonerefines: spec:consumers.context-bundle
spec:consumers.delivery-session-on-ramp
spec:consumers.delivery-session-on-ramp
readypresentdependsOn: spec:consumers.design-diff, spec:consumers.context-bundle, spec:consumers.review-perspectives, spec:consumers.intent-composition.proposal, spec:model.enrichment-lifecycle
spec:consumers.design-slice
spec:consumers.design-slice
readypresentdependsOn: spec:model.rule-keys, spec:model.open-question-fields, spec:consumers.context-bundle, spec:consumers.review-perspectives
spec:consumers.graph-first-planning
spec:consumers.graph-first-planning
readypresentdependsOn: spec:model.open-question-fields
spec:consumers.impact-graph.symbol-reach
spec:consumers.impact-graph.symbol-reach
ideanonerefines: spec:consumers.impact-graph
spec:consumers.intent-composition.proposal.memo
spec:consumers.intent-composition.proposal.memo
readypresentrefines: spec:consumers.intent-composition.proposal
spec:consumers.obsidian-vault.iteration
spec:consumers.obsidian-vault.iteration
readypresentdependsOn: spec:consumers.intent-composition.proposal
spec:consumers.pack-design
spec:consumers.pack-design
readypresentdependsOn: spec:model.open-question-fields
spec:consumers.readiness-planner
spec:consumers.readiness-planner
readypresentdependsOn: spec:model.open-question-fields
spec:consumers.roadmap
spec:consumers.roadmap
readypresentdependsOn: spec:model.open-question-fields
spec:consumers.spec-studio.data.inputs
spec:consumers.spec-studio.data.inputs
readypresentdependsOn: spec:consumers.design-diff
spec:consumers.spec-studio.diff-page
spec:consumers.spec-studio.diff-page
readypresentdependsOn: spec:consumers.design-diff
spec:consumers.spec-studio.intent-panel
spec:consumers.spec-studio.intent-panel
readypresentdependsOn: spec:consumers.intent-composition.proposal
spec:consumers.spec-studio.lenses.tests
spec:consumers.spec-studio.lenses.tests
readypresentdependsOn: spec:model.rule-keys
spec:consumers.spec-studio.pack-page
spec:consumers.spec-studio.pack-page
readypresentdependsOn: spec:model.open-question-fields
spec:consumers.spec-studio.slice-page
spec:consumers.spec-studio.slice-page
readypresentdependsOn: spec:model.open-question-fields
spec:consumers.spec-studio.spec-page
spec:consumers.spec-studio.spec-page
readypresentdependsOn: spec:model.rule-keys, spec:model.open-question-fields, spec:model.relation-reasons
spec:consumers.spec-studio.spec-page.core
spec:consumers.spec-studio.spec-page.core
readypresentdependsOn: spec:model.rule-keys, spec:model.open-question-fields, spec:model.relation-reasons
spec:consumers.spec-studio.verification-panels
spec:consumers.spec-studio.verification-panels
readypresentdependsOn: spec:model.rule-keys
spec:consumers.upgrade-kit.capability-adoption
spec:consumers.upgrade-kit.capability-adoption
readypresentdependsOn: spec:model.rule-keys, spec:model.open-question-fields, spec:model.relation-reasons, spec:consumers.review-perspectives
spec:consumers.upgrade-kit.rule-key-proposal
spec:consumers.upgrade-kit.rule-key-proposal
readypresentdependsOn: spec:model.rule-keys, spec:consumers.intent-composition.proposal
spec:model.open-question-fields.dropped-list-warns
spec:model.open-question-fields.dropped-list-warns
readynonerefines: spec:model.open-question-fields
spec:model.term-addresses
spec:model.term-addresses
readypresentdependsOn: spec:model.rule-keys
spec:protocol.roadmap-replaces-plans
spec:protocol.roadmap-replaces-plans
readypresentdependsOn: spec:consumers.intent-composition.proposal
spec:validation.prose-mentions
spec:validation.prose-mentions
readypresentdependsOn: spec:model.open-question-fields
Verified by (3)
SpecStated rungImplementation bindingJoined members
spec:consumers.context-bundle.oversized-member-named
spec:consumers.context-bundle.oversized-member-named
readynoneverifies: spec:consumers.context-bundle
spec:consumers.context-bundle.parts-cover-the-pack
spec:consumers.context-bundle.parts-cover-the-pack
readynoneverifies: spec:consumers.context-bundle
spec:model.open-question-fields.dropped-list-warns
spec:model.open-question-fields.dropped-list-warns
readynoneverifies: spec:model.open-question-fields
Superseded by (0)

None.

Members with no verifier binding

The graph records bindings and never runs, so no page shows a run result. Decision records are left out: a decision never needs a verifier binding.

None.

Findings

None.

1. Recipe answers fit an agent's context and explain their misses

spec:consumers.agent-surface.answer-shapes

Recipe answers fit an agent's context and explain their misses

spec:consumers.agent-surface.answer-shapesUse Case / Behavior · storyready floor ready

Packs: pack:design-iteration-v1, pack:self-hosting-v1

Design: 10 design entries · 2 pinned declarations · no decisions

Findings: no errors, no warnings

specs/consumers/agent-surface.answer-shapes.sdp.md

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

A usability trial gave agents only the skills, the recipe catalog and sdp q and a fixed set of delivery questions. Every answer was reachable without opening a carrier or source file. The agents repeatedly met oversized answers, unexplained misses, ambiguous next-rung labels and fields whose names overstated the relations they reported.

Intent
actor
An agent answering a delivery question through the catalog recipes.
problem
An agent spends calls trimming oversized answers, decoding terse misses and writing the same missing body, and can repeat a recipe's label as fact when the label says more than the graph does.
outcome
Let an agent get each answer in one call that fits its context, with every miss explained.
Behavior
rule line 25 · specs/consumers/agent-surface.answer-shapes.sdp.md:25
Changed-file impact, Pack design, design diff and the design slice, recipes 4, 29, 35 and 54, accept detail: true and default to summaries preserving every total and explicitly naming omitted detail.
rule line 26 · specs/consumers/agent-surface.answer-shapes.sdp.md:26
The guarantees recipe (recipe 3) returns each section's entries as the Spec states them and the binding fields the Spec context carries, not only the names of the sections.
rule line 27 · specs/consumers/agent-surface.answer-shapes.sdp.md:27
The orphans and gaps recipe (recipe 8) reports each kind the verifier-gap signal exempts and how many ready Specs it exempts, as the build backlog reports its exclusions.
rule line 28 · specs/consumers/agent-surface.answer-shapes.sdp.md:28
A design-backlog recipe lists the Specs stated defined that no code realizes, with their design columns, excluding examples and decisions as the build backlog does.
rule line 29 · specs/consumers/agent-surface.answer-shapes.sdp.md:29
The catalog opens with an index, one row per recipe, and shows how to run a shipped body inside a caller's own body to filter its answer.

5 unkeyed rules.

Design
detailParameter line 33 · specs/consumers/agent-surface.answer-shapes.sdp.md:33
recipes 4, 29, 35 and 54 read params.detail, absent or false for the summary and true for every row in full; recipe 29's and recipe 54's detail may also be a list of member ids, which returns full rows for those members and summary rows for the rest of the Pack, and an id that is not a member is a diagnostic in the result. A summary keeps totals as the full answer counts them and adds leftOut, one line for each kind of detail it omits.
impactSummary line 34 · specs/consumers/agent-surface.answer-shapes.sdp.md:34
{ changedFiles, totals, impactedSpecs: [id], impactedPacks: [id], atRisk: { incomingSpecs: [id], outgoingSpecs: [id], other: [id] }, coverageUnknownFiles, unlinkedUnits: [id], leftOut } is recipe 4's summary. Incoming and outgoing name the connecting edge's direction relative to the impacted node and assert no dependency, since the edge may be any type; a Spec reached both ways is listed in both, and other holds the at-risk nodes that are not Specs.

no citation recorded

impactDetail line 35 · specs/consumers/agent-surface.answer-shapes.sdp.md:35
With detail: true, recipe 4 returns full rows and reasons; every at-risk reason carries direction, incoming or outgoing, relative to its impacted end.
packDesignSummary line 36 · specs/consumers/agent-surface.answer-shapes.sdp.md:36
{ id, specKind, statedReadiness, floorReached, statedNextRung, holds: [{ clauseId, targets: [id] }], openQuestions, blockingQuestions, implementedBy, referencedBy } is recipe 29's summary row, with counts for the last four; the summary's boundary lists ids per direction, and totals is unchanged. holds is the summary of statedNextRungFailures, retaining each clauseId and target ids.

no citation recorded

guaranteeShape line 37 · specs/consumers/agent-surface.answer-shapes.sdp.md:37
Recipe 3 returns sections as the graph holds them, designColumns, packs, implementations and references in recipe 29's unit shape, with id, file, line, role and component with its layer and context, plus each verifier with its line, relations with claims and reasons, and findings.
gapExemptions line 38 · specs/consumers/agent-surface.answer-shapes.sdp.md:38
Recipe 8 returns exemptions as { validatorId, exemptKind, readySpecs }, one row for each exempt kind, and leftOut when more signals exist than the 25 listed.
preflightRungs line 39 · specs/consumers/agent-surface.answer-shapes.sdp.md:39
The Spec context carries statedNextRung when one exists and statedNextRungFailures; promotion preflight reads those fields and the floor's next rung without computing a floor, and renders a missing next rung as null.
designBacklog line 40 · specs/consumers/agent-surface.answer-shapes.sdp.md:40
recipe 33, the design backlog, takes no parameter and returns { totals: { specs, byFamily, excludedExamples, excludedDecisions, withReferences }, rows }, each row { id, specKind, altitude, floorReached, statedNextRungFailures: [clauseId], design: { entries, declarations, openQuestions, blockingQuestions }, referencedBy, packs }, sorted by id.
catalogIndex line 41 · specs/consumers/agent-surface.answer-shapes.sdp.md:41
the catalog opens with a table of every recipe, its number, name, parameters and a one-line use, before the contract; the build writes one file per body and none for the index.
wrapIdiom line 42 · specs/consumers/agent-surface.answer-shapes.sdp.md:42
to filter a shipped answer, the caller wraps the shipped body in an async arrow function that takes params, inside its own body, const answer = await (async (params) => { <shipped body> })({ <the recipe's own parameters> });, and returns a filtered value, so the caller's own parameters never reach the recipe as names it does not take; the catalog shows the shell form and states that the caller's part must hold no shell expansion.
Verification

Verifier bindings

  • test:protocol.answer-shape-recipes · anchored · test anchor binding present · test/recipes.test.ts:6220
Design view

Requirement drawing

  • Declared verifying examples: no declared verifying example.
Requirement drawing for spec:consumers.agent-surface.answer-shapes
The diagram as text
  • spec:consumers.agent-surface.answer-shapes: Recipe answers fit an agent's context and explain their misses · declared Spec
  • spec:consumers.agent-surface: Agents script a visible typed graph · declared Spec
  • impl:protocol.answer-shape-recipes: asserts realization of the catalog's compact and detailed answers · anchored code · test/recipes.test.ts:6214
  • impl:protocol.authoring-grammar-recipes: asserts the authoring grammar's realization in docs/agent-surface/recipes.md · anchored code · test/recipes.test.ts:6597
  • impl:protocol.reader: typed graph queries, entry adapters and context joins · anchored code · src/reader/reader.ts:687
  • test:protocol.answer-shape-recipes: test:protocol.answer-shape-recipes · anchored test binding · binding present · test/recipes.test.ts:6220
  • spec:consumers.agent-surface.answer-shapes refines spec:consumers.agent-surface · declared
  • impl:protocol.answer-shape-recipes satisfies spec:consumers.agent-surface.answer-shapes · anchored
  • impl:protocol.authoring-grammar-recipes references spec:consumers.agent-surface.answer-shapes · anchored
  • impl:protocol.reader references spec:consumers.agent-surface.answer-shapes · anchored
  • test:protocol.answer-shape-recipes verifies spec:consumers.agent-surface.answer-shapes · anchored
Mermaid source

Copyable source; the Studio draws static SVG.

Preferred syntax: requirementDiagram. Chosen syntax: flowchart TB because references require exact labels unavailable in requirement syntax.

Decisions

No decision record named.

Runtime
  • impl:protocol.answer-shape-recipes · asserts realization of the catalog's compact and detailed answers · test/recipes.test.ts:6214

    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.agent-surface.answer-shapes
Relations of spec:consumers.agent-surface.answer-shapesrefines · declareddependsOn · declareddependsOn · declaredOutgoing refinesspec:consumers.agent-surfaceAgents script a visibletyped graph…agent-surfaceOutgoing dependsOnspec:consumers.agent-surface.design-recipesDesign work reads itsanswers from catalog recipes…agent-surface.design-recipesspec:consumers.agent-surface.evaluation-sinkThe evaluation sink runsone body and prints itsreturn…agent-surface.evaluation-sinkSubjectspec:consumers.agent-surface.answer-shapesRecipe answers fit anagent's context and explaintheir misses…agent-surface.answer-shapes
The diagram as text
  • spec:consumers.agent-surface: Agents script a visible typed graph
  • spec:consumers.agent-surface.answer-shapes: Recipe answers fit an agent's context and explain their misses
  • spec:consumers.agent-surface.design-recipes: Design work reads its answers from catalog recipes
  • spec:consumers.agent-surface.evaluation-sink: The evaluation sink runs one body and prints its return
  • spec:consumers.agent-surface.answer-shapes dependsOn spec:consumers.agent-surface.design-recipes · declared
  • spec:consumers.agent-surface.answer-shapes dependsOn spec:consumers.agent-surface.evaluation-sink · declared — a caller runs a shipped body, and wraps it in its own body, through the evaluation sink
  • spec:consumers.agent-surface.answer-shapes refines spec:consumers.agent-surface · declared
Mermaid source

Copyable source; the Studio draws static SVG.

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

Rests on

  • refines · spec:consumers.agent-surface · stated ready, floor ready
  • dependsOn · spec:consumers.agent-surface.design-recipes · stated ready, floor ready
  • dependsOn · spec:consumers.agent-surface.evaluation-sink · stated ready, floor ready

Rested on by

No Spec rests on this Spec.

Relations

Relation and directionOther endClaimReasonExercised keys
dependsOn · outgoingspec:consumers.agent-surface.design-recipes
spec:consumers.agent-surface.design-recipes · resolves
declaredNoneNone
dependsOn · outgoingspec:consumers.agent-surface.evaluation-sink
spec:consumers.agent-surface.evaluation-sink · resolves
declareda caller runs a shipped body, and wraps it in its own body, through the evaluation sinkNone
refines · outgoingspec:consumers.agent-surface
spec:consumers.agent-surface · resolves
declaredNoneNone

Bindings

Implementation binding: present

  • impl:protocol.answer-shape-recipes · asserts realization of the catalog's compact and detailed answers · test/recipes.test.ts:6214

Design reference: present

  • impl:protocol.authoring-grammar-recipes · asserts the authoring grammar's realization in docs/agent-surface/recipes.md · test/recipes.test.ts:6597
  • impl:protocol.reader · typed graph queries, entry adapters and context joins · src/reader/reader.ts:687 · role reader · component component:protocol.reader · layer application · context protocol

Verifier binding: present

  • test:protocol.answer-shape-recipes · anchored · test/recipes.test.ts:6220 · test anchor

Expected-outcome oracle: none

Runtime observation: not tracked.

Run results: not recorded in the graph.

Findings

None.

2. A rule or flow entry may carry a key that addresses it

spec:model.rule-keys

A rule or flow entry may carry a key that addresses it

spec:model.rule-keysBusiness Rule · storyready floor ready

Packs: pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

Design: 10 design entries · 6 pinned declarations · 2 decisions

Findings: no errors, no warnings

specs/model/rule-keys.sdp.md

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

The original design gave a behavior rule an optional id, so the rule could later be promoted to a Spec of its own, and an optional rationale (docs/lineage/v0-design/01-core-primitives.md §2.2). The Protocol kept promotion and dropped the id. An unkeyed rule has no address, so a review finding, a register row or an example cannot name it; a key gives it an address. Open questions carry optional keys on the entry-address key grammar; this Spec follows that pattern for rules.

Intent
problem
An inline rule has no identity but its position and its text, so anything outside the Spec that cites one rule breaks silently when the rules above it move or the rule is reworded.
outcome
Let an author key a rule or flow entry, so a review, a register row or an example can name the entry it is about.
Rule
rule line 27 · specs/model/rule-keys.sdp.md:27
Every entry of a Spec's primary behavior owner may carry an optional key on the open-question key grammar: the rule: and flow: entries of Behavior, the entries of Rule and Contract, and the entries and rule: entries of Workflow. One Spec keeps one key namespace across them, unique among its keyed entries, and an unkeyed entry stays lawful and has no address.
rule line 28 · specs/model/rule-keys.sdp.md:28
A key sits in a marker at the start of the entry's text, after the rule: or flow: label where the entry has one, as in - rule: [#graphOnly] The Studio is a projection. and - [#oneFamily] Every validator belongs to one family., the shape an open question's marker uses, so one form serves labelled and plain entries.
rule line 29 · specs/model/rule-keys.sdp.md:29
Every keyed entry is addressed as spec:<id>#rule.<key> whatever its section, because a Spec uses one primary behavior owner. The address resolves while the Spec carries an entry with that key and fails validation in every Spec that names it once the key is renamed or removed.
rule line 30 · specs/model/rule-keys.sdp.md:30
A rule address is refused in every id slot, as every entry address is, so no anchor targets a rule and no delivery fact attaches to one.
rule line 31 · specs/model/rule-keys.sdp.md:31
An example names the keyed rules it exercises on its verifies relation: the target is an object with target and exercises, a list of the verified Spec's rule keys, beside an optional reason. A key the verified Spec does not carry is a conformance error at the relation, as a missing entry address is. The list mints no edge and confers no delivery fact, so verifies stays whole-Spec, and a rule-coverage recipe reads it to report which keyed rules a bound example exercises and which none does.
rule line 32 · specs/model/rule-keys.sdp.md:32
A keyed entry carries its key and its text and nothing else; why a rule holds is the Spec's narrative, or a decision Spec named through decidedBy when the why passes the ADR three-part test.
rule line 33 · specs/model/rule-keys.sdp.md:33
A keyed rule promoted to a Spec of its own leaves its address behind, because promotion moves the content out, and every mention of that address fails until it names the new Spec.

7 unkeyed rules.

Design
keyMarker line 37 · specs/model/rule-keys.sdp.md:37
[#<key>] and one space open the entry's text, after rule: or flow: where the entry has a label, with the key on the open-question key grammar, ^[a-z][A-Za-z0-9]*$; text that opens with [# and does not match is refused at its line, and a marker later in the text is plain text.

no citation recorded

ruleKeysField line 38 · specs/model/rule-keys.sdp.md:38
behavior.rules and behavior.flows are lists of strings with the marker removed, and behavior.ruleKeys maps each key to the entry it names, rules[<i>] or flows[<i>], in authored order; a Spec with no keyed entry carries no ruleKeys, and the frozen projections read the rule text unchanged.

no citation recorded

carrierSpelling line 39 · specs/model/rule-keys.sdp.md:39
the TypeScript carrier writes the same marker at the start of a rule or flow string, and the Gherkin carrier at the start of a Rule: line's text, so one normalization after reification reads all three carriers.
duplicateKey line 40 · specs/model/rule-keys.sdp.md:40
a key repeated across one Spec's rules and flows is a conformance error at each site, as a repeated question key is; rule keys and question keys address different sections, so the two namespaces stay apart.
ruleLocations line 41 · specs/model/rule-keys.sdp.md:41
the location table records every rule and flow entry, keyed or not, as rule[<i>] or flow[<i>] with key beside a keyed entry, from each carrier that records its line.
exercisesValidator line 42 · specs/model/rule-keys.sdp.md:42
conformance/rule-exercises, a conformance error for an off-contract exercises list or a rule key absent from the verified Spec.

no citation recorded

exercisesAttribute line 43 · specs/model/rule-keys.sdp.md:43
verifies: { target: <spec id>, exercises: [<key>] }, with an optional reason, is lawful on a declared verifies only; the graph's declared verifies edge carries exercises in authored order, an anchored verifies from a test anchor carries none, and exercises on any other relation type is refused.

no citation recorded

gherkinExercises line 44 · specs/model/rule-keys.sdp.md:44
@exercises.<key> on an ordinary Scenario names a rule of the Spec the Scenario verifies, by default its Feature, once per key; a Scenario that verifies more than one Spec and exercises a rule is authored in Markdown.

no citation recorded

ruleCoverage line 45 · specs/model/rule-keys.sdp.md:45
recipe 34, rule coverage, takes params.spec or params.pack and returns { totals: { keyedRules, exercised, unexercised, unkeyedRules }, rows }, one row per keyed rule { address, line, exercisedBy: [{ example, enabled }] }, with an empty exercisedBy for a rule no example exercises.
ruleAddress line 46 · specs/model/rule-keys.sdp.md:46
spec:<id>#rule.<key> resolves through ruleKeys; address resolution (recipe 25) reads rule as a fourth section and returns the entry's text, file and line, and entry search (recipe 23) matches rule keys as it matches Design keys.

no citation recorded

Verification

Verifier bindings

  • test:protocol.authoring-grammar · checks rule keys, question fields and relation reasons across the carriers · anchored · test anchor binding present · test/authoring-grammar.test.ts:24
  • test:protocol.authoring-grammar-recipes · executes the shipped question, mention, entry, address and rule coverage recipes · anchored · test anchor binding present · test/recipes.test.ts:6587
Design view

Requirement drawing

  • Declared verifying examples: no declared verifying example.
Requirement drawing for spec:model.rule-keys
The diagram as text
  • spec:model.rule-keys: A rule or flow entry may carry a key that addresses it · declared Spec
  • spec:model.spec-sections: Spec sections carry typed detail and direct verifier semantics · declared Spec
  • impl:protocol.authoring-grammar-recipes: asserts the authoring grammar's realization in docs/agent-surface/recipes.md · anchored code · test/recipes.test.ts:6597
  • impl:protocol.authoring-normalization: normalizes rule markers and question fields after carrier reification · anchored code · src/extract/authoring-normalization.ts:8
  • impl:protocol.rule-exercises: checks the keys named by declared verifies relations · anchored code · src/validate/validators.ts:1479
  • test:protocol.authoring-grammar: checks rule keys, question fields and relation reasons across the carriers · anchored test binding · binding present · test/authoring-grammar.test.ts:24
  • test:protocol.authoring-grammar-recipes: executes the shipped question, mention, entry, address and rule coverage recipes · anchored test binding · binding present · test/recipes.test.ts:6587
  • spec:model.rule-keys refines spec:model.spec-sections · declared
  • impl:protocol.authoring-grammar-recipes satisfies spec:model.rule-keys · anchored
  • impl:protocol.authoring-normalization satisfies spec:model.rule-keys · anchored
  • impl:protocol.rule-exercises satisfies spec:model.rule-keys · anchored
  • test:protocol.authoring-grammar verifies spec:model.rule-keys · anchored
  • test:protocol.authoring-grammar-recipes verifies spec:model.rule-keys · anchored
Mermaid source

Copyable source; the Studio draws static SVG.

Preferred and chosen syntax: requirementDiagram; exact refines, satisfies and verifies, with claim words in nodes and per-edge comments.

Decisions

  • spec:decisions.checked-mentions

    A Spec id in narrative or section text, outside gwt and gwt-vocabulary fences, is a mention. A mention that does not resolve is a conformance error. A mention of another Spec that shares no declared relation with the mentioning Spec, in either direction, is one warning per mentioning Spec and target Spec pair, whatever the number of locations; an address on the mentioning Spec's own id is checked for its entry and never warned. An entry address is a Spec id followed by #, the section name design, ui, question, rule, or term, a dot, and the entry's lower-camel ASCII key, as in spec:<id>#design.<key> or spec:<id>#question.<key>. A design or ui address resolves when the Spec exists and that section holds the key as its own key, other than description; a question address resolves when the Spec exists and one of its open questions carries that key; a term address resolves when the Spec exists and one of its Model terms carries that key. The # sub-part is reserved for the entry address in every namespace: a Spec's own id, a relation target, a Pack member or model reference, an anchor id or target, and the specId and ref builders all refuse it. A mention mints no edge, and the reader gains no join.

  • spec:decisions.shipped-projections-frozen

    Re-specifying the shipped Design Review, census, Mermaid, or Gherkin projection is refused. These four projections are the ruled read surfaces over the one graph. A later decision Spec that supersedes this one replaces the ruling whole; a decision Spec that refines this one narrows it for one projection or one rendering and leaves the rest frozen. Either passes the ADR three-part test.

Runtime
  • component:protocol.extract · the carrier and source pipeline · src/extract/index.ts:192 · layer application · context protocol

    Uses

    • component:protocol.graph · the one graph and its semantic decisions · src/graph/schema.ts:34 · layer domain · context protocol
    • component:protocol.model · the authored contracts and stable ids · src/model/anchors.ts:100 · layer domain · context protocol
    • component:protocol.notation · the leaf step codec · src/notation/slots.ts:261 · layer domain · context protocol
    • component:protocol.validate · one finding currency and ordered checks · src/validate/validators.ts:72 · layer domain · context protocol
  • component:protocol.validate · one finding currency and ordered checks · src/validate/validators.ts:72 · layer domain · context protocol

    Uses

    • component:protocol.graph · the one graph and its semantic decisions · src/graph/schema.ts:34 · layer domain · context protocol
    • component:protocol.model · the authored contracts and stable ids · src/model/anchors.ts:100 · layer domain · context protocol
    • component:protocol.notation · the leaf step codec · src/notation/slots.ts:261 · layer domain · context protocol
  • impl:protocol.authoring-grammar-recipes · asserts the authoring grammar's realization in docs/agent-surface/recipes.md · test/recipes.test.ts:6597

    Uses

    None.

  • impl:protocol.authoring-normalization · normalizes rule markers and question fields after carrier reification · src/extract/authoring-normalization.ts:8

    Component: component:protocol.extract · the carrier and source pipeline · src/extract/index.ts:192 · layer application · context protocol

    Uses

    None.

  • impl:protocol.rule-exercises · checks the keys named by declared verifies relations · src/validate/validators.ts:1479

    Component: component:protocol.validate · one finding currency and ordered checks · src/validate/validators.ts:72 · layer domain · context protocol

    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:model.rule-keys
Relations of spec:model.rule-keysdecidedBy · declareddecidedBy · declareddependsOn · declareddependsOn · declaredrefines · declareddependsOn · declaredOutgoing refinesspec:model.spec-sectionsSpec sections carry typeddetail and direct verifiersemantics…model.spec-sectionsOutgoing dependsOnspec:extraction.entry-locationsThe graph records whereeach addressable entry iswritten…extraction.entry-locationsspec:model.open-question-keysAn open question may carrya key that addresses it…model.open-question-keysOutgoing decidedByspec:decisions.checked-mentionsA Spec id written in proseis a checked mention…decisions.checked-mentionsspec:decisions.shipped-projections-frozenThe shipped projectionsstay frozen…decisions.shipped-projections-frozenSubjectspec:model.rule-keysA rule or flow entry maycarry a key that addressesit…model.rule-keysIncoming dependsOnspec:model.rule-keys.fold.Incoming.dependsOn14 Incoming dependsOn,folded…model.rule-keys.fold.Incoming.dependsOn
The diagram as text
  • spec:carrier.envelope-contract: The Markdown envelope is explicit and bounded
  • spec:carrier.gherkin-authoring: Gherkin authoring enters the one graph
  • spec:carrier.markdown-body-grammar: The Markdown body accepts one closed form per section
  • spec:consumers.agent-surface.address-and-cycle-recipes: Address resolution and dependency cycles stay executable graph recipes
  • spec:consumers.agent-surface.register-recipes: Register questions stay executable graph recipes
  • spec:consumers.authoring-on-ramp: Authors move one Spec from intent to reviewed evidence
  • spec:consumers.design-slice: A slice reads a Pack as one design, with the architecture it touches and what each member needs next
  • spec:consumers.spec-studio.lenses.tests: The tests lens shows how far each Spec's verification reaches
  • spec:consumers.spec-studio.spec-page: A Spec page shows one Spec in collapsible panels, in a fixed order
  • spec:consumers.spec-studio.spec-page.core: A Spec page's core shows the whole Spec, with an anchor for every entry
  • spec:consumers.spec-studio.verification-panels: The panels for examples, targets, verifiers and evidence
  • spec:consumers.upgrade-kit.capability-adoption: Capability adoption counts where each capability is used and where it could apply
  • spec:consumers.upgrade-kit.rule-key-proposal: The rule-key proposal keys every unkeyed rule as a change proposal
  • spec:decisions.checked-mentions: A Spec id written in prose is a checked mention
  • spec:decisions.shipped-projections-frozen: The shipped projections stay frozen
  • spec:extraction.entry-locations: The graph records where each addressable entry is written
  • spec:model.open-question-keys: An open question may carry a key that addresses it
  • spec:model.rule-keys: A rule or flow entry may carry a key that addresses it
  • spec:model.spec-sections: Spec sections carry typed detail and direct verifier semantics
  • spec:model.term-addresses: A Model term may carry a key that addresses it
  • spec:model.rule-keys decidedBy spec:decisions.checked-mentions · declared — rule addresses join the address law it rules
  • spec:model.rule-keys decidedBy spec:decisions.shipped-projections-frozen · declared — keys stay off the frozen projections, which read the rule text unchanged
  • spec:model.rule-keys dependsOn spec:extraction.entry-locations · declared — adds rows to the location table
  • spec:model.rule-keys dependsOn spec:model.open-question-keys · declared
  • spec:model.rule-keys refines spec:model.spec-sections · declared
  • spec:carrier.envelope-contract dependsOn spec:model.rule-keys · declared
  • spec:carrier.gherkin-authoring dependsOn spec:model.rule-keys · declared
  • spec:carrier.markdown-body-grammar dependsOn spec:model.rule-keys · declared
  • spec:consumers.agent-surface.address-and-cycle-recipes dependsOn spec:model.rule-keys · declared — a rule address resolves through the Spec's rule keys
  • spec:consumers.agent-surface.register-recipes dependsOn spec:model.rule-keys · declared — entry search and the mention audit read rule addresses
  • spec:consumers.authoring-on-ramp dependsOn spec:model.rule-keys · declared
  • spec:consumers.design-slice dependsOn spec:model.rule-keys · declared — each member's rule count is the count rule coverage reports
  • spec:consumers.spec-studio.lenses.tests dependsOn spec:model.rule-keys · declared — rule coverage counts the keyed rules examples exercise
  • spec:consumers.spec-studio.spec-page dependsOn spec:model.rule-keys · declared
  • spec:consumers.spec-studio.spec-page.core dependsOn spec:model.rule-keys · declared
  • spec:consumers.spec-studio.verification-panels dependsOn spec:model.rule-keys · declared
  • spec:consumers.upgrade-kit.capability-adoption dependsOn spec:model.rule-keys · declared — rule keys and `exercises` are two of the capabilities it counts
  • spec:consumers.upgrade-kit.rule-key-proposal dependsOn spec:model.rule-keys · declared — a coined key follows the rule-key grammar and marker
  • spec:model.term-addresses dependsOn spec:model.rule-keys · declared — the term-key design follows the rule-entry address pattern
Mermaid source

Copyable source; the Studio draws static SVG.

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

Rests on

  • refines · spec:model.spec-sections · stated ready, floor ready
  • dependsOn · spec:extraction.entry-locations · stated ready, floor ready
  • dependsOn · spec:model.open-question-keys · stated ready, floor ready
  • decidedBy · spec:decisions.checked-mentions · stated ready, floor ready
  • decidedBy · spec:decisions.shipped-projections-frozen · stated ready, floor ready

Rested on by

Distance 1

  • spec:carrier.envelope-contract

    Implementing units

    • impl:protocol.envelope-contract · src/extract/markdown-frontmatter.ts:33
    • impl:protocol.markdown-yaml-policy · src/extract/markdown-yaml-policy.ts:33

    Referencing units

    None.

    Enabled verifiers: test:protocol.envelope-contract

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring

    Implementing units

    • impl:protocol.gherkin-authoring · src/extract/gherkin.ts:1323
    • impl:protocol.gherkin-kind-policy · src/extract/gherkin-kind-honesty.ts:6

    Referencing units

    None.

    Enabled verifiers: spec:carrier.gherkin-authoring.authored-fact-refused, spec:carrier.gherkin-authoring.contract-parity, spec:carrier.gherkin-authoring.description-location-refused, spec:carrier.gherkin-authoring.duplicate-surface-refused, spec:carrier.gherkin-authoring.example-space-extraction, spec:carrier.gherkin-authoring.malformed-relation-refused, spec:carrier.gherkin-authoring.missing-id-refused, spec:carrier.gherkin-authoring.multi-finding-bounded, spec:carrier.gherkin-authoring.parent-child-extraction, spec:carrier.gherkin-authoring.step-less-scenario-refused, spec:carrier.gherkin-authoring.unbound-ready-refused, spec:carrier.gherkin-authoring.unknown-tag-refused, spec:carrier.gherkin-authoring.unsupported-construct-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar

    Implementing units

    • impl:protocol.markdown-body-grammar · src/extract/markdown-body.ts:120
    • impl:protocol.markdown-content · src/extract/markdown-body-content.ts:7

    Referencing units

    None.

    Enabled verifiers: spec:carrier.markdown-body-grammar.continuation-line-refused, spec:carrier.markdown-body-grammar.foreign-fence-refused, spec:carrier.markdown-body-grammar.h3-refused, spec:carrier.markdown-body-grammar.integer-term-refused, spec:carrier.markdown-body-grammar.keyed-bullet-refused, spec:carrier.markdown-body-grammar.ordered-list-refused, spec:carrier.markdown-body-grammar.plain-bullet-refused, spec:carrier.markdown-body-grammar.raw-html-refused, spec:carrier.markdown-body-grammar.repeated-field-refused, spec:carrier.markdown-body-grammar.second-primary-owner-refused, spec:carrier.markdown-body-grammar.shared-description-refused, spec:carrier.markdown-body-grammar.table-refused, spec:carrier.markdown-body-grammar.trailing-prose-refused, spec:carrier.markdown-body-grammar.unrecognized-heading-refused, spec:validation.kind-evidence.second-entry-untargeted

    Packs: pack:self-hosting-v1

  • spec:consumers.agent-surface.address-and-cycle-recipes

    Implementing units

    • impl:protocol.address-and-cycle-recipes · test/recipes.test.ts:3568

    Referencing units

    None.

    Enabled verifiers: spec:consumers.agent-surface.address-and-cycle-recipes.chain-reports-nothing, spec:consumers.agent-surface.address-and-cycle-recipes.cycle-fails-a-rules-run, spec:consumers.agent-surface.address-and-cycle-recipes.unresolved-address-fails-a-rules-run, test:protocol.address-and-cycle-recipes

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.agent-surface.register-recipes

    Implementing units

    • impl:protocol.register-recipes · test/recipes.test.ts:2057

    Referencing units

    None.

    Enabled verifiers: test:protocol.register-recipes

    Packs: pack:self-hosting-v1

  • spec:consumers.authoring-on-ramp

    Implementing units

    • impl:protocol.authoring-on-ramp · test/skills.test.ts:76
    • impl:protocol.spec-scaffolder · src/cli/new-spec-command.ts:348

    Referencing units

    None.

    Enabled verifiers: test:protocol.authoring-on-ramp

    Packs: pack:self-hosting-v1

  • spec:consumers.design-slice

    Implementing units

    • impl:protocol.design-slice-recipe · test/self-hosting-design-slice.test.ts:148

    Referencing units

    • impl:protocol.studio-slice-answer · src/projections/studio/slice-answer.ts:1

    Enabled verifiers: spec:consumers.design-slice.chain, spec:consumers.design-slice.component-absent, spec:consumers.design-slice.component-differing, spec:consumers.design-slice.component-matching, spec:consumers.design-slice.component-unreadable, spec:consumers.design-slice.component-unrelated, spec:consumers.design-slice.decision-backlink, spec:consumers.design-slice.dependency-cycle, spec:consumers.design-slice.folded-example, spec:consumers.design-slice.independent-example, spec:consumers.design-slice.outside-components, spec:consumers.design-slice.outside-holding, spec:consumers.design-slice.outside-satisfied, spec:consumers.design-slice.outside-unbound, test:protocol.design-slice

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.lenses.tests

    Implementing units

    • impl:protocol.studio-tests-lens · src/projections/studio/pages/tests-page.ts:34

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.lenses.tests.coverage-row

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.spec-page

    Implementing units

    • impl:protocol.studio-requirement-view · src/projections/studio/pages/requirement-view.ts:8
    • impl:protocol.studio-spec-page · src/projections/studio/pages/spec-page.ts:201
    • impl:protocol.studio-spec-structure · src/projections/studio/pages/spec-structure.ts:44

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.spec-page.cited-declaration, test:protocol.studio-architecture-maturity-requirement, test:protocol.studio-panels

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.spec-page.core

    Implementing units

    • impl:protocol.studio-spec-page · src/projections/studio/pages/spec-page.ts:201

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-pages

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.verification-panels

    Implementing units

    • impl:protocol.studio-run-rows · src/projections/studio/pages/run-rows.ts:69
    • impl:protocol.studio-verification-panels · src/projections/studio/pages/spec-verification.ts:74

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.verification-panels.rule-coverage, test:protocol.studio-panels

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.upgrade-kit.capability-adoption

    Implementing units

    • impl:protocol.capability-adoption-recipe · test/upgrade-kit.test.ts:514

    Referencing units

    None.

    Enabled verifiers: spec:consumers.upgrade-kit.capability-adoption.counts-a-corpus

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.rule-key-proposal

    Implementing units

    • impl:protocol.rule-key-proposal-recipe · test/upgrade-kit.test.ts:742

    Referencing units

    None.

    Enabled verifiers: spec:consumers.upgrade-kit.rule-key-proposal.collision-and-unkeyable, spec:consumers.upgrade-kit.rule-key-proposal.proposal-applies-clean

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:model.term-addresses

    Implementing units

    • impl:protocol.address-and-cycle-recipes · test/recipes.test.ts:3568
    • impl:protocol.entry-locations · src/extract/derive.ts:78
    • impl:protocol.key-markers · src/extract/key-markers.ts:136
    • impl:protocol.open-section-order · src/extract/serialize.ts:105
    • impl:protocol.prose-mentions · src/validate/validators.ts:1370
    • impl:protocol.register-recipes · test/recipes.test.ts:2057
    • impl:protocol.sdp-import-markdown-emit · src/import/emit-markdown.ts:253
    • impl:protocol.spec-sections · src/model/sections.ts:138
    • impl:protocol.stable-ids · src/ids.ts:173

    Referencing units

    None.

    Enabled verifiers: spec:model.term-addresses.keyed-term-resolves, spec:model.term-addresses.malformed-term-marker-refused, spec:model.term-addresses.repeated-term-key-refused, spec:model.term-addresses.typescript-term-imports-keyed, spec:model.term-addresses.unknown-term-key-refused, test:protocol.keyed-content

    Packs: pack:adopter-speed-v1, pack:obsidian-vault-v1, pack:self-hosting-v1

Distance 2

  • spec:carrier.gherkin-authoring.authored-fact-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.authored-fact-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.contract-parity

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.contract-parity

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.description-location-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.description-location-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.duplicate-surface-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.duplicate-surface-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.example-space-extraction

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.example-space-extraction

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.malformed-relation-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.malformed-relation-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.missing-id-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.missing-id-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.multi-finding-bounded

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.multi-finding-bounded

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.parent-child-extraction

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.parent-child-extraction

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.step-less-scenario-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.step-less-scenario-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.unbound-ready-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.unbound-ready-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.unknown-tag-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.unknown-tag-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.unsupported-construct-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.unsupported-construct-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.inline-code-spans

    Implementing units

    • impl:protocol.inline-code-spans · src/extract/markdown-inline-code.ts:4

    Referencing units

    None.

    Enabled verifiers: spec:carrier.inline-code-spans.description, spec:carrier.inline-code-spans.list, spec:carrier.inline-code-spans.narrative, spec:carrier.inline-code-spans.pack

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.continuation-line-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.continuation-line-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.foreign-fence-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.foreign-fence-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.h3-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.h3-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.integer-term-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.integer-term-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.keyed-bullet-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.keyed-bullet-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.ordered-list-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.ordered-list-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.plain-bullet-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.plain-bullet-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.raw-html-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.raw-html-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.repeated-field-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.repeated-field-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.second-primary-owner-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.second-primary-owner-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.shared-description-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.shared-description-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.table-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.table-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.trailing-prose-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.trailing-prose-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.unrecognized-heading-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.unrecognized-heading-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-parser

    Implementing units

    • impl:protocol.markdown-parser · src/extract/markdown.ts:37
    • impl:protocol.static-reification · src/extract/reify.ts:2139

    Referencing units

    None.

    Enabled verifiers: spec:carrier.markdown-parser.bounded-parity, test:protocol.markdown-parser

    Packs: pack:self-hosting-v1

  • spec:carrier.prose-ownership-rule

    Implementing units

    • impl:protocol.markdown-body-grammar · src/extract/markdown-body.ts:120

    Referencing units

    None.

    Enabled verifiers: test:protocol.prose-ownership

    Packs: pack:self-hosting-v1

  • spec:consumers.adopter-on-ramp

    Implementing units

    • impl:protocol.adopter-help · src/cli/help.ts:167
    • impl:protocol.adopter-on-ramp · test/skills.test.ts:712

    Referencing units

    None.

    Enabled verifiers: test:protocol.adopter-on-ramp, test:protocol.shipped-protocol-corpus

    Packs: pack:self-hosting-v1

  • spec:consumers.agent-surface.address-and-cycle-recipes.chain-reports-nothing

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.agent-surface.address-and-cycle-recipes.chain-reports-nothing

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.agent-surface.address-and-cycle-recipes.cycle-fails-a-rules-run

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.agent-surface.address-and-cycle-recipes.cycle-fails-a-rules-run

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.agent-surface.address-and-cycle-recipes.unresolved-address-fails-a-rules-run

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.agent-surface.address-and-cycle-recipes.unresolved-address-fails-a-rules-run

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.agent-surface.design-recipes

    Implementing units

    • impl:protocol.design-recipes · test/recipes.test.ts:4769

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-recipes

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.delivery-session-on-ramp

    Implementing units

    • impl:protocol.delivery-session-on-ramp · test/skills.test.ts:83

    Referencing units

    None.

    Enabled verifiers: test:protocol.delivery-session-on-ramp

    Packs: pack:self-hosting-v1

  • spec:consumers.design-slice.chain

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.chain

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-absent

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-absent

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-differing

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-differing

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-matching

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-matching

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-unreadable

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-unreadable

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-unrelated

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-unrelated

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.decision-backlink

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.decision-backlink

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.dependency-cycle

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.dependency-cycle

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.folded-example

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.folded-example

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.independent-example

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.independent-example

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-components

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-components

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-holding

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-holding

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-satisfied

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-satisfied

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-unbound

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-unbound

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.graph-first-planning

    Implementing units

    • impl:protocol.graph-first-planning · test/skills.test.ts:290

    Referencing units

    None.

    Enabled verifiers: test:protocol.graph-first-planning

    Packs: pack:self-hosting-v1

  • spec:consumers.intent-composition.proposal

    Implementing units

    • impl:protocol.proposal-schema-and-recipe · test/iteration-recipes.test.ts:1510
    • impl:protocol.studio-proposal-contract · src/studio-elements/proposal.ts:1

    Referencing units

    None.

    Enabled verifiers: test:protocol.proposal-schema-and-recipe

    Packs: pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.notes

    Implementing units

    • impl:protocol.vault-notes · src/projections/vault/notes.ts:45
    • impl:protocol.vault-sections · src/projections/vault/sections.ts:10
    • impl:protocol.vault-text · src/projections/vault/text.ts:30

    Referencing units

    None.

    Enabled verifiers: spec:consumers.obsidian-vault.notes.case-collision-refused, spec:consumers.obsidian-vault.notes.entry-address-link, spec:consumers.obsidian-vault.notes.term-address-link, spec:consumers.obsidian-vault.notes.unresolved-mention-stays, test:protocol.vault-priority

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner

    Implementing units

    • impl:protocol.statement-queue-recipe · test/self-hosting-readiness-planner.test.ts:74

    Referencing units

    None.

    Enabled verifiers: spec:consumers.readiness-planner.cycle-shares-a-round, spec:consumers.readiness-planner.decision-first, spec:consumers.readiness-planner.dependency-order, spec:consumers.readiness-planner.owner-question-holds

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.memo

    Implementing units

    • impl:protocol.roadmap-memo-recipe · test/roadmap.test.ts:27
    • impl:protocol.studio-roadmap-page · src/projections/studio/pages/roadmap-page.ts:168

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap-memo-recipe, test:protocol.studio-roadmap-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.shipped-protocol-corpus

    Implementing units

    • impl:protocol.shipped-protocol-corpus · test/package-smoke.test.ts:252

    Referencing units

    None.

    Enabled verifiers: test:protocol.shipped-protocol-corpus

    Packs: pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.dependency

    Implementing units

    • impl:protocol.studio-slice-dependencies · src/projections/studio/diagrams/slice.ts:10

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-dependency

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.scoped-architecture

    Implementing units

    • impl:protocol.studio-slice-architecture · src/projections/studio/diagrams/slice.ts:219

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-architecture

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.export

    Implementing units

    • impl:protocol.studio-diagram-element · src/studio-elements/diagram.ts:23
    • impl:protocol.studio-expander · src/studio-elements/expander.ts:16
    • impl:protocol.studio-pack-export · src/projections/studio/pages/export-page.ts:35
    • impl:protocol.studio-pack-page · src/projections/studio/pages/pack-page.ts:68

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.export.self-contained, test:protocol.studio-intent-handoff

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.glossary-page

    Implementing units

    • impl:protocol.studio-glossary · src/projections/studio/pages/glossary-page.ts:7

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.glossary-page.same-word-twice

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.tests.coverage-row

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-tests-coverage-row

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.registers

    Implementing units

    • impl:protocol.studio-registers · src/projections/studio/pages/registers-page.ts:47

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.registers.blocking-first

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.slice-page

    Implementing units

    • impl:protocol.studio-slice-page · src/projections/studio/pages/slice-page.ts:25

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.spec-page.cited-declaration

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-cited-declaration

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.verification-panels.rule-coverage

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-rule-coverage

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.upgrade-kit

    Implementing units

    • impl:protocol.upgrade-guide · test/upgrade-kit.test.ts:87

    Referencing units

    None.

    Enabled verifiers: test:protocol.upgrade-guide

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.capability-adoption.counts-a-corpus

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.capability-adoption.counts-a-corpus

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.rule-key-proposal.collision-and-unkeyable

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.rule-key-proposal.collision-and-unkeyable

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.rule-key-proposal.proposal-applies-clean

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.rule-key-proposal.proposal-applies-clean

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.validate-watch

    Implementing units

    • impl:protocol.validate-watch · src/cli/validate-watch.ts:591

    Referencing units

    None.

    Enabled verifiers: test:protocol.validate-watch, test:protocol.validate-watch-rules

    Packs: pack:adopter-speed-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:decisions.envelope-grammar-posture

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:model.open-question-keys

    Implementing units

    • impl:protocol.open-question-keys · src/extract/markdown-body-owner-behavior.ts:38
    • impl:protocol.open-section-order · src/extract/serialize.ts:105
    • impl:protocol.prose-mentions · src/validate/validators.ts:1370
    • impl:protocol.register-recipes · test/recipes.test.ts:2057
    • impl:protocol.sdp-import-markdown-emit · src/import/emit-markdown.ts:253
    • impl:protocol.stable-ids · src/ids.ts:173
    • impl:protocol.static-reification · src/extract/reify.ts:2139

    Referencing units

    None.

    Enabled verifiers: spec:model.open-question-keys.keyed-question-resolves, spec:model.open-question-keys.renamed-key-breaks, spec:model.open-question-keys.repeated-key-refused

    Packs: pack:self-hosting-v1

  • spec:model.term-addresses.keyed-term-resolves

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.term-addresses.keyed-term-resolves

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:model.term-addresses.malformed-term-marker-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.term-addresses.malformed-term-marker-refused

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:model.term-addresses.repeated-term-key-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.term-addresses.repeated-term-key-refused

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:model.term-addresses.typescript-term-imports-keyed

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.term-addresses.typescript-term-imports-keyed

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:model.term-addresses.unknown-term-key-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.term-addresses.unknown-term-key-refused

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:validation.external-registers

    Implementing units

    • impl:protocol.external-registers-recipe · test/external-registers.test.ts:9

    Referencing units

    None.

    Enabled verifiers: spec:validation.external-registers.uncited-on-request, spec:validation.external-registers.unknown-and-retired

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:validation.prose-mentions

    Implementing units

    • impl:protocol.entry-address-resolution · src/graph/entry-address.ts:6
    • impl:protocol.prose-mentions · src/validate/validators.ts:1370

    Referencing units

    None.

    Enabled verifiers: test:protocol.entry-locations, test:protocol.prose-mentions

    Packs: pack:self-hosting-v1

Distance 3

  • spec:carrier.inline-code-spans.description

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.inline-code-spans.description

    Packs: pack:self-hosting-v1

  • spec:carrier.inline-code-spans.list

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.inline-code-spans.list

    Packs: pack:self-hosting-v1

  • spec:carrier.inline-code-spans.narrative

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.inline-code-spans.narrative

    Packs: pack:self-hosting-v1

  • spec:carrier.inline-code-spans.pack

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.inline-code-spans.pack

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-authoring

    Implementing units

    • impl:protocol.markdown-parser · src/extract/markdown.ts:37

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-authoring

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-pack-authoring

    Implementing units

    • impl:protocol.markdown-pack-authoring · src/extract/markdown-pack.ts:117
    • impl:protocol.markdown-yaml-policy · src/extract/markdown-yaml-policy.ts:33
    • impl:protocol.static-reification · src/extract/reify.ts:2139

    Referencing units

    None.

    Enabled verifiers: spec:carrier.markdown-pack-authoring.markdown-ts-parity, spec:carrier.markdown-pack-authoring.spec-envelope-refused, test:protocol.roadmap-priority

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-parser.bounded-parity

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-parser.bounded-parity

    Packs: pack:self-hosting-v1

  • spec:consumers.agent-surface.answer-shapes

    Implementing units

    • impl:protocol.answer-shape-recipes · test/recipes.test.ts:6214

    Referencing units

    • impl:protocol.authoring-grammar-recipes · test/recipes.test.ts:6597
    • impl:protocol.reader · src/reader/reader.ts:687

    Enabled verifiers: test:protocol.answer-shape-recipes

    Packs: pack:design-iteration-v1, pack:self-hosting-v1

  • spec:consumers.agent-surface.example-space-coverage

    Implementing units

    • impl:protocol.example-space-coverage-recipe · test/studio-s1.test.ts:856
    • impl:protocol.example-space-decoding · src/notation/example-space.ts:473

    Referencing units

    None.

    Enabled verifiers: spec:consumers.agent-surface.example-space-coverage.number-not-enumerable, spec:consumers.agent-surface.example-space-coverage.uncovered-literal

    Packs: pack:design-management-v1, pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.command-line

    Implementing units

    • impl:protocol.adopter-help · src/cli/help.ts:167
    • impl:protocol.agent-surface-cli · src/cli/sdp.ts:94
    • impl:protocol.build-args · src/cli/build-args.ts:11
    • impl:protocol.generate-command · src/cli/generate-command.ts:34

    Referencing units

    None.

    Enabled verifiers: spec:consumers.command-line.generate-check-failure, spec:consumers.command-line.generate-writes-every-root, spec:consumers.command-line.verb-help-touches-nothing

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.context-bundle

    Implementing units

    • impl:protocol.context-bundle-recipe · test/iteration-recipes.test.ts:765

    Referencing units

    None.

    Enabled verifiers: spec:consumers.context-bundle.oversized-member-named, spec:consumers.context-bundle.parts-cover-the-pack, test:protocol.context-bundle-recipe

    Packs: pack:adopter-speed-v1, pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.engine-provenance

    Implementing units

    • impl:protocol.build-artifacts · src/cli/build-artifacts.ts:182
    • impl:protocol.engine-provenance-cli · src/cli/sdp.ts:102

    Referencing units

    None.

    Enabled verifiers: test:protocol.engine-provenance

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.intent-composition.proposal.memo

    Implementing units

    • impl:protocol.proposal-memo-recipe · test/recipes.test.ts:7298
    • impl:protocol.studio-proposal-memo · src/studio-elements/memo.ts:13

    Referencing units

    None.

    Enabled verifiers: spec:consumers.intent-composition.proposal.memo.shared

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.obsidian-vault.iteration

    Implementing units

    • impl:protocol.vault-sync · src/projections/vault/sync.ts:98
    • impl:protocol.vault-text · src/projections/vault/text.ts:30
    • impl:protocol.vault-watch · src/cli/vault-command.ts:219

    Referencing units

    None.

    Enabled verifiers: spec:consumers.obsidian-vault.iteration.watch-rewrites-changed-notes, spec:consumers.obsidian-vault.iteration.watch-source-anchor

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.notes.case-collision-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.notes.case-collision-refused

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.notes.entry-address-link

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.notes.entry-address-link

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.notes.term-address-link

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.notes.term-address-link

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.notes.unresolved-mention-stays

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.notes.unresolved-mention-stays

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.cycle-shares-a-round

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.cycle-shares-a-round

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.decision-first

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.decision-first

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.dependency-order

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.dependency-order

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.owner-question-holds

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.owner-question-holds

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.roadmap

    Implementing units

    • impl:protocol.roadmap-recipe · test/roadmap.test.ts:20

    Referencing units

    None.

    Enabled verifiers: spec:consumers.roadmap.blocking-part, spec:consumers.roadmap.buildable-part, spec:consumers.roadmap.built-work, spec:consumers.roadmap.design-part, spec:consumers.roadmap.drifting-part, spec:consumers.roadmap.missing-evidence, spec:consumers.roadmap.outside-parent, spec:consumers.roadmap.statement-order, spec:consumers.roadmap.statement-part, test:protocol.roadmap-recipe

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.cited-line-text

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmap, pack:self-hosting-v1

  • spec:consumers.spec-studio.export.self-contained

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-export-contained

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.glossary-page.same-word-twice

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-glossary-same-word-twice

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.intent-panel

    Implementing units

    • impl:protocol.studio-compose · src/studio-elements/compose.ts:13
    • impl:protocol.studio-frame · src/projections/studio/pages/frame.ts:6
    • impl:protocol.studio-intent-panel · src/studio-elements/intent-panel.ts:51
    • impl:protocol.studio-intent-panel-element · src/studio-elements/intent-panel-element.ts:14
    • impl:protocol.studio-scenario-editor · src/studio-elements/scenario-editor.ts:17

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.intent-panel.refresh-keeps-intents, test:protocol.studio-intent-handoff

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.owner-queue

    Implementing units

    • impl:protocol.studio-owner-queue · src/projections/studio/pages/queue-page.ts:9

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.owner-queue.dependency-first

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.publisher.watch

    Implementing units

    • impl:protocol.studio-watch · src/cli/studio-command.ts:122

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.publisher.watch.matches-plain-run

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.register-input

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmap, pack:self-hosting-v1

  • spec:consumers.spec-studio.registers.blocking-first

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-registers-blocking-first

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.roadmap-page

    Implementing units

    • impl:protocol.studio-roadmap-page · src/projections/studio/pages/roadmap-page.ts:168

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-roadmap-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.shell

    Implementing units

    • impl:protocol.studio-code-spans · src/projections/studio/pages/code-spans.ts:9
    • impl:protocol.studio-frame · src/projections/studio/pages/frame.ts:6
    • impl:protocol.studio-html · src/projections/studio/pages/html.ts:8
    • impl:protocol.studio-text · src/projections/studio/pages/text.ts:7

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-pages

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.studio-on-ramp

    Implementing units

    • impl:protocol.studio-on-ramp · test/skills.test.ts:1693

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-on-ramp

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.vault-on-ramp

    Implementing units

    • impl:protocol.vault-on-ramp · test/skills.test.ts:1995

    Referencing units

    None.

    Enabled verifiers: test:protocol.vault-on-ramp

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:decisions.prose-ownership

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.question-key-rendering

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:extraction.contract-declarations

    Implementing units

    • impl:protocol.pack-design · src/reader/reader.ts:499
    • impl:protocol.register-recipes · test/recipes.test.ts:2057

    Referencing units

    None.

    Enabled verifiers: test:protocol.register-recipes

    Packs: pack:self-hosting-v1

  • spec:extraction.entry-citations

    Implementing units

    • impl:protocol.entry-address-resolution · src/graph/entry-address.ts:6
    • impl:protocol.entry-citation-reader · src/reader/entry-citations.ts:19
    • impl:protocol.entry-citation-recipe · test/recipes.test.ts:7008
    • impl:protocol.entry-citation-scan · src/extract/entry-citations.ts:6

    Referencing units

    None.

    Enabled verifiers: spec:extraction.entry-citations.code-comment-cites-declaration, spec:extraction.entry-citations.test-title-cites-declaration, spec:extraction.entry-citations.unanchored-file-unread, spec:extraction.entry-citations.unresolved-citation

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:extraction.entry-locations

    Implementing units

    • impl:protocol.entry-location-recipes · test/recipes.test.ts:5979
    • impl:protocol.entry-locations · src/extract/derive.ts:78
    • impl:protocol.reader · src/reader/reader.ts:687

    Referencing units

    • impl:protocol.pack-design · src/reader/reader.ts:499

    Enabled verifiers: test:protocol.entry-locations

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:model.open-question-fields

    Implementing units

    • impl:protocol.authoring-grammar-recipes · test/recipes.test.ts:6597
    • impl:protocol.authoring-normalization · src/extract/authoring-normalization.ts:8

    Referencing units

    None.

    Enabled verifiers: spec:model.open-question-fields.dropped-list-warns, test:protocol.authoring-grammar, test:protocol.authoring-grammar-recipes

    Packs: pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:model.open-question-keys.keyed-question-resolves

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.open-question-keys.keyed-question-resolves

    Packs: pack:self-hosting-v1

  • spec:model.open-question-keys.renamed-key-breaks

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.open-question-keys.renamed-key-breaks

    Packs: pack:self-hosting-v1

  • spec:model.open-question-keys.repeated-key-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.open-question-keys.repeated-key-refused

    Packs: pack:self-hosting-v1

  • spec:protocol.roadmap-replaces-plans

    Implementing units

    • impl:protocol.roadmap-practice · test/check-self-hosting-gates.test.ts:52

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap-practice

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:validation.corpus-rules

    Implementing units

    • impl:protocol.corpus-rule-runner · src/cli/corpus-rules.ts:65
    • impl:protocol.corpus-rules · src/cli/validate-view-command.ts:79
    • impl:protocol.validate-watch · src/cli/validate-watch.ts:591

    Referencing units

    None.

    Enabled verifiers: spec:consumers.agent-surface.address-and-cycle-recipes.cycle-fails-a-rules-run, spec:consumers.agent-surface.address-and-cycle-recipes.unresolved-address-fails-a-rules-run, spec:validation.corpus-rules.copies-contain-changes, spec:validation.corpus-rules.error-finding-fails, spec:validation.corpus-rules.malformed-finding-fails, spec:validation.corpus-rules.params-edit-starts-a-cycle, spec:validation.corpus-rules.rules-edit-starts-a-cycle, spec:validation.corpus-rules.unreadable-params-fail-one-file, spec:validation.corpus-rules.warning-finding-informs

    Packs: pack:adopter-speed-v1, pack:corpus-checks-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:validation.duplicate-ids

    Implementing units

    • impl:protocol.duplicate-id-exclusion · src/extract/index.ts:93
    • impl:protocol.duplicate-ids · src/validate/validators.ts:263

    Referencing units

    None.

    Enabled verifiers: spec:validation.duplicate-ids.dual-carrier

    Packs: pack:self-hosting-v1

  • spec:validation.external-registers.uncited-on-request

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.external-registers.uncited-on-request

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:validation.external-registers.unknown-and-retired

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.external-registers.unknown-and-retired

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

Distance 4

  • spec:carrier.markdown-pack-authoring.markdown-ts-parity

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-pack-authoring.markdown-ts-parity

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-pack-authoring.spec-envelope-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-pack-authoring.spec-envelope-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.sdp-import

    Implementing units

    • component:protocol.import · src/import/import.ts:45
    • impl:protocol.import-fidelity · src/import/markdown-fidelity.ts:102
    • impl:protocol.sdp-import · src/cli/import-command.ts:71
    • impl:protocol.sdp-import-core · src/import/import.ts:58
    • impl:protocol.sdp-import-markdown-emit · src/import/emit-markdown.ts:253
    • impl:protocol.sdp-import-publish · src/cli/import-publish.ts:23
    • impl:protocol.sdp-import-scan · src/cli/import-scan.ts:62

    Referencing units

    None.

    Enabled verifiers: spec:carrier.sdp-import.round-trip

    Packs: pack:self-hosting-v1

  • spec:carrier.slot-notation

    Implementing units

    • component:protocol.notation · src/notation/slots.ts:261
    • impl:protocol.slot-notation · src/notation/slots.ts:269

    Referencing units

    None.

    Enabled verifiers: spec:carrier.slot-notation.one-literal-binding, spec:carrier.slot-notation.refused-guess, spec:carrier.slot-notation.typed-declaration

    Packs: pack:self-hosting-v1

  • spec:consumers.agent-surface.example-space-coverage.number-not-enumerable

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-coverage-number

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.agent-surface.example-space-coverage.uncovered-literal

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-coverage-literal

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.command-line.generate-check-failure

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.command-line.generate-check-failure

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.command-line.generate-writes-every-root

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.command-line.generate-writes-every-root

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.command-line.verb-help-touches-nothing

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.command-line.verb-help-touches-nothing

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.context-bundle.oversized-member-named

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.context-bundle.oversized-member-named

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.context-bundle.parts-cover-the-pack

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.context-bundle.parts-cover-the-pack

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.design-review

    Implementing units

    • impl:protocol.design-review · src/projections/design-review.ts:44
    • impl:protocol.design-review-codec · src/projections/design-review-markdown.ts:3

    Referencing units

    None.

    Enabled verifiers: spec:consumers.design-review.pure-projection

    Packs: pack:self-hosting-v1

  • spec:consumers.gherkin-view

    Implementing units

    • impl:protocol.gherkin-kind-policy · src/extract/gherkin-kind-honesty.ts:6
    • impl:protocol.gherkin-view · src/projections/gherkin-view.ts:19
    • impl:protocol.gherkin-view-cli · src/cli/gherkin-command.ts:66

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-view

    Packs: pack:self-hosting-v1

  • spec:consumers.intent-composition.proposal.memo.shared

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-memo-shared

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.obsidian-vault.iteration.watch-rewrites-changed-notes

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.iteration.watch-rewrites-changed-notes

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.iteration.watch-source-anchor

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.iteration.watch-source-anchor

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.pack-design

    Implementing units

    • impl:protocol.pack-design · src/reader/reader.ts:499

    Referencing units

    None.

    Enabled verifiers: test:protocol.pack-design

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.projections-model.roadmap-views

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.blocking-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.blocking-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.buildable-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.buildable-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.built-work

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.built-work

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.design-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.design-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.drifting-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.drifting-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.missing-evidence

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.missing-evidence

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.outside-parent

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.outside-parent

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.statement-order

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.statement-order

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.statement-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.statement-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.components

    Implementing units

    • component:protocol.studio-elements · src/studio-elements/index.ts:13
    • impl:protocol.studio-compose · src/studio-elements/compose.ts:13
    • impl:protocol.studio-diagram-element · src/studio-elements/diagram.ts:23
    • impl:protocol.studio-filter · src/studio-elements/filter.ts:25
    • impl:protocol.studio-intent-panel-element · src/studio-elements/intent-panel-element.ts:14
    • impl:protocol.studio-maturity-map · src/projections/studio/pages/maturity-map.ts:7
    • impl:protocol.studio-pack-page · src/projections/studio/pages/pack-page.ts:68
    • impl:protocol.studio-scenario-editor · src/studio-elements/scenario-editor.ts:17
    • impl:protocol.studio-search-results · src/studio-elements/search-results.ts:95
    • impl:protocol.studio-spec-structure · src/projections/studio/pages/spec-structure.ts:44
    • impl:protocol.studio-verification-panels · src/projections/studio/pages/spec-verification.ts:74

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-intent-handoff

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.data

    Implementing units

    • impl:protocol.studio-data · src/projections/studio/data.ts:279

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-data

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.index-page

    Implementing units

    • impl:protocol.studio-index-page · src/projections/studio/pages/index-page.ts:8

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-pages

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.intent-panel.refresh-keeps-intents

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-intents-refresh

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.navigation

    Implementing units

    • impl:protocol.studio-frame · src/projections/studio/pages/frame.ts:6
    • impl:protocol.studio-index-page · src/projections/studio/pages/index-page.ts:8

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-navigation, test:protocol.studio-roadmap-page

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.owner-queue.dependency-first

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-queue-dependency-first

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.pack-page

    Implementing units

    • impl:protocol.studio-pack-page · src/projections/studio/pages/pack-page.ts:68

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap-priority, test:protocol.studio-pages

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.page-elements

    Implementing units

    • component:protocol.studio-elements · src/studio-elements/index.ts:13
    • impl:protocol.studio-copy · src/studio-elements/copy.ts:22
    • impl:protocol.studio-expander · src/studio-elements/expander.ts:16
    • impl:protocol.studio-filter · src/studio-elements/filter.ts:25
    • impl:protocol.studio-search-form · src/studio-elements/search.ts:18
    • impl:protocol.studio-search-results · src/studio-elements/search-results.ts:95
    • impl:protocol.studio-stamp · src/studio-elements/stamp.ts:30

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-copy-source, test:protocol.studio-page-elements

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.publisher.watch.matches-plain-run

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-watch-plain

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.search

    Implementing units

    • impl:protocol.studio-concept-match · src/reader/concept-match.ts:43
    • impl:protocol.studio-search-page · src/projections/studio/pages/search-page.ts:5
    • impl:protocol.studio-search-results · src/studio-elements/search-results.ts:95

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-concept-match, test:protocol.studio-page-elements, test:protocol.studio-pages

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.sharing

    Implementing units

    • impl:protocol.stamp-command · src/cli/stamp-command.ts:8
    • impl:protocol.studio-preview-workflow · test/studio-s4.test.ts:742
    • impl:protocol.studio-stamp · src/studio-elements/stamp.ts:30

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.sharing.stamp-written-apart

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:decisions.carrier-ruling

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.carrier-universality

    Implementing units

    None.

    Referencing units

    • impl:protocol.gherkin-kind-policy · src/extract/gherkin-kind-honesty.ts:6

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.sdp-ts-extension

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:extraction.entry-citations.code-comment-cites-declaration

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.entry-citations.code-comment-cites-declaration

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:extraction.entry-citations.test-title-cites-declaration

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.entry-citations.test-title-cites-declaration

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:extraction.entry-citations.unanchored-file-unread

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.entry-citations.unanchored-file-unread

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:extraction.entry-citations.unresolved-citation

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.entry-citations.unresolved-citation

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:extraction.pack-member-order

    Implementing units

    • impl:protocol.markdown-yaml-policy · src/extract/markdown-yaml-policy.ts:33
    • impl:protocol.open-section-order · src/extract/serialize.ts:105
    • impl:protocol.pack-coherence · src/validate/validators.ts:1102
    • impl:protocol.pack-design-page · src/projections/design-review-pages.ts:120
    • impl:protocol.pack-member-order · src/extract/derive.ts:153
    • impl:protocol.reader · src/reader/reader.ts:687

    Referencing units

    None.

    Enabled verifiers: spec:extraction.pack-member-order.manifest-order-kept, test:protocol.roadmap-priority

    Packs: pack:self-hosting-v1

  • spec:model.enrichment-lifecycle

    Implementing units

    • impl:protocol.slimming-recipe · test/curation-recipes.test.ts:26

    Referencing units

    None.

    Enabled verifiers: test:protocol.slimming-recipe

    Packs: pack:design-iteration-v1, pack:self-hosting-v1

  • spec:model.open-question-fields.dropped-list-warns

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.open-question-fields.dropped-list-warns

    Packs: pack:self-hosting-v1

  • spec:model.relation-reasons

    Implementing units

    • impl:protocol.authoring-grammar-recipes · test/recipes.test.ts:6597
    • impl:protocol.authoring-normalization · src/extract/authoring-normalization.ts:8

    Referencing units

    None.

    Enabled verifiers: test:protocol.authoring-grammar, test:protocol.authoring-grammar-recipes

    Packs: pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:protocol.delivery-record-cleanup

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmap, pack:self-hosting-v1

  • spec:protocol.self-hosting

    Implementing units

    • impl:protocol.self-hosting · test/self-hosting-graph.test.ts:136

    Referencing units

    None.

    Enabled verifiers: test:protocol.self-hosting

    Packs: pack:self-hosting-v1

  • spec:validation.architecture-constraints

    Implementing units

    • impl:protocol.architecture-walk-recipe · test/architecture-recipes.test.ts:10

    Referencing units

    None.

    Enabled verifiers: spec:validation.architecture-constraints.forbidden-layer-pair, spec:validation.architecture-constraints.isolated-context-as-rule, spec:validation.architecture-constraints.unstated-layer-unclassified

    Packs: pack:corpus-checks-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:validation.corpus-rules.copies-contain-changes

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.corpus-rules.copies-contain-changes

    Packs: pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.corpus-rules.error-finding-fails

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.corpus-rules.error-finding-fails

    Packs: pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.corpus-rules.malformed-finding-fails

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.corpus-rules.malformed-finding-fails

    Packs: pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.corpus-rules.params-edit-starts-a-cycle

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.corpus-rules.params-edit-starts-a-cycle

    Packs: pack:adopter-speed-v1, pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.corpus-rules.rules-edit-starts-a-cycle

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.corpus-rules.rules-edit-starts-a-cycle

    Packs: pack:adopter-speed-v1, pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.corpus-rules.unreadable-params-fail-one-file

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.corpus-rules.unreadable-params-fail-one-file

    Packs: pack:adopter-speed-v1, pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.corpus-rules.warning-finding-informs

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.corpus-rules.warning-finding-informs

    Packs: pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.duplicate-ids.dual-carrier

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.duplicate-ids.dual-carrier

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal

    Implementing units

    • impl:protocol.superseded-decision-signal · src/validate/validators.ts:1817

    Referencing units

    None.

    Enabled verifiers: spec:validation.superseded-decision-signal.branch-names-every-end, spec:validation.superseded-decision-signal.chain-end-named, spec:validation.superseded-decision-signal.closed-chain-named, spec:validation.superseded-decision-signal.dependency-unread, spec:validation.superseded-decision-signal.end-and-loop-named, spec:validation.superseded-decision-signal.live-replacement-warns, spec:validation.superseded-decision-signal.replaced-ruling-warns, spec:validation.superseded-decision-signal.replacement-below-ready-named, spec:validation.superseded-decision-signal.superseded-subject-silent

    Packs: pack:design-management-v1, pack:self-hosting-v1

Distance 5

  • spec:carrier.sdp-import.feature-adapter

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:carrier.sdp-import.round-trip

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.sdp-import.round-trip

    Packs: pack:self-hosting-v1

  • spec:carrier.slot-notation.one-literal-binding

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.slot-notation.one-literal-binding

    Packs: pack:self-hosting-v1

  • spec:carrier.slot-notation.refused-guess

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.slot-notation.refused-guess

    Packs: pack:self-hosting-v1

  • spec:carrier.slot-notation.typed-declaration

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.slot-notation.typed-declaration

    Packs: pack:self-hosting-v1

  • spec:carrier.step-keys

    Implementing units

    • impl:protocol.example-runner · src/runner/index.ts:108
    • impl:protocol.example-space-decoding · src/notation/example-space.ts:473
    • impl:protocol.executable-contracts · src/codegen/contracts.ts:647
    • impl:protocol.key-markers · src/extract/key-markers.ts:136
    • impl:protocol.open-section-order · src/extract/serialize.ts:105
    • impl:protocol.sdp-import-markdown-emit · src/import/emit-markdown.ts:253
    • impl:protocol.spec-sections · src/model/sections.ts:138

    Referencing units

    None.

    Enabled verifiers: spec:carrier.step-keys.conflicting-example-key-withheld, spec:carrier.step-keys.gherkin-keyed-step-stays-bound, spec:carrier.step-keys.key-equal-to-a-skeleton-withheld, spec:carrier.step-keys.malformed-marker-refused, spec:carrier.step-keys.renamed-key-breaks, spec:carrier.step-keys.repeated-key-refused, spec:carrier.step-keys.reworded-keyed-step-stays-bound, spec:carrier.step-keys.reworded-unkeyed-step-breaks, spec:carrier.step-keys.two-keys-on-one-step-refused, spec:carrier.step-keys.typescript-keyed-step-imports-keyed, test:protocol.keyed-content

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.binding-language-views

    Implementing units

    • impl:protocol.binding-language-index-table · src/projections/design-review-pages.ts:201
    • impl:protocol.binding-language-spec-page · src/projections/design-review-context.ts:95

    Referencing units

    None.

    Enabled verifiers: spec:consumers.binding-language-views.bound-spec-page, spec:consumers.binding-language-views.pack-member-table

    Packs: pack:self-hosting-v1

  • spec:consumers.derived-readiness-banner

    Implementing units

    • impl:protocol.derived-readiness-banner · src/projections/design-review-context.ts:18

    Referencing units

    None.

    Enabled verifiers: spec:consumers.derived-readiness-banner.dishonest-divergence, spec:consumers.derived-readiness-banner.honest-headroom, test:protocol.derived-readiness-banner.idea-floor-unmet

    Packs: pack:self-hosting-v1

  • spec:consumers.design-review.pack-design-page

    Implementing units

    • impl:protocol.pack-design-page · src/projections/design-review-pages.ts:120

    Referencing units

    • impl:protocol.pack-design-sections · src/projections/design-review-pack-sections.ts:19

    Enabled verifiers: test:protocol.pack-design-page

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.design-review.pure-projection

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-review.pure-projection

    Packs: pack:self-hosting-v1

  • spec:consumers.obsidian-vault.bases

    Implementing units

    • impl:protocol.vault-bases · src/projections/vault/bases.ts:43
    • impl:protocol.vault-notes · src/projections/vault/notes.ts:45

    Referencing units

    None.

    Enabled verifiers: spec:consumers.obsidian-vault.bases.views-match-sources

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.review-perspectives

    Implementing units

    • impl:protocol.perspective-filter-recipe · test/iteration-recipes.test.ts:753

    Referencing units

    None.

    Enabled verifiers: test:protocol.perspective-filter-recipe

    Packs: pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.capability-map-page

    Implementing units

    • impl:protocol.studio-capabilities-page · src/projections/studio/pages/capabilities-page.ts:78
    • impl:protocol.studio-filter · src/studio-elements/filter.ts:25
    • impl:protocol.studio-frame · src/projections/studio/pages/frame.ts:6
    • impl:protocol.studio-index-page · src/projections/studio/pages/index-page.ts:8

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-capabilities

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.data.inputs

    Implementing units

    • impl:protocol.studio-base-input · src/cli/studio-inputs.ts:9
    • impl:protocol.studio-command · src/cli/studio-command.ts:106
    • impl:protocol.studio-inputs · src/projections/studio/inputs.ts:1

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.data.inputs.both-given, spec:consumers.spec-studio.data.inputs.graph-only

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.data.recipe-answers

    Implementing units

    • impl:protocol.studio-recipes · src/projections/studio/recipes.ts:34

    Referencing units

    • impl:protocol.studio-register-contracts · src/projections/studio/pages/register-answers.ts:4

    Enabled verifiers: test:protocol.studio-lenses

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.diagram-kinds.mermaid-source

    Implementing units

    • impl:protocol.studio-diagram-source · src/projections/studio/diagrams/mermaid.ts:13
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-core

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.requirement-trace

    Implementing units

    • impl:protocol.studio-requirement-diagram · src/projections/studio/diagrams/requirement.ts:12
    • impl:protocol.studio-requirement-view · src/projections/studio/pages/requirement-view.ts:8

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-maturity-requirement, test:protocol.studio-diagram-core

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagrams

    Implementing units

    • impl:protocol.studio-architecture-diagrams · src/projections/studio/diagrams/architecture.ts:4
    • impl:protocol.studio-diagram-element · src/studio-elements/diagram.ts:23
    • impl:protocol.studio-diagram-model · src/projections/studio/diagrams/model.ts:1
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73
    • impl:protocol.studio-relation-diagrams · src/projections/studio/diagrams/bands.ts:10

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.diagrams.folds-by-context, spec:consumers.spec-studio.diagrams.folds-by-layer, spec:consumers.spec-studio.diagrams.within-bound, test:protocol.studio-diagram-core

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses

    Implementing units

    • impl:protocol.studio-architecture-lens · src/projections/studio/pages/architecture-page.ts:50
    • impl:protocol.studio-evidence-lens · src/projections/studio/pages/evidence-page.ts:3
    • impl:protocol.studio-frame · src/projections/studio/pages/frame.ts:6
    • impl:protocol.studio-tests-lens · src/projections/studio/pages/tests-page.ts:34

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-lenses

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.packs

    Implementing units

    • impl:protocol.studio-index-page · src/projections/studio/pages/index-page.ts:8

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-lenses

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.pack-page.maturity-map

    Implementing units

    • impl:protocol.studio-maturity-map · src/projections/studio/pages/maturity-map.ts:7

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-maturity-requirement, test:protocol.studio-panels

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.publisher

    Implementing units

    • impl:protocol.build-pipeline-emit · src/cli/build-command.ts:251
    • impl:protocol.studio-command · src/cli/studio-command.ts:106
    • impl:protocol.studio-page-catalog · src/projections/studio/pages/index.ts:21
    • impl:protocol.studio-paths · src/projections/studio/paths.ts:2
    • impl:protocol.studio-publish · src/projections/studio/publish.ts:24

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-data, test:protocol.studio-publisher

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.sharing.stamp-written-apart

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-stamp-apart

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.wholesale-view-rewrite

    Implementing units

    • impl:protocol.build-pipeline-emit · src/cli/build-command.ts:251
    • impl:protocol.wholesale-view-rewrite · src/cli/validate-view-command.ts:128

    Referencing units

    None.

    Enabled verifiers: spec:consumers.wholesale-view-rewrite.build-invalidates-view, spec:consumers.wholesale-view-rewrite.failed-run-view-removed, spec:consumers.wholesale-view-rewrite.late-stale-page, spec:consumers.wholesale-view-rewrite.stale-page-removed

    Packs: pack:self-hosting-v1

  • spec:decisions.adopt-the-nouns

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.authored-entry-order

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.concept-docs-dissolve

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.executable-meta-model

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.gherkin-carrier-option

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.pack-design-page

    Implementing units

    None.

    Referencing units

    • impl:protocol.pack-design-page · src/projections/design-review-pages.ts:120

    Enabled verifiers: None

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:decisions.pack-markdown-carrier

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.plain-language-references

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.protocol-naming

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.sdp-gherkin-extension

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:extraction.pack-member-order.manifest-order-kept

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.pack-member-order

    Packs: pack:self-hosting-v1

  • spec:model.design-maturity

    Implementing units

    • impl:protocol.pack-design · src/reader/reader.ts:499

    Referencing units

    None.

    Enabled verifiers: test:protocol.pack-design

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:protocol.capability-epics

    Implementing units

    • impl:protocol.capability-epics · test/recipes.test.ts:8173

    Referencing units

    None.

    Enabled verifiers: test:protocol.capability-epics

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:protocol.structural-self-binding

    Implementing units

    • impl:protocol.structural-self-binding · test/self-hosting-oracle/structural-edges.ts:76

    Referencing units

    None.

    Enabled verifiers: test:protocol.structural-self-binding

    Packs: pack:self-hosting-v1

  • spec:validation.architecture-constraints.forbidden-layer-pair

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.architecture-constraints.forbidden-layer-pair

    Packs: pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.architecture-constraints.isolated-context-as-rule

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.architecture-constraints.isolated-context-as-rule

    Packs: pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.architecture-constraints.unstated-layer-unclassified

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.architecture-constraints.unstated-layer-unclassified

    Packs: pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.diagnostic-rendering

    Implementing units

    • impl:protocol.diagnostic-rendering-cli · src/cli/output.ts:23
    • impl:protocol.diagnostic-rendering-design-review · src/projections/design-review-context.ts:208
    • impl:protocol.validate-summary · src/cli/validate-view-command.ts:23
    • impl:protocol.validation-contracts · src/validate/contracts.ts:5

    Referencing units

    None.

    Enabled verifiers: spec:validation.diagnostic-rendering.composed-location, spec:validation.diagnostic-rendering.table-cell-location

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.branch-names-every-end

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.branch-names-every-end

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.chain-end-named

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.chain-end-named

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.closed-chain-named

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.closed-chain-named

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.dependency-unread

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.dependency-unread

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.end-and-loop-named

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.end-and-loop-named

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.live-replacement-warns

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.live-replacement-warns

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.replaced-ruling-warns

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.replaced-ruling-warns

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.replacement-below-ready-named

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.replacement-below-ready-named

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.superseded-subject-silent

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.superseded-subject-silent

    Packs: pack:self-hosting-v1

Distance 6

  • spec:carrier.step-keys.conflicting-example-key-withheld

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.conflicting-example-key-withheld

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.gherkin-keyed-step-stays-bound

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.gherkin-keyed-step-stays-bound

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.key-equal-to-a-skeleton-withheld

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.key-equal-to-a-skeleton-withheld

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.malformed-marker-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.malformed-marker-refused

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.renamed-key-breaks

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.renamed-key-breaks

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.repeated-key-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.repeated-key-refused

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.reworded-keyed-step-stays-bound

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.reworded-keyed-step-stays-bound

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.reworded-unkeyed-step-breaks

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.reworded-unkeyed-step-breaks

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.two-keys-on-one-step-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.two-keys-on-one-step-refused

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.typescript-keyed-step-imports-keyed

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.typescript-keyed-step-imports-keyed

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.binding-language-views.bound-spec-page

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.binding-language-views.bound-spec-page

    Packs: pack:self-hosting-v1

  • spec:consumers.binding-language-views.pack-member-table

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.binding-language-views.pack-member-table

    Packs: pack:self-hosting-v1

  • spec:consumers.census-page

    Implementing units

    • impl:protocol.census-page · src/projections/census.ts:21
    • impl:protocol.census-page-cli · src/cli/census-command.ts:66

    Referencing units

    None.

    Enabled verifiers: test:protocol.census-page

    Packs: pack:self-hosting-v1

  • spec:consumers.derived-readiness-banner.dishonest-divergence

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.derived-readiness-banner.dishonest-divergence

    Packs: pack:self-hosting-v1

  • spec:consumers.derived-readiness-banner.honest-headroom

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.derived-readiness-banner.honest-headroom

    Packs: pack:self-hosting-v1

  • spec:consumers.mermaid-view

    Implementing units

    • impl:protocol.mermaid-view · src/projections/mermaid.ts:14
    • impl:protocol.mermaid-view-cli · src/cli/mermaid-command.ts:82

    Referencing units

    None.

    Enabled verifiers: test:protocol.mermaid-view

    Packs: pack:self-hosting-v1

  • spec:consumers.obsidian-vault

    Implementing units

    • impl:protocol.vault-command · src/cli/vault-command.ts:191
    • impl:protocol.vault-notes · src/projections/vault/notes.ts:45
    • impl:protocol.vault-sync · src/projections/vault/sync.ts:98

    Referencing units

    None.

    Enabled verifiers: spec:consumers.obsidian-vault.changed-note-refused, spec:consumers.obsidian-vault.failed-extraction-keeps-notes, spec:consumers.obsidian-vault.failed-extraction-recovered, spec:consumers.obsidian-vault.fresh-vault, spec:consumers.obsidian-vault.hidden-file-refused, spec:consumers.obsidian-vault.interrupted-run-recovered, spec:consumers.obsidian-vault.person-notes-survive, spec:consumers.obsidian-vault.unknown-note-refused, spec:consumers.obsidian-vault.vault-in-build-path-refused

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.bases.views-match-sources

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.bases.views-match-sources

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.data.inputs.both-given

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-inputs-both-given

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.data.inputs.graph-only

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-graph-only

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.diagram-kinds

    Implementing units

    • impl:protocol.studio-architecture-lens · src/projections/studio/pages/architecture-page.ts:50
    • impl:protocol.studio-capability-diagrams · src/projections/studio/diagrams/capability.ts:101
    • impl:protocol.studio-diagram-layout · src/projections/studio/diagrams/layout.ts:140
    • impl:protocol.studio-diagram-source · src/projections/studio/diagrams/mermaid.ts:13
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73
    • impl:protocol.studio-maturity-map · src/projections/studio/pages/maturity-map.ts:7
    • impl:protocol.studio-requirement-diagram · src/projections/studio/diagrams/requirement.ts:12
    • impl:protocol.studio-slice-architecture · src/projections/studio/diagrams/slice.ts:219
    • impl:protocol.studio-slice-dependencies · src/projections/studio/diagrams/slice.ts:10

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-catalog

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.edge-routing

    Implementing units

    • impl:protocol.studio-diagram-routing · src/projections/studio/diagrams/routing.ts:38
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-core

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.legibility

    Implementing units

    • impl:protocol.studio-diagram-element · src/studio-elements/diagram.ts:23
    • impl:protocol.studio-diagram-layout · src/projections/studio/diagrams/layout.ts:140
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-core

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagrams.folds-by-context

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-folds-context

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.diagrams.folds-by-layer

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-folds-layer

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.diagrams.within-bound

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-within-bound

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.diff-page

    Implementing units

    • impl:protocol.studio-diff · src/projections/studio/pages/diff-page.ts:91

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.diff-page.changed-entry, test:protocol.roadmap-priority

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.architecture

    Implementing units

    • impl:protocol.studio-architecture-lens · src/projections/studio/pages/architecture-page.ts:50

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.lenses.architecture.planned-apart, test:protocol.studio-architecture-maturity-requirement

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.evidence

    Implementing units

    • impl:protocol.studio-evidence-lens · src/projections/studio/pages/evidence-page.ts:3

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-lenses

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.runs-page

    Implementing units

    • impl:protocol.studio-run-rows · src/projections/studio/pages/run-rows.ts:69
    • impl:protocol.studio-runs-page · src/projections/studio/pages/runs-page.ts:6

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.runs-page.external-evidence

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.wholesale-view-rewrite.build-invalidates-view

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.wholesale-view-rewrite.build-invalidates-view

    Packs: pack:self-hosting-v1

  • spec:consumers.wholesale-view-rewrite.failed-run-view-removed

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.wholesale-view-rewrite.failed-run-view-removed

    Packs: pack:self-hosting-v1

  • spec:consumers.wholesale-view-rewrite.late-stale-page

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.wholesale-view-rewrite.late-stale-page

    Packs: pack:self-hosting-v1

  • spec:consumers.wholesale-view-rewrite.stale-page-removed

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.wholesale-view-rewrite.stale-page-removed

    Packs: pack:self-hosting-v1

  • spec:decisions.roadmap-priority

    Implementing units

    None.

    Referencing units

    • impl:protocol.pack-aggregate · src/model/pack.ts:23
    • impl:protocol.pack-member-order · src/extract/derive.ts:153

    Enabled verifiers: None

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:extraction.executable-contracts

    Implementing units

    • impl:protocol.example-space · src/graph/example-space.ts:117
    • impl:protocol.executable-contracts · src/codegen/contracts.ts:647

    Referencing units

    None.

    Enabled verifiers: spec:carrier.step-keys.conflicting-example-key-withheld, spec:carrier.step-keys.key-equal-to-a-skeleton-withheld, spec:carrier.step-keys.reworded-keyed-step-stays-bound, spec:carrier.step-keys.reworded-unkeyed-step-breaks, spec:extraction.executable-contracts.case-colliding-path, spec:extraction.executable-contracts.concreteness-refusal, spec:extraction.executable-contracts.multi-entry-example

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:extraction.runnable-modules

    Implementing units

    • component:protocol.codegen · src/codegen/contracts.ts:633
    • component:protocol.testing · src/testing/index.ts:38
    • impl:protocol.example-testing-helpers · src/testing/index.ts:50
    • impl:protocol.runnable-modules · src/codegen/contracts.ts:658

    Referencing units

    None.

    Enabled verifiers: test:protocol.runnable-modules, test:protocol.runnable-modules-generation, test:protocol.runnable-modules-types

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:protocol.role-vocabulary

    Implementing units

    • impl:protocol.role-vocabulary · test/self-hosting-graph.test.ts:143

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:protocol.significant-units-review

    Implementing units

    • impl:protocol.structural-self-binding · test/self-hosting-oracle/structural-edges.ts:76

    Referencing units

    None.

    Enabled verifiers: test:protocol.structural-self-binding

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:validation.diagnostic-rendering.composed-location

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.diagnostic-rendering.composed-location

    Packs: pack:self-hosting-v1

  • spec:validation.diagnostic-rendering.table-cell-location

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.diagnostic-rendering.table-cell-location

    Packs: pack:self-hosting-v1

Distance 7

  • spec:consumers.design-diff

    Implementing units

    • impl:protocol.design-diff-recipe · test/iteration-recipes.test.ts:27

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-diff-recipe, test:protocol.roadmap-priority

    Packs: pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.changed-note-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.changed-note-refused

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.failed-extraction-keeps-notes

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.failed-extraction-keeps-notes

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.failed-extraction-recovered

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.failed-extraction-recovered

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.fresh-vault

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.fresh-vault

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.hidden-file-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.hidden-file-refused

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.interrupted-run-recovered

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.interrupted-run-recovered

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.person-notes-survive

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.person-notes-survive

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.unknown-note-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.unknown-note-refused

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.vault-in-build-path-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.vault-in-build-path-refused

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.capability-tree

    Implementing units

    • impl:protocol.studio-capability-diagrams · src/projections/studio/diagrams/capability.ts:101
    • impl:protocol.studio-diagram-source · src/projections/studio/diagrams/mermaid.ts:13

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-capabilities

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.maturity-picture

    Implementing units

    • impl:protocol.studio-maturity-map · src/projections/studio/pages/maturity-map.ts:7

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-maturity-requirement

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diff-page.changed-entry

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diff-changed-entry

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.architecture.planned-apart

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-planned-apart

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.architecture.unit-register

    Implementing units

    • impl:protocol.studio-unit-register · src/projections/studio/pages/architecture-register.ts:7

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-maturity-requirement

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.runs-page.external-evidence

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.run-external

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.structural-mermaid

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:decisions.adopted-registrars-committed

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.roadmap-over-plans

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:decisions.vault-owned-folder

    Implementing units

    None.

    Referencing units

    • impl:protocol.vault-command · src/cli/vault-command.ts:191
    • impl:protocol.vault-sync · src/projections/vault/sync.ts:98

    Enabled verifiers: None

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:extraction.example-runner

    Implementing units

    • component:protocol.adapters · src/adapters/vitest.ts:23
    • component:protocol.runner · src/runner/index.ts:99
    • impl:protocol.example-runner · src/runner/index.ts:108
    • impl:protocol.example-runner-adapter · src/adapters/vitest.ts:32

    Referencing units

    None.

    Enabled verifiers: spec:extraction.example-runner.red-step-naming, spec:extraction.example-runner.step-order, test:protocol.example-runner-cleanup

    Packs: pack:self-hosting-v1

  • spec:extraction.executable-contracts.case-colliding-path

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.executable-contracts.case-colliding-path

    Packs: pack:self-hosting-v1

  • spec:extraction.executable-contracts.concreteness-refusal

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.executable-contracts.concreteness-refusal

    Packs: pack:self-hosting-v1

  • spec:extraction.executable-contracts.multi-entry-example

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.executable-contracts.multi-entry-example

    Packs: pack:self-hosting-v1

  • spec:model.pack-aggregate

    Implementing units

    • impl:protocol.pack-aggregate · src/model/pack.ts:23

    Referencing units

    None.

    Enabled verifiers: test:protocol.pack-builder, test:protocol.roadmap-priority

    Packs: pack:self-hosting-v1

Distance 8

  • spec:decisions.pack-reified

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:extraction.example-runner.red-step-naming

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.example-runner.red-step-naming

    Packs: pack:self-hosting-v1

  • spec:extraction.example-runner.step-order

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.example-runner.step-order

    Packs: pack:self-hosting-v1

  • spec:validation.pack-coherence

    Implementing units

    • impl:protocol.pack-coherence · src/validate/validators.ts:1102

    Referencing units

    None.

    Enabled verifiers: spec:validation.pack-coherence.incoherent-aggregate

    Packs: pack:self-hosting-v1

Distance 9

  • spec:validation.pack-coherence.incoherent-aggregate

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.pack-coherence.incoherent-aggregate

    Packs: pack:self-hosting-v1

Relations

Relation and directionOther endClaimReasonExercised keys
decidedBy · outgoingspec:decisions.checked-mentions
spec:decisions.checked-mentions · resolves
declaredrule addresses join the address law it rulesNone
decidedBy · outgoingspec:decisions.shipped-projections-frozen
spec:decisions.shipped-projections-frozen · resolves
declaredkeys stay off the frozen projections, which read the rule text unchangedNone
dependsOn · outgoingspec:extraction.entry-locations
spec:extraction.entry-locations · resolves
declaredadds rows to the location tableNone
dependsOn · outgoingspec:model.open-question-keys
spec:model.open-question-keys · resolves
declaredNoneNone
refines · outgoingspec:model.spec-sections
spec:model.spec-sections · resolves
declaredNoneNone
dependsOn · incomingspec:carrier.envelope-contract
spec:carrier.envelope-contract · resolves
declaredNoneNone
dependsOn · incomingspec:carrier.gherkin-authoring
spec:carrier.gherkin-authoring · resolves
declaredNoneNone
dependsOn · incomingspec:carrier.markdown-body-grammar
spec:carrier.markdown-body-grammar · resolves
declaredNoneNone
dependsOn · incomingspec:consumers.agent-surface.address-and-cycle-recipes
spec:consumers.agent-surface.address-and-cycle-recipes · resolves
declareda rule address resolves through the Spec's rule keysNone
dependsOn · incomingspec:consumers.agent-surface.register-recipes
spec:consumers.agent-surface.register-recipes · resolves
declaredentry search and the mention audit read rule addressesNone
dependsOn · incomingspec:consumers.authoring-on-ramp
spec:consumers.authoring-on-ramp · resolves
declaredNoneNone
dependsOn · incomingspec:consumers.design-slice
spec:consumers.design-slice · resolves
declaredeach member's rule count is the count rule coverage reportsNone
dependsOn · incomingspec:consumers.spec-studio.lenses.tests
spec:consumers.spec-studio.lenses.tests · resolves
declaredrule coverage counts the keyed rules examples exerciseNone
dependsOn · incomingspec:consumers.spec-studio.spec-page
spec:consumers.spec-studio.spec-page · resolves
declaredNoneNone
dependsOn · incomingspec:consumers.spec-studio.spec-page.core
spec:consumers.spec-studio.spec-page.core · resolves
declaredNoneNone
dependsOn · incomingspec:consumers.spec-studio.verification-panels
spec:consumers.spec-studio.verification-panels · resolves
declaredNoneNone
dependsOn · incomingspec:consumers.upgrade-kit.capability-adoption
spec:consumers.upgrade-kit.capability-adoption · resolves
declaredrule keys and exercises are two of the capabilities it countsNone
dependsOn · incomingspec:consumers.upgrade-kit.rule-key-proposal
spec:consumers.upgrade-kit.rule-key-proposal · resolves
declareda coined key follows the rule-key grammar and markerNone
dependsOn · incomingspec:model.term-addresses
spec:model.term-addresses · resolves
declaredthe term-key design follows the rule-entry address patternNone

Bindings

Implementation binding: present

  • impl:protocol.authoring-grammar-recipes · asserts the authoring grammar's realization in docs/agent-surface/recipes.md · test/recipes.test.ts:6597
  • impl:protocol.authoring-normalization · normalizes rule markers and question fields after carrier reification · src/extract/authoring-normalization.ts:8 · role codec · component component:protocol.extract · layer application · context protocol
  • impl:protocol.rule-exercises · checks the keys named by declared verifies relations · src/validate/validators.ts:1479 · role validator · component component:protocol.validate · layer domain · context protocol

Design reference: none

Verifier binding: present

  • test:protocol.authoring-grammar · checks rule keys, question fields and relation reasons across the carriers · anchored · test/authoring-grammar.test.ts:24 · test anchor
  • test:protocol.authoring-grammar-recipes · executes the shipped question, mention, entry, address and rule coverage recipes · anchored · test/recipes.test.ts:6587 · test anchor

Expected-outcome oracle: none

Runtime observation: not tracked.

Run results: not recorded in the graph.

Findings

None.

3. An open question may name who decides it, its links, a provisional reading and a re-entry trigger

spec:model.open-question-fields

An open question may name who decides it, its links, a provisional reading and a re-entry trigger

spec:model.open-question-fieldsBusiness Rule · storyready floor ready

Packs: pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

Design: 7 design entries · 1 pinned declaration · 2 decisions

Findings: no errors, no warnings

specs/model/open-question-fields.sdp.md

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

The original design gave an open question an owner and a list of links to decision records, discussions and tickets, beside its text and its blocking flag (docs/lineage/v0-design/01-core-primitives.md §2.1). A question key gives a question an address and nothing more, so the first adopter keeps the rest beside the graph. Its decision register (libar-platform/design/decisions/register.json, described in design/advisors/register.md) records for each open decision its sources, who decides it as a class (tactical, delegated or owner) and an advisor lens, the provisional reading the design proceeds on, and a lean. It also records a status, the work unit it blocks, dates and who checked the lean. This Spec captures the part that states something about the question and leaves the work record outside.

A TypeScript open-question list that cannot be read statically drops whole, blocking questions included. A failure under one of the four fields is an error, because the fields arrived with no carrier relying on a lossy reading; a failure in a question's text, its blocking flag or the list itself keeps the warning every other non-static TypeScript section property gives.

Intent
problem
A question's text and blocking flag do not say who settles it, what it rests on, or what the design assumes until it is settled, so an adopter keeps a register beside the graph that repeats each question.
outcome
Let an open question carry who decides it, the sources it rests on, the reading the design proceeds on and, on a deferral, what brings it back, without a status.
risks
  • A field for who decides invites fields for when and for what state the question is in, which would rebuild a workflow tracker inside the Spec.
Rule

The world writes one TypeScript carrier for a story-altitude rule Spec stating idea, with a title, an Intent outcome, one rule and an open-question list holding one blocking question. Every value is static apart from the construct the point names: a question text or blocking flag written as a function call, or a spread of another list beside the question.

rule line 29 · specs/model/open-question-fields.sdp.md:29
An open question may carry four optional fields beside its text, flag and key, namely who decides it, the links it rests on, its provisional reading and its re-entry trigger; a question without them stays lawful.
rule line 30 · specs/model/open-question-fields.sdp.md:30
Who decides a question names the person, role or body whose ruling settles it. It authorizes nothing, gates no edit, and no validator compares it with the author of a change.
rule line 31 · specs/model/open-question-fields.sdp.md:31
Who decides a question is one lowercase kebab token the corpus owns, on the grammar a role uses, such as owner or delegated. The graph holds no person or role to point at, so the value references nothing, and the Protocol ships no list of values.
rule line 32 · specs/model/open-question-fields.sdp.md:32
In the Markdown carrier the four fields ride labelled sub-items indented under the question's own line, decider:, links:, provisional: and trigger:, each at most once and each one line, so the question line stays as authored. They are the only indented field lines the body grammar admits, and the TypeScript carrier carries the same four fields on the question object.
rule.fieldFailureError line 33 · specs/model/open-question-fields.sdp.md:33
In the TypeScript carrier, a value under any of the four fields that cannot be read statically is an extraction error at that field, and the Spec's whole open-question list drops with it.

no example exercises it

rule.droppedListWarning line 34 · specs/model/open-question-fields.sdp.md:34
In the TypeScript carrier, a question text or blocking flag that cannot be read statically, or a spread in the list, drops the Spec's whole open-question list, blocking questions included, with the lossy warning extract/non-static-section; only a failure under the four fields is an error.

spec:model.open-question-fields.dropped-list-warns · enabled

rule line 35 · specs/model/open-question-fields.sdp.md:35
A link is a Spec id or an entry address the question rests on, and nothing else. Each is checked as a mention is: a missing target or entry is an error, and a target with no declared relation either way raises the conformance/prose-mentions warning for that pair. A link mints no relation, and a document outside the graph is named in the question's text as prose, because the graph holds no identity for it to resolve.
rule line 36 · specs/model/open-question-fields.sdp.md:36
The provisional reading is one line stating what the design assumes while the question is open. It is intent, never a ruling.
rule line 37 · specs/model/open-question-fields.sdp.md:37
A question carries at most one provisional line. A worked proposal for settling it is a decision Spec whose Decision section holds its decision, context, rationales, alternatives and consequences, stated at the rung its record earns. Each shaped Spec names it through decidedBy, so a decision below defined holds that Spec below ready under the typed-dependency floor.
rule line 38 · specs/model/open-question-fields.sdp.md:38
A re-entry trigger is one line naming what brings a deferred Spec back, such as a named reader the shipped views do not serve. It sits on the blocking question that holds the deferral, and the open-question register reports questions that carry one apart from design holds, so no reader tells the two apart by their wording.
rule line 39 · specs/model/open-question-fields.sdp.md:39
An open question carries no status, date, blocked work unit or record of who checked it. A settled question leaves the Spec, a ruling that passes the ADR three-part test lands as a decision Spec the shaped Specs name through decidedBy, and the rest of the history stays in git and in the adopter's own records.
rule line 40 · specs/model/open-question-fields.sdp.md:40
Whether a question holds the readiness floor stays its [blocking] flag alone; none of the four fields moves a floor.

10 unkeyed rules.

Verifying examples

spec:model.open-question-fields.dropped-list-warns · spec:model.open-question-fields.dropped-list-warns · ready floor ready

Executable Spec

Given a TypeScript Spec carrier whose blocking open question meets {construct: "a non-static question text"}
When the extractor reifies the carrier
Then the extractor reports {findingId: "extract/non-static-section"} at severity {severity: "warning"}
Then the Spec stays in the graph with {questionCount: 0} open questions

spec:model.open-question-fields.dropped-list-warns

Example space

Given a TypeScript Spec carrier whose blocking open question meets {construct:"a non-static question text"|"a non-static blocking flag"|"a spread in the list"}
When the extractor reifies the carrier
Then the extractor reports {findingId:string} at severity {severity:"warning"|"error"}
Then the Spec stays in the graph with {questionCount:number} open questions
Design
subItemLine line 54 · specs/model/open-question-fields.sdp.md:54
a field is one line of exactly two spaces, - , a label from decider, links, provisional and trigger, a colon, a space and the value, directly under its question's line or a sibling field; any other indented line stays refused, as is a field under an entry that is not an open question.
questionObject line 55 · specs/model/open-question-fields.sdp.md:55
the open question object carries optional decider, links as a list of strings in authored order, provisional and trigger fields, each absent when the author wrote none; the TypeScript carrier writes the same fields.
linksValue line 56 · specs/model/open-question-fields.sdp.md:56
links: takes a comma-separated list, as an anchor comment's target tags do, non-empty and with no repeat.

no citation recorded

fieldFindings line 57 · specs/model/open-question-fields.sdp.md:57
an unknown or repeated label, an empty value, a decider off the token grammar, and a trigger on a non-blocking question are conformance errors at the field's line.
fieldLocations line 58 · specs/model/open-question-fields.sdp.md:58
each carrier that records entry lines records a row per field present, question[<i>].decider, question[<i>].links, question[<i>].provisional or question[<i>].trigger; a link finding reads the links row, and a line the carrier did not record stays absent.
linkResolution line 59 · specs/model/open-question-fields.sdp.md:59
each link is checked as a mention is, at the field's line, by the same validator and with the same two findings.
registerColumns line 60 · specs/model/open-question-fields.sdp.md:60
the open-question register (recipe 20) reports the four fields on each row, marks a question carrying a trigger as a deferral, and counts deferrals and holds apart.
Verification

Verifier bindings

  • spec:model.open-question-fields.dropped-list-warns · A TypeScript question list that cannot be read drops whole with a warning · declared · example enabled · specs/model/open-question-fields.dropped-list-warns.sdp.md
  • test:protocol.authoring-grammar · checks rule keys, question fields and relation reasons across the carriers · anchored · test anchor binding present · test/authoring-grammar.test.ts:24
  • test:protocol.authoring-grammar-recipes · executes the shipped question, mention, entry, address and rule coverage recipes · anchored · test anchor binding present · test/recipes.test.ts:6587

Example space

  • construct · "a non-static question text" | "a non-static blocking flag" | "a spread in the list" · declared by a TypeScript Spec carrier whose blocking open question meets {construct}

Bound points

Exampleconstruct
spec:model.open-question-fields.dropped-list-warns"a non-static question text"

Oracle binding: present · oracle:protocol.open-question-fields · test/self-hosting-carrier.test.ts:342

Coverage

construct
Declared valueExamples
"a non-static question text"spec:model.open-question-fields.dropped-list-warns
"a non-static blocking flag"no example
"a spread in the list"no example

Unbound

  • construct: None
Design view

Requirement drawing

Requirement drawing for spec:model.open-question-fields
Requirement drawing for spec:model.open-question-fieldsverifies · anchoredverifies · anchoredsatisfies · anchoredsatisfies · anchoredmodels · anchoredrefines · declaredrefines, verifies · declaredIntended Specsspec:model.open-question-fieldsAn open question may namewho decides it, its links,a provisional reading and are-entry trigger…model.open-question-fieldsdeclared SpecDeclared verifying examplesspec:model.open-question-fields.dropped-list-warnsA TypeScript question listthat cannot be read dropswhole with a warning…model.open-question-fields.dropped-list-warnsdeclared SpecSatisfying or referencingunitsimpl:protocol.authoring-grammar-recipesasserts the authoringgrammar's realization indocs/agent-surface/recipes.md…protocol.authoring-grammar-recipesanchored codeimpl:protocol.authoring-normalizationnormalizes rule markers andquestion fields aftercarrier reification…protocol.authoring-normalizationanchored codeTest or oracle bindings3 test bindings · anchored, folded3 test bindings · anchoredoracle:protocol.open-question-fieldsoracle:protocol.open-question-fields…protocol.open-question-fieldsanchored oracle bindingOutside the selected setspec:model.open-question-keysAn open question may carrya key that addresses it…model.open-question-keysdeclared Spec
The diagram as text
  • spec:model.open-question-fields: An open question may name who decides it, its links, a provisional reading and a re-entry trigger · declared Spec
  • spec:model.open-question-fields.dropped-list-warns: A TypeScript question list that cannot be read drops whole with a warning · declared Spec
  • spec:model.open-question-keys: An open question may carry a key that addresses it · declared Spec
  • impl:protocol.authoring-grammar-recipes: asserts the authoring grammar's realization in docs/agent-surface/recipes.md · anchored code · test/recipes.test.ts:6597
  • impl:protocol.authoring-normalization: normalizes rule markers and question fields after carrier reification · anchored code · src/extract/authoring-normalization.ts:8
  • oracle:protocol.open-question-fields: oracle:protocol.open-question-fields · anchored oracle binding · test/self-hosting-carrier.test.ts:342
  • test:protocol.authoring-grammar: checks rule keys, question fields and relation reasons across the carriers · anchored test binding · binding present · test/authoring-grammar.test.ts:24
  • test:protocol.authoring-grammar-recipes: executes the shipped question, mention, entry, address and rule coverage recipes · anchored test binding · binding present · test/recipes.test.ts:6587
  • test:protocol.open-question-fields.dropped-list-warns: test:protocol.open-question-fields.dropped-list-warns · anchored test binding · binding present · test/self-hosting-carrier.test.ts:367
  • spec:model.open-question-fields refines spec:model.open-question-keys · declared
  • spec:model.open-question-fields.dropped-list-warns refines spec:model.open-question-fields · declared
  • spec:model.open-question-fields.dropped-list-warns verifies spec:model.open-question-fields · declared
  • impl:protocol.authoring-grammar-recipes satisfies spec:model.open-question-fields · anchored
  • impl:protocol.authoring-normalization satisfies spec:model.open-question-fields · anchored
  • oracle:protocol.open-question-fields models spec:model.open-question-fields · anchored
  • test:protocol.authoring-grammar verifies spec:model.open-question-fields · anchored
  • test:protocol.authoring-grammar-recipes verifies spec:model.open-question-fields · anchored
  • test:protocol.open-question-fields.dropped-list-warns verifies spec:model.open-question-fields.dropped-list-warns · 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

  • spec:decisions.adopt-the-nouns

    The Protocol adopts established delivery nouns and rejects process state-machine and lifecycle gating.

  • spec:decisions.planning-truths-placement

    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
  • component:protocol.extract · the carrier and source pipeline · src/extract/index.ts:192 · layer application · context protocol

    Uses

    • component:protocol.graph · the one graph and its semantic decisions · src/graph/schema.ts:34 · layer domain · context protocol
    • component:protocol.model · the authored contracts and stable ids · src/model/anchors.ts:100 · layer domain · context protocol
    • component:protocol.notation · the leaf step codec · src/notation/slots.ts:261 · layer domain · context protocol
    • component:protocol.validate · one finding currency and ordered checks · src/validate/validators.ts:72 · layer domain · context protocol
  • impl:protocol.authoring-grammar-recipes · asserts the authoring grammar's realization in docs/agent-surface/recipes.md · test/recipes.test.ts:6597

    Uses

    None.

  • impl:protocol.authoring-normalization · normalizes rule markers and question fields after carrier reification · src/extract/authoring-normalization.ts:8

    Component: component:protocol.extract · the carrier and source pipeline · src/extract/index.ts:192 · layer application · context protocol

    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:model.open-question-fields
Relations of spec:model.open-question-fieldsdecidedBy · declareddecidedBy · declareddependsOn · declaredrefines · declaredrefines · declaredverifies · declareddependsOn · declaredOutgoing refinesspec:model.open-question-keysAn open question may carrya key that addresses it…model.open-question-keysOutgoing dependsOnspec:extraction.entry-locationsThe graph records whereeach addressable entry iswritten…extraction.entry-locationsOutgoing decidedByspec:decisions.adopt-the-nounsDelivery nouns remainfamiliar without workflowgates…decisions.adopt-the-nounsspec:decisions.planning-truths-placementPlanning truths live inruled graph homes…decisions.planning-truths-placementSubjectspec:model.open-question-fieldsAn open question may namewho decides it, its links,a provisional reading and are-entry trigger…model.open-question-fieldsIncoming refinesspec:model.open-question-fields.dropped-list-warnsA TypeScript question listthat cannot be read dropswhole with a warning…model.open-question-fields.dropped-list-warnsIncoming dependsOnspec:model.open-question-fields.fold.Incoming.dependsOn15 Incoming dependsOn,folded…model.open-question-fields.fold.Incoming.dependsOn
The diagram as text
  • spec:carrier.markdown-body-grammar: The Markdown body accepts one closed form per section
  • spec:carrier.prose-ownership-rule: Every prose value has one typed owner
  • spec:consumers.agent-surface.register-recipes: Register questions stay executable graph recipes
  • spec:consumers.authoring-on-ramp: Authors move one Spec from intent to reviewed evidence
  • spec:consumers.design-slice: A slice reads a Pack as one design, with the architecture it touches and what each member needs next
  • spec:consumers.graph-first-planning: The next body of work is planned from the graph, not from a prose index
  • spec:consumers.pack-design: The Pack context carries the Pack's design
  • 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:consumers.spec-studio.pack-page: A Pack page shows the Pack's design as one card per member
  • spec:consumers.spec-studio.slice-page: A slice page shows a Pack's design as one whole
  • spec:consumers.spec-studio.spec-page: A Spec page shows one Spec in collapsible panels, in a fixed order
  • spec:consumers.spec-studio.spec-page.core: A Spec page's core shows the whole Spec, with an anchor for every entry
  • spec:consumers.upgrade-kit.capability-adoption: Capability adoption counts where each capability is used and where it could apply
  • spec:decisions.adopt-the-nouns: Delivery nouns remain familiar without workflow gates
  • spec:decisions.planning-truths-placement: Planning truths live in ruled graph homes
  • spec:extraction.entry-locations: The graph records where each addressable entry is written
  • spec:model.open-question-fields: An open question may name who decides it, its links, a provisional reading and a re-entry trigger
  • spec:model.open-question-fields.dropped-list-warns: A TypeScript question list that cannot be read drops whole with a warning
  • spec:model.open-question-keys: An open question may carry a key that addresses it
  • spec:validation.prose-mentions: Every Spec id written in prose resolves
  • spec:model.open-question-fields decidedBy spec:decisions.adopt-the-nouns · declared — question fields describe the question without adding workflow state or gates
  • spec:model.open-question-fields decidedBy spec:decisions.planning-truths-placement · declared — a deferral's re-entry trigger rides its own blocking question, the home that decision rules
  • spec:model.open-question-fields dependsOn spec:extraction.entry-locations · declared — adds rows to the location table
  • spec:model.open-question-fields refines spec:model.open-question-keys · declared
  • spec:carrier.markdown-body-grammar dependsOn spec:model.open-question-fields · declared
  • spec:carrier.prose-ownership-rule dependsOn spec:model.open-question-fields · declared
  • spec:consumers.agent-surface.register-recipes dependsOn spec:model.open-question-fields · declared — the open-question register lists each question's fields
  • spec:consumers.authoring-on-ramp dependsOn spec:model.open-question-fields · declared
  • spec:consumers.design-slice dependsOn spec:model.open-question-fields · declared — each question in scope carries its fields
  • 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.pack-design dependsOn spec:model.open-question-fields · declared — each listed open question carries its fields
  • spec:consumers.readiness-planner dependsOn spec:model.open-question-fields · declared — the owner's questions are selected by their decider field
  • spec:consumers.roadmap dependsOn spec:model.open-question-fields · declared — the questions waiting on a person are selected by their decider field
  • spec:consumers.spec-studio.pack-page dependsOn spec:model.open-question-fields · declared
  • spec:consumers.spec-studio.slice-page dependsOn spec:model.open-question-fields · declared
  • spec:consumers.spec-studio.spec-page dependsOn spec:model.open-question-fields · declared
  • spec:consumers.spec-studio.spec-page.core dependsOn spec:model.open-question-fields · declared
  • spec:consumers.upgrade-kit.capability-adoption dependsOn spec:model.open-question-fields · declared — question keys and fields are counted where open questions are
  • spec:validation.prose-mentions dependsOn spec:model.open-question-fields · declared — the links field it checks whole is defined by the open-question field grammar
  • spec:model.open-question-fields.dropped-list-warns refines spec:model.open-question-fields · declared
  • spec:model.open-question-fields.dropped-list-warns verifies spec:model.open-question-fields · declared
Mermaid source

Copyable source; the Studio draws static SVG.

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

Rests on

  • refines · spec:model.open-question-keys · stated ready, floor ready
  • dependsOn · spec:extraction.entry-locations · stated ready, floor ready
  • decidedBy · spec:decisions.adopt-the-nouns · stated ready, floor ready
  • decidedBy · spec:decisions.planning-truths-placement · stated ready, floor ready

Rested on by

Distance 1

  • spec:carrier.markdown-body-grammar

    Implementing units

    • impl:protocol.markdown-body-grammar · src/extract/markdown-body.ts:120
    • impl:protocol.markdown-content · src/extract/markdown-body-content.ts:7

    Referencing units

    None.

    Enabled verifiers: spec:carrier.markdown-body-grammar.continuation-line-refused, spec:carrier.markdown-body-grammar.foreign-fence-refused, spec:carrier.markdown-body-grammar.h3-refused, spec:carrier.markdown-body-grammar.integer-term-refused, spec:carrier.markdown-body-grammar.keyed-bullet-refused, spec:carrier.markdown-body-grammar.ordered-list-refused, spec:carrier.markdown-body-grammar.plain-bullet-refused, spec:carrier.markdown-body-grammar.raw-html-refused, spec:carrier.markdown-body-grammar.repeated-field-refused, spec:carrier.markdown-body-grammar.second-primary-owner-refused, spec:carrier.markdown-body-grammar.shared-description-refused, spec:carrier.markdown-body-grammar.table-refused, spec:carrier.markdown-body-grammar.trailing-prose-refused, spec:carrier.markdown-body-grammar.unrecognized-heading-refused, spec:validation.kind-evidence.second-entry-untargeted

    Packs: pack:self-hosting-v1

  • spec:carrier.prose-ownership-rule

    Implementing units

    • impl:protocol.markdown-body-grammar · src/extract/markdown-body.ts:120

    Referencing units

    None.

    Enabled verifiers: test:protocol.prose-ownership

    Packs: pack:self-hosting-v1

  • spec:consumers.agent-surface.register-recipes

    Implementing units

    • impl:protocol.register-recipes · test/recipes.test.ts:2057

    Referencing units

    None.

    Enabled verifiers: test:protocol.register-recipes

    Packs: pack:self-hosting-v1

  • spec:consumers.authoring-on-ramp

    Implementing units

    • impl:protocol.authoring-on-ramp · test/skills.test.ts:76
    • impl:protocol.spec-scaffolder · src/cli/new-spec-command.ts:348

    Referencing units

    None.

    Enabled verifiers: test:protocol.authoring-on-ramp

    Packs: pack:self-hosting-v1

  • spec:consumers.design-slice

    Implementing units

    • impl:protocol.design-slice-recipe · test/self-hosting-design-slice.test.ts:148

    Referencing units

    • impl:protocol.studio-slice-answer · src/projections/studio/slice-answer.ts:1

    Enabled verifiers: spec:consumers.design-slice.chain, spec:consumers.design-slice.component-absent, spec:consumers.design-slice.component-differing, spec:consumers.design-slice.component-matching, spec:consumers.design-slice.component-unreadable, spec:consumers.design-slice.component-unrelated, spec:consumers.design-slice.decision-backlink, spec:consumers.design-slice.dependency-cycle, spec:consumers.design-slice.folded-example, spec:consumers.design-slice.independent-example, spec:consumers.design-slice.outside-components, spec:consumers.design-slice.outside-holding, spec:consumers.design-slice.outside-satisfied, spec:consumers.design-slice.outside-unbound, test:protocol.design-slice

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.graph-first-planning

    Implementing units

    • impl:protocol.graph-first-planning · test/skills.test.ts:290

    Referencing units

    None.

    Enabled verifiers: test:protocol.graph-first-planning

    Packs: pack:self-hosting-v1

  • spec:consumers.pack-design

    Implementing units

    • impl:protocol.pack-design · src/reader/reader.ts:499

    Referencing units

    None.

    Enabled verifiers: test:protocol.pack-design

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner

    Implementing units

    • impl:protocol.statement-queue-recipe · test/self-hosting-readiness-planner.test.ts:74

    Referencing units

    None.

    Enabled verifiers: spec:consumers.readiness-planner.cycle-shares-a-round, spec:consumers.readiness-planner.decision-first, spec:consumers.readiness-planner.dependency-order, spec:consumers.readiness-planner.owner-question-holds

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.roadmap

    Implementing units

    • impl:protocol.roadmap-recipe · test/roadmap.test.ts:20

    Referencing units

    None.

    Enabled verifiers: spec:consumers.roadmap.blocking-part, spec:consumers.roadmap.buildable-part, spec:consumers.roadmap.built-work, spec:consumers.roadmap.design-part, spec:consumers.roadmap.drifting-part, spec:consumers.roadmap.missing-evidence, spec:consumers.roadmap.outside-parent, spec:consumers.roadmap.statement-order, spec:consumers.roadmap.statement-part, test:protocol.roadmap-recipe

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.pack-page

    Implementing units

    • impl:protocol.studio-pack-page · src/projections/studio/pages/pack-page.ts:68

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap-priority, test:protocol.studio-pages

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.slice-page

    Implementing units

    • impl:protocol.studio-slice-page · src/projections/studio/pages/slice-page.ts:25

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.spec-page

    Implementing units

    • impl:protocol.studio-requirement-view · src/projections/studio/pages/requirement-view.ts:8
    • impl:protocol.studio-spec-page · src/projections/studio/pages/spec-page.ts:201
    • impl:protocol.studio-spec-structure · src/projections/studio/pages/spec-structure.ts:44

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.spec-page.cited-declaration, test:protocol.studio-architecture-maturity-requirement, test:protocol.studio-panels

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.spec-page.core

    Implementing units

    • impl:protocol.studio-spec-page · src/projections/studio/pages/spec-page.ts:201

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-pages

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.upgrade-kit.capability-adoption

    Implementing units

    • impl:protocol.capability-adoption-recipe · test/upgrade-kit.test.ts:514

    Referencing units

    None.

    Enabled verifiers: spec:consumers.upgrade-kit.capability-adoption.counts-a-corpus

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:model.open-question-fields.dropped-list-warns

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.open-question-fields.dropped-list-warns

    Packs: pack:self-hosting-v1

  • spec:validation.prose-mentions

    Implementing units

    • impl:protocol.entry-address-resolution · src/graph/entry-address.ts:6
    • impl:protocol.prose-mentions · src/validate/validators.ts:1370

    Referencing units

    None.

    Enabled verifiers: test:protocol.entry-locations, test:protocol.prose-mentions

    Packs: pack:self-hosting-v1

Distance 2

  • spec:carrier.inline-code-spans

    Implementing units

    • impl:protocol.inline-code-spans · src/extract/markdown-inline-code.ts:4

    Referencing units

    None.

    Enabled verifiers: spec:carrier.inline-code-spans.description, spec:carrier.inline-code-spans.list, spec:carrier.inline-code-spans.narrative, spec:carrier.inline-code-spans.pack

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.continuation-line-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.continuation-line-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.foreign-fence-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.foreign-fence-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.h3-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.h3-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.integer-term-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.integer-term-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.keyed-bullet-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.keyed-bullet-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.ordered-list-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.ordered-list-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.plain-bullet-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.plain-bullet-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.raw-html-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.raw-html-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.repeated-field-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.repeated-field-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.second-primary-owner-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.second-primary-owner-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.shared-description-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.shared-description-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.table-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.table-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.trailing-prose-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.trailing-prose-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.unrecognized-heading-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.unrecognized-heading-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-parser

    Implementing units

    • impl:protocol.markdown-parser · src/extract/markdown.ts:37
    • impl:protocol.static-reification · src/extract/reify.ts:2139

    Referencing units

    None.

    Enabled verifiers: spec:carrier.markdown-parser.bounded-parity, test:protocol.markdown-parser

    Packs: pack:self-hosting-v1

  • spec:consumers.adopter-on-ramp

    Implementing units

    • impl:protocol.adopter-help · src/cli/help.ts:167
    • impl:protocol.adopter-on-ramp · test/skills.test.ts:712

    Referencing units

    None.

    Enabled verifiers: test:protocol.adopter-on-ramp, test:protocol.shipped-protocol-corpus

    Packs: pack:self-hosting-v1

  • spec:consumers.agent-surface.address-and-cycle-recipes

    Implementing units

    • impl:protocol.address-and-cycle-recipes · test/recipes.test.ts:3568

    Referencing units

    None.

    Enabled verifiers: spec:consumers.agent-surface.address-and-cycle-recipes.chain-reports-nothing, spec:consumers.agent-surface.address-and-cycle-recipes.cycle-fails-a-rules-run, spec:consumers.agent-surface.address-and-cycle-recipes.unresolved-address-fails-a-rules-run, test:protocol.address-and-cycle-recipes

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.agent-surface.design-recipes

    Implementing units

    • impl:protocol.design-recipes · test/recipes.test.ts:4769

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-recipes

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.delivery-session-on-ramp

    Implementing units

    • impl:protocol.delivery-session-on-ramp · test/skills.test.ts:83

    Referencing units

    None.

    Enabled verifiers: test:protocol.delivery-session-on-ramp

    Packs: pack:self-hosting-v1

  • spec:consumers.design-review.pack-design-page

    Implementing units

    • impl:protocol.pack-design-page · src/projections/design-review-pages.ts:120

    Referencing units

    • impl:protocol.pack-design-sections · src/projections/design-review-pack-sections.ts:19

    Enabled verifiers: test:protocol.pack-design-page

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.chain

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.chain

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-absent

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-absent

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-differing

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-differing

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-matching

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-matching

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-unreadable

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-unreadable

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-unrelated

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-unrelated

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.decision-backlink

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.decision-backlink

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.dependency-cycle

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.dependency-cycle

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.folded-example

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.folded-example

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.independent-example

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.independent-example

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-components

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-components

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-holding

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-holding

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-satisfied

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-satisfied

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-unbound

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-unbound

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.bases

    Implementing units

    • impl:protocol.vault-bases · src/projections/vault/bases.ts:43
    • impl:protocol.vault-notes · src/projections/vault/notes.ts:45

    Referencing units

    None.

    Enabled verifiers: spec:consumers.obsidian-vault.bases.views-match-sources

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.notes

    Implementing units

    • impl:protocol.vault-notes · src/projections/vault/notes.ts:45
    • impl:protocol.vault-sections · src/projections/vault/sections.ts:10
    • impl:protocol.vault-text · src/projections/vault/text.ts:30

    Referencing units

    None.

    Enabled verifiers: spec:consumers.obsidian-vault.notes.case-collision-refused, spec:consumers.obsidian-vault.notes.entry-address-link, spec:consumers.obsidian-vault.notes.term-address-link, spec:consumers.obsidian-vault.notes.unresolved-mention-stays, test:protocol.vault-priority

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.projections-model.roadmap-views

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.cycle-shares-a-round

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.cycle-shares-a-round

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.decision-first

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.decision-first

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.dependency-order

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.dependency-order

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.owner-question-holds

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.owner-question-holds

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.review-perspectives

    Implementing units

    • impl:protocol.perspective-filter-recipe · test/iteration-recipes.test.ts:753

    Referencing units

    None.

    Enabled verifiers: test:protocol.perspective-filter-recipe

    Packs: pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.blocking-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.blocking-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.buildable-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.buildable-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.built-work

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.built-work

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.design-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.design-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.drifting-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.drifting-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.memo

    Implementing units

    • impl:protocol.roadmap-memo-recipe · test/roadmap.test.ts:27
    • impl:protocol.studio-roadmap-page · src/projections/studio/pages/roadmap-page.ts:168

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap-memo-recipe, test:protocol.studio-roadmap-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.missing-evidence

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.missing-evidence

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.outside-parent

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.outside-parent

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.statement-order

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.statement-order

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.statement-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.statement-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.shipped-protocol-corpus

    Implementing units

    • impl:protocol.shipped-protocol-corpus · test/package-smoke.test.ts:252

    Referencing units

    None.

    Enabled verifiers: test:protocol.shipped-protocol-corpus

    Packs: pack:self-hosting-v1

  • spec:consumers.spec-studio.data

    Implementing units

    • impl:protocol.studio-data · src/projections/studio/data.ts:279

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-data

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.diagram-kinds.dependency

    Implementing units

    • impl:protocol.studio-slice-dependencies · src/projections/studio/diagrams/slice.ts:10

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-dependency

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.scoped-architecture

    Implementing units

    • impl:protocol.studio-slice-architecture · src/projections/studio/diagrams/slice.ts:219

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-architecture

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.export

    Implementing units

    • impl:protocol.studio-diagram-element · src/studio-elements/diagram.ts:23
    • impl:protocol.studio-expander · src/studio-elements/expander.ts:16
    • impl:protocol.studio-pack-export · src/projections/studio/pages/export-page.ts:35
    • impl:protocol.studio-pack-page · src/projections/studio/pages/pack-page.ts:68

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.export.self-contained, test:protocol.studio-intent-handoff

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.glossary-page

    Implementing units

    • impl:protocol.studio-glossary · src/projections/studio/pages/glossary-page.ts:7

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.glossary-page.same-word-twice

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.owner-queue

    Implementing units

    • impl:protocol.studio-owner-queue · src/projections/studio/pages/queue-page.ts:9

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.owner-queue.dependency-first

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.pack-page.maturity-map

    Implementing units

    • impl:protocol.studio-maturity-map · src/projections/studio/pages/maturity-map.ts:7

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-maturity-requirement, test:protocol.studio-panels

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.registers

    Implementing units

    • impl:protocol.studio-registers · src/projections/studio/pages/registers-page.ts:47

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.registers.blocking-first

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.roadmap-page

    Implementing units

    • impl:protocol.studio-roadmap-page · src/projections/studio/pages/roadmap-page.ts:168

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-roadmap-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.shell

    Implementing units

    • impl:protocol.studio-code-spans · src/projections/studio/pages/code-spans.ts:9
    • impl:protocol.studio-frame · src/projections/studio/pages/frame.ts:6
    • impl:protocol.studio-html · src/projections/studio/pages/html.ts:8
    • impl:protocol.studio-text · src/projections/studio/pages/text.ts:7

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-pages

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.spec-page.cited-declaration

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-cited-declaration

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.verification-panels

    Implementing units

    • impl:protocol.studio-run-rows · src/projections/studio/pages/run-rows.ts:69
    • impl:protocol.studio-verification-panels · src/projections/studio/pages/spec-verification.ts:74

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.verification-panels.rule-coverage, test:protocol.studio-panels

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.upgrade-kit

    Implementing units

    • impl:protocol.upgrade-guide · test/upgrade-kit.test.ts:87

    Referencing units

    None.

    Enabled verifiers: test:protocol.upgrade-guide

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.capability-adoption.counts-a-corpus

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.capability-adoption.counts-a-corpus

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.validate-watch

    Implementing units

    • impl:protocol.validate-watch · src/cli/validate-watch.ts:591

    Referencing units

    None.

    Enabled verifiers: test:protocol.validate-watch, test:protocol.validate-watch-rules

    Packs: pack:adopter-speed-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:decisions.pack-design-page

    Implementing units

    None.

    Referencing units

    • impl:protocol.pack-design-page · src/projections/design-review-pages.ts:120

    Enabled verifiers: None

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:decisions.prose-ownership

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:extraction.entry-citations

    Implementing units

    • impl:protocol.entry-address-resolution · src/graph/entry-address.ts:6
    • impl:protocol.entry-citation-reader · src/reader/entry-citations.ts:19
    • impl:protocol.entry-citation-recipe · test/recipes.test.ts:7008
    • impl:protocol.entry-citation-scan · src/extract/entry-citations.ts:6

    Referencing units

    None.

    Enabled verifiers: spec:extraction.entry-citations.code-comment-cites-declaration, spec:extraction.entry-citations.test-title-cites-declaration, spec:extraction.entry-citations.unanchored-file-unread, spec:extraction.entry-citations.unresolved-citation

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:model.design-maturity

    Implementing units

    • impl:protocol.pack-design · src/reader/reader.ts:499

    Referencing units

    None.

    Enabled verifiers: test:protocol.pack-design

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:model.open-question-keys

    Implementing units

    • impl:protocol.open-question-keys · src/extract/markdown-body-owner-behavior.ts:38
    • impl:protocol.open-section-order · src/extract/serialize.ts:105
    • impl:protocol.prose-mentions · src/validate/validators.ts:1370
    • impl:protocol.register-recipes · test/recipes.test.ts:2057
    • impl:protocol.sdp-import-markdown-emit · src/import/emit-markdown.ts:253
    • impl:protocol.stable-ids · src/ids.ts:173
    • impl:protocol.static-reification · src/extract/reify.ts:2139

    Referencing units

    None.

    Enabled verifiers: spec:model.open-question-keys.keyed-question-resolves, spec:model.open-question-keys.renamed-key-breaks, spec:model.open-question-keys.repeated-key-refused

    Packs: pack:self-hosting-v1

  • spec:protocol.roadmap-replaces-plans

    Implementing units

    • impl:protocol.roadmap-practice · test/check-self-hosting-gates.test.ts:52

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap-practice

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:validation.external-registers

    Implementing units

    • impl:protocol.external-registers-recipe · test/external-registers.test.ts:9

    Referencing units

    None.

    Enabled verifiers: spec:validation.external-registers.uncited-on-request, spec:validation.external-registers.unknown-and-retired

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

Distance 3

  • spec:carrier.gherkin-authoring

    Implementing units

    • impl:protocol.gherkin-authoring · src/extract/gherkin.ts:1323
    • impl:protocol.gherkin-kind-policy · src/extract/gherkin-kind-honesty.ts:6

    Referencing units

    None.

    Enabled verifiers: spec:carrier.gherkin-authoring.authored-fact-refused, spec:carrier.gherkin-authoring.contract-parity, spec:carrier.gherkin-authoring.description-location-refused, spec:carrier.gherkin-authoring.duplicate-surface-refused, spec:carrier.gherkin-authoring.example-space-extraction, spec:carrier.gherkin-authoring.malformed-relation-refused, spec:carrier.gherkin-authoring.missing-id-refused, spec:carrier.gherkin-authoring.multi-finding-bounded, spec:carrier.gherkin-authoring.parent-child-extraction, spec:carrier.gherkin-authoring.step-less-scenario-refused, spec:carrier.gherkin-authoring.unbound-ready-refused, spec:carrier.gherkin-authoring.unknown-tag-refused, spec:carrier.gherkin-authoring.unsupported-construct-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.inline-code-spans.description

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.inline-code-spans.description

    Packs: pack:self-hosting-v1

  • spec:carrier.inline-code-spans.list

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.inline-code-spans.list

    Packs: pack:self-hosting-v1

  • spec:carrier.inline-code-spans.narrative

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.inline-code-spans.narrative

    Packs: pack:self-hosting-v1

  • spec:carrier.inline-code-spans.pack

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.inline-code-spans.pack

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-authoring

    Implementing units

    • impl:protocol.markdown-parser · src/extract/markdown.ts:37

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-authoring

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-pack-authoring

    Implementing units

    • impl:protocol.markdown-pack-authoring · src/extract/markdown-pack.ts:117
    • impl:protocol.markdown-yaml-policy · src/extract/markdown-yaml-policy.ts:33
    • impl:protocol.static-reification · src/extract/reify.ts:2139

    Referencing units

    None.

    Enabled verifiers: spec:carrier.markdown-pack-authoring.markdown-ts-parity, spec:carrier.markdown-pack-authoring.spec-envelope-refused, test:protocol.roadmap-priority

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-parser.bounded-parity

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-parser.bounded-parity

    Packs: pack:self-hosting-v1

  • spec:consumers.agent-surface.address-and-cycle-recipes.chain-reports-nothing

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.agent-surface.address-and-cycle-recipes.chain-reports-nothing

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.agent-surface.address-and-cycle-recipes.cycle-fails-a-rules-run

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.agent-surface.address-and-cycle-recipes.cycle-fails-a-rules-run

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.agent-surface.address-and-cycle-recipes.unresolved-address-fails-a-rules-run

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.agent-surface.address-and-cycle-recipes.unresolved-address-fails-a-rules-run

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.agent-surface.answer-shapes

    Implementing units

    • impl:protocol.answer-shape-recipes · test/recipes.test.ts:6214

    Referencing units

    • impl:protocol.authoring-grammar-recipes · test/recipes.test.ts:6597
    • impl:protocol.reader · src/reader/reader.ts:687

    Enabled verifiers: test:protocol.answer-shape-recipes

    Packs: pack:design-iteration-v1, pack:self-hosting-v1

  • spec:consumers.agent-surface.example-space-coverage

    Implementing units

    • impl:protocol.example-space-coverage-recipe · test/studio-s1.test.ts:856
    • impl:protocol.example-space-decoding · src/notation/example-space.ts:473

    Referencing units

    None.

    Enabled verifiers: spec:consumers.agent-surface.example-space-coverage.number-not-enumerable, spec:consumers.agent-surface.example-space-coverage.uncovered-literal

    Packs: pack:design-management-v1, pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.command-line

    Implementing units

    • impl:protocol.adopter-help · src/cli/help.ts:167
    • impl:protocol.agent-surface-cli · src/cli/sdp.ts:94
    • impl:protocol.build-args · src/cli/build-args.ts:11
    • impl:protocol.generate-command · src/cli/generate-command.ts:34

    Referencing units

    None.

    Enabled verifiers: spec:consumers.command-line.generate-check-failure, spec:consumers.command-line.generate-writes-every-root, spec:consumers.command-line.verb-help-touches-nothing

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.context-bundle

    Implementing units

    • impl:protocol.context-bundle-recipe · test/iteration-recipes.test.ts:765

    Referencing units

    None.

    Enabled verifiers: spec:consumers.context-bundle.oversized-member-named, spec:consumers.context-bundle.parts-cover-the-pack, test:protocol.context-bundle-recipe

    Packs: pack:adopter-speed-v1, pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.engine-provenance

    Implementing units

    • impl:protocol.build-artifacts · src/cli/build-artifacts.ts:182
    • impl:protocol.engine-provenance-cli · src/cli/sdp.ts:102

    Referencing units

    None.

    Enabled verifiers: test:protocol.engine-provenance

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.gherkin-view

    Implementing units

    • impl:protocol.gherkin-kind-policy · src/extract/gherkin-kind-honesty.ts:6
    • impl:protocol.gherkin-view · src/projections/gherkin-view.ts:19
    • impl:protocol.gherkin-view-cli · src/cli/gherkin-command.ts:66

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-view

    Packs: pack:self-hosting-v1

  • spec:consumers.intent-composition.proposal

    Implementing units

    • impl:protocol.proposal-schema-and-recipe · test/iteration-recipes.test.ts:1510
    • impl:protocol.studio-proposal-contract · src/studio-elements/proposal.ts:1

    Referencing units

    None.

    Enabled verifiers: test:protocol.proposal-schema-and-recipe

    Packs: pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.bases.views-match-sources

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.bases.views-match-sources

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.iteration

    Implementing units

    • impl:protocol.vault-sync · src/projections/vault/sync.ts:98
    • impl:protocol.vault-text · src/projections/vault/text.ts:30
    • impl:protocol.vault-watch · src/cli/vault-command.ts:219

    Referencing units

    None.

    Enabled verifiers: spec:consumers.obsidian-vault.iteration.watch-rewrites-changed-notes, spec:consumers.obsidian-vault.iteration.watch-source-anchor

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.notes.case-collision-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.notes.case-collision-refused

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.notes.entry-address-link

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.notes.entry-address-link

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.notes.term-address-link

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.notes.term-address-link

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.notes.unresolved-mention-stays

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.notes.unresolved-mention-stays

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.cited-line-text

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmap, pack:self-hosting-v1

  • spec:consumers.spec-studio.components

    Implementing units

    • component:protocol.studio-elements · src/studio-elements/index.ts:13
    • impl:protocol.studio-compose · src/studio-elements/compose.ts:13
    • impl:protocol.studio-diagram-element · src/studio-elements/diagram.ts:23
    • impl:protocol.studio-filter · src/studio-elements/filter.ts:25
    • impl:protocol.studio-intent-panel-element · src/studio-elements/intent-panel-element.ts:14
    • impl:protocol.studio-maturity-map · src/projections/studio/pages/maturity-map.ts:7
    • impl:protocol.studio-pack-page · src/projections/studio/pages/pack-page.ts:68
    • impl:protocol.studio-scenario-editor · src/studio-elements/scenario-editor.ts:17
    • impl:protocol.studio-search-results · src/studio-elements/search-results.ts:95
    • impl:protocol.studio-spec-structure · src/projections/studio/pages/spec-structure.ts:44
    • impl:protocol.studio-verification-panels · src/projections/studio/pages/spec-verification.ts:74

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-intent-handoff

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.data.inputs

    Implementing units

    • impl:protocol.studio-base-input · src/cli/studio-inputs.ts:9
    • impl:protocol.studio-command · src/cli/studio-command.ts:106
    • impl:protocol.studio-inputs · src/projections/studio/inputs.ts:1

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.data.inputs.both-given, spec:consumers.spec-studio.data.inputs.graph-only

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.data.recipe-answers

    Implementing units

    • impl:protocol.studio-recipes · src/projections/studio/recipes.ts:34

    Referencing units

    • impl:protocol.studio-register-contracts · src/projections/studio/pages/register-answers.ts:4

    Enabled verifiers: test:protocol.studio-lenses

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.diagram-kinds.requirement-trace

    Implementing units

    • impl:protocol.studio-requirement-diagram · src/projections/studio/diagrams/requirement.ts:12
    • impl:protocol.studio-requirement-view · src/projections/studio/pages/requirement-view.ts:8

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-maturity-requirement, test:protocol.studio-diagram-core

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagrams

    Implementing units

    • impl:protocol.studio-architecture-diagrams · src/projections/studio/diagrams/architecture.ts:4
    • impl:protocol.studio-diagram-element · src/studio-elements/diagram.ts:23
    • impl:protocol.studio-diagram-model · src/projections/studio/diagrams/model.ts:1
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73
    • impl:protocol.studio-relation-diagrams · src/projections/studio/diagrams/bands.ts:10

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.diagrams.folds-by-context, spec:consumers.spec-studio.diagrams.folds-by-layer, spec:consumers.spec-studio.diagrams.within-bound, test:protocol.studio-diagram-core

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.export.self-contained

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-export-contained

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.glossary-page.same-word-twice

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-glossary-same-word-twice

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.index-page

    Implementing units

    • impl:protocol.studio-index-page · src/projections/studio/pages/index-page.ts:8

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-pages

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.intent-panel

    Implementing units

    • impl:protocol.studio-compose · src/studio-elements/compose.ts:13
    • impl:protocol.studio-frame · src/projections/studio/pages/frame.ts:6
    • impl:protocol.studio-intent-panel · src/studio-elements/intent-panel.ts:51
    • impl:protocol.studio-intent-panel-element · src/studio-elements/intent-panel-element.ts:14
    • impl:protocol.studio-scenario-editor · src/studio-elements/scenario-editor.ts:17

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.intent-panel.refresh-keeps-intents, test:protocol.studio-intent-handoff

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses

    Implementing units

    • impl:protocol.studio-architecture-lens · src/projections/studio/pages/architecture-page.ts:50
    • impl:protocol.studio-evidence-lens · src/projections/studio/pages/evidence-page.ts:3
    • impl:protocol.studio-frame · src/projections/studio/pages/frame.ts:6
    • impl:protocol.studio-tests-lens · src/projections/studio/pages/tests-page.ts:34

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-lenses

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.navigation

    Implementing units

    • impl:protocol.studio-frame · src/projections/studio/pages/frame.ts:6
    • impl:protocol.studio-index-page · src/projections/studio/pages/index-page.ts:8

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-navigation, test:protocol.studio-roadmap-page

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.owner-queue.dependency-first

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-queue-dependency-first

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.page-elements

    Implementing units

    • component:protocol.studio-elements · src/studio-elements/index.ts:13
    • impl:protocol.studio-copy · src/studio-elements/copy.ts:22
    • impl:protocol.studio-expander · src/studio-elements/expander.ts:16
    • impl:protocol.studio-filter · src/studio-elements/filter.ts:25
    • impl:protocol.studio-search-form · src/studio-elements/search.ts:18
    • impl:protocol.studio-search-results · src/studio-elements/search-results.ts:95
    • impl:protocol.studio-stamp · src/studio-elements/stamp.ts:30

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-copy-source, test:protocol.studio-page-elements

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.publisher

    Implementing units

    • impl:protocol.build-pipeline-emit · src/cli/build-command.ts:251
    • impl:protocol.studio-command · src/cli/studio-command.ts:106
    • impl:protocol.studio-page-catalog · src/projections/studio/pages/index.ts:21
    • impl:protocol.studio-paths · src/projections/studio/paths.ts:2
    • impl:protocol.studio-publish · src/projections/studio/publish.ts:24

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-data, test:protocol.studio-publisher

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.publisher.watch

    Implementing units

    • impl:protocol.studio-watch · src/cli/studio-command.ts:122

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.publisher.watch.matches-plain-run

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.register-input

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmap, pack:self-hosting-v1

  • spec:consumers.spec-studio.registers.blocking-first

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-registers-blocking-first

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.search

    Implementing units

    • impl:protocol.studio-concept-match · src/reader/concept-match.ts:43
    • impl:protocol.studio-search-page · src/projections/studio/pages/search-page.ts:5
    • impl:protocol.studio-search-results · src/studio-elements/search-results.ts:95

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-concept-match, test:protocol.studio-page-elements, test:protocol.studio-pages

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.verification-panels.rule-coverage

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-rule-coverage

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.studio-on-ramp

    Implementing units

    • impl:protocol.studio-on-ramp · test/skills.test.ts:1693

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-on-ramp

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.upgrade-kit.rule-key-proposal

    Implementing units

    • impl:protocol.rule-key-proposal-recipe · test/upgrade-kit.test.ts:742

    Referencing units

    None.

    Enabled verifiers: spec:consumers.upgrade-kit.rule-key-proposal.collision-and-unkeyable, spec:consumers.upgrade-kit.rule-key-proposal.proposal-applies-clean

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.vault-on-ramp

    Implementing units

    • impl:protocol.vault-on-ramp · test/skills.test.ts:1995

    Referencing units

    None.

    Enabled verifiers: test:protocol.vault-on-ramp

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:decisions.carrier-universality

    Implementing units

    None.

    Referencing units

    • impl:protocol.gherkin-kind-policy · src/extract/gherkin-kind-honesty.ts:6

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.question-key-rendering

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:extraction.contract-declarations

    Implementing units

    • impl:protocol.pack-design · src/reader/reader.ts:499
    • impl:protocol.register-recipes · test/recipes.test.ts:2057

    Referencing units

    None.

    Enabled verifiers: test:protocol.register-recipes

    Packs: pack:self-hosting-v1

  • spec:extraction.entry-citations.code-comment-cites-declaration

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.entry-citations.code-comment-cites-declaration

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:extraction.entry-citations.test-title-cites-declaration

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.entry-citations.test-title-cites-declaration

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:extraction.entry-citations.unanchored-file-unread

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.entry-citations.unanchored-file-unread

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:extraction.entry-citations.unresolved-citation

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.entry-citations.unresolved-citation

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:extraction.entry-locations

    Implementing units

    • impl:protocol.entry-location-recipes · test/recipes.test.ts:5979
    • impl:protocol.entry-locations · src/extract/derive.ts:78
    • impl:protocol.reader · src/reader/reader.ts:687

    Referencing units

    • impl:protocol.pack-design · src/reader/reader.ts:499

    Enabled verifiers: test:protocol.entry-locations

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:model.open-question-keys.keyed-question-resolves

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.open-question-keys.keyed-question-resolves

    Packs: pack:self-hosting-v1

  • spec:model.open-question-keys.renamed-key-breaks

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.open-question-keys.renamed-key-breaks

    Packs: pack:self-hosting-v1

  • spec:model.open-question-keys.repeated-key-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.open-question-keys.repeated-key-refused

    Packs: pack:self-hosting-v1

  • spec:model.relation-reasons

    Implementing units

    • impl:protocol.authoring-grammar-recipes · test/recipes.test.ts:6597
    • impl:protocol.authoring-normalization · src/extract/authoring-normalization.ts:8

    Referencing units

    None.

    Enabled verifiers: test:protocol.authoring-grammar, test:protocol.authoring-grammar-recipes

    Packs: pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:model.rule-keys

    Implementing units

    • impl:protocol.authoring-grammar-recipes · test/recipes.test.ts:6597
    • impl:protocol.authoring-normalization · src/extract/authoring-normalization.ts:8
    • impl:protocol.rule-exercises · src/validate/validators.ts:1479

    Referencing units

    None.

    Enabled verifiers: test:protocol.authoring-grammar, test:protocol.authoring-grammar-recipes

    Packs: pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:protocol.delivery-record-cleanup

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmap, pack:self-hosting-v1

  • spec:validation.corpus-rules

    Implementing units

    • impl:protocol.corpus-rule-runner · src/cli/corpus-rules.ts:65
    • impl:protocol.corpus-rules · src/cli/validate-view-command.ts:79
    • impl:protocol.validate-watch · src/cli/validate-watch.ts:591

    Referencing units

    None.

    Enabled verifiers: spec:consumers.agent-surface.address-and-cycle-recipes.cycle-fails-a-rules-run, spec:consumers.agent-surface.address-and-cycle-recipes.unresolved-address-fails-a-rules-run, spec:validation.corpus-rules.copies-contain-changes, spec:validation.corpus-rules.error-finding-fails, spec:validation.corpus-rules.malformed-finding-fails, spec:validation.corpus-rules.params-edit-starts-a-cycle, spec:validation.corpus-rules.rules-edit-starts-a-cycle, spec:validation.corpus-rules.unreadable-params-fail-one-file, spec:validation.corpus-rules.warning-finding-informs

    Packs: pack:adopter-speed-v1, pack:corpus-checks-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:validation.duplicate-ids

    Implementing units

    • impl:protocol.duplicate-id-exclusion · src/extract/index.ts:93
    • impl:protocol.duplicate-ids · src/validate/validators.ts:263

    Referencing units

    None.

    Enabled verifiers: spec:validation.duplicate-ids.dual-carrier

    Packs: pack:self-hosting-v1

  • spec:validation.external-registers.uncited-on-request

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.external-registers.uncited-on-request

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:validation.external-registers.unknown-and-retired

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.external-registers.unknown-and-retired

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

Distance 4

  • spec:carrier.envelope-contract

    Implementing units

    • impl:protocol.envelope-contract · src/extract/markdown-frontmatter.ts:33
    • impl:protocol.markdown-yaml-policy · src/extract/markdown-yaml-policy.ts:33

    Referencing units

    None.

    Enabled verifiers: test:protocol.envelope-contract

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.authored-fact-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.authored-fact-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.contract-parity

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.contract-parity

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.description-location-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.description-location-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.duplicate-surface-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.duplicate-surface-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.example-space-extraction

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.example-space-extraction

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.malformed-relation-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.malformed-relation-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.missing-id-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.missing-id-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.multi-finding-bounded

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.multi-finding-bounded

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.parent-child-extraction

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.parent-child-extraction

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.step-less-scenario-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.step-less-scenario-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.unbound-ready-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.unbound-ready-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.unknown-tag-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.unknown-tag-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.unsupported-construct-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.unsupported-construct-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-pack-authoring.markdown-ts-parity

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-pack-authoring.markdown-ts-parity

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-pack-authoring.spec-envelope-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-pack-authoring.spec-envelope-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.sdp-import

    Implementing units

    • component:protocol.import · src/import/import.ts:45
    • impl:protocol.import-fidelity · src/import/markdown-fidelity.ts:102
    • impl:protocol.sdp-import · src/cli/import-command.ts:71
    • impl:protocol.sdp-import-core · src/import/import.ts:58
    • impl:protocol.sdp-import-markdown-emit · src/import/emit-markdown.ts:253
    • impl:protocol.sdp-import-publish · src/cli/import-publish.ts:23
    • impl:protocol.sdp-import-scan · src/cli/import-scan.ts:62

    Referencing units

    None.

    Enabled verifiers: spec:carrier.sdp-import.round-trip

    Packs: pack:self-hosting-v1

  • spec:carrier.slot-notation

    Implementing units

    • component:protocol.notation · src/notation/slots.ts:261
    • impl:protocol.slot-notation · src/notation/slots.ts:269

    Referencing units

    None.

    Enabled verifiers: spec:carrier.slot-notation.one-literal-binding, spec:carrier.slot-notation.refused-guess, spec:carrier.slot-notation.typed-declaration

    Packs: pack:self-hosting-v1

  • spec:consumers.agent-surface.example-space-coverage.number-not-enumerable

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-coverage-number

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.agent-surface.example-space-coverage.uncovered-literal

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-coverage-literal

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.command-line.generate-check-failure

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.command-line.generate-check-failure

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.command-line.generate-writes-every-root

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.command-line.generate-writes-every-root

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.command-line.verb-help-touches-nothing

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.command-line.verb-help-touches-nothing

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.context-bundle.oversized-member-named

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.context-bundle.oversized-member-named

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.context-bundle.parts-cover-the-pack

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.context-bundle.parts-cover-the-pack

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.design-review

    Implementing units

    • impl:protocol.design-review · src/projections/design-review.ts:44
    • impl:protocol.design-review-codec · src/projections/design-review-markdown.ts:3

    Referencing units

    None.

    Enabled verifiers: spec:consumers.design-review.pure-projection

    Packs: pack:self-hosting-v1

  • spec:consumers.intent-composition.proposal.memo

    Implementing units

    • impl:protocol.proposal-memo-recipe · test/recipes.test.ts:7298
    • impl:protocol.studio-proposal-memo · src/studio-elements/memo.ts:13

    Referencing units

    None.

    Enabled verifiers: spec:consumers.intent-composition.proposal.memo.shared

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.obsidian-vault.iteration.watch-rewrites-changed-notes

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.iteration.watch-rewrites-changed-notes

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.iteration.watch-source-anchor

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.iteration.watch-source-anchor

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.capability-map-page

    Implementing units

    • impl:protocol.studio-capabilities-page · src/projections/studio/pages/capabilities-page.ts:78
    • impl:protocol.studio-filter · src/studio-elements/filter.ts:25
    • impl:protocol.studio-frame · src/projections/studio/pages/frame.ts:6
    • impl:protocol.studio-index-page · src/projections/studio/pages/index-page.ts:8

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-capabilities

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.data.inputs.both-given

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-inputs-both-given

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.data.inputs.graph-only

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-graph-only

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.diagram-kinds

    Implementing units

    • impl:protocol.studio-architecture-lens · src/projections/studio/pages/architecture-page.ts:50
    • impl:protocol.studio-capability-diagrams · src/projections/studio/diagrams/capability.ts:101
    • impl:protocol.studio-diagram-layout · src/projections/studio/diagrams/layout.ts:140
    • impl:protocol.studio-diagram-source · src/projections/studio/diagrams/mermaid.ts:13
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73
    • impl:protocol.studio-maturity-map · src/projections/studio/pages/maturity-map.ts:7
    • impl:protocol.studio-requirement-diagram · src/projections/studio/diagrams/requirement.ts:12
    • impl:protocol.studio-slice-architecture · src/projections/studio/diagrams/slice.ts:219
    • impl:protocol.studio-slice-dependencies · src/projections/studio/diagrams/slice.ts:10

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-catalog

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.edge-routing

    Implementing units

    • impl:protocol.studio-diagram-routing · src/projections/studio/diagrams/routing.ts:38
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-core

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.legibility

    Implementing units

    • impl:protocol.studio-diagram-element · src/studio-elements/diagram.ts:23
    • impl:protocol.studio-diagram-layout · src/projections/studio/diagrams/layout.ts:140
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-core

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.mermaid-source

    Implementing units

    • impl:protocol.studio-diagram-source · src/projections/studio/diagrams/mermaid.ts:13
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-core

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagrams.folds-by-context

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-folds-context

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.diagrams.folds-by-layer

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-folds-layer

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.diagrams.within-bound

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-within-bound

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.diff-page

    Implementing units

    • impl:protocol.studio-diff · src/projections/studio/pages/diff-page.ts:91

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.diff-page.changed-entry, test:protocol.roadmap-priority

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.intent-panel.refresh-keeps-intents

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-intents-refresh

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.architecture

    Implementing units

    • impl:protocol.studio-architecture-lens · src/projections/studio/pages/architecture-page.ts:50

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.lenses.architecture.planned-apart, test:protocol.studio-architecture-maturity-requirement

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.evidence

    Implementing units

    • impl:protocol.studio-evidence-lens · src/projections/studio/pages/evidence-page.ts:3

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-lenses

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.packs

    Implementing units

    • impl:protocol.studio-index-page · src/projections/studio/pages/index-page.ts:8

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-lenses

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.tests

    Implementing units

    • impl:protocol.studio-tests-lens · src/projections/studio/pages/tests-page.ts:34

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.lenses.tests.coverage-row

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.publisher.watch.matches-plain-run

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-watch-plain

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.runs-page

    Implementing units

    • impl:protocol.studio-run-rows · src/projections/studio/pages/run-rows.ts:69
    • impl:protocol.studio-runs-page · src/projections/studio/pages/runs-page.ts:6

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.runs-page.external-evidence

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.sharing

    Implementing units

    • impl:protocol.stamp-command · src/cli/stamp-command.ts:8
    • impl:protocol.studio-preview-workflow · test/studio-s4.test.ts:742
    • impl:protocol.studio-stamp · src/studio-elements/stamp.ts:30

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.sharing.stamp-written-apart

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.upgrade-kit.rule-key-proposal.collision-and-unkeyable

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.rule-key-proposal.collision-and-unkeyable

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.rule-key-proposal.proposal-applies-clean

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.rule-key-proposal.proposal-applies-clean

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:decisions.carrier-ruling

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.sdp-ts-extension

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:extraction.pack-member-order

    Implementing units

    • impl:protocol.markdown-yaml-policy · src/extract/markdown-yaml-policy.ts:33
    • impl:protocol.open-section-order · src/extract/serialize.ts:105
    • impl:protocol.pack-coherence · src/validate/validators.ts:1102
    • impl:protocol.pack-design-page · src/projections/design-review-pages.ts:120
    • impl:protocol.pack-member-order · src/extract/derive.ts:153
    • impl:protocol.reader · src/reader/reader.ts:687

    Referencing units

    None.

    Enabled verifiers: spec:extraction.pack-member-order.manifest-order-kept, test:protocol.roadmap-priority

    Packs: pack:self-hosting-v1

  • spec:model.enrichment-lifecycle

    Implementing units

    • impl:protocol.slimming-recipe · test/curation-recipes.test.ts:26

    Referencing units

    None.

    Enabled verifiers: test:protocol.slimming-recipe

    Packs: pack:design-iteration-v1, pack:self-hosting-v1

  • spec:model.term-addresses

    Implementing units

    • impl:protocol.address-and-cycle-recipes · test/recipes.test.ts:3568
    • impl:protocol.entry-locations · src/extract/derive.ts:78
    • impl:protocol.key-markers · src/extract/key-markers.ts:136
    • impl:protocol.open-section-order · src/extract/serialize.ts:105
    • impl:protocol.prose-mentions · src/validate/validators.ts:1370
    • impl:protocol.register-recipes · test/recipes.test.ts:2057
    • impl:protocol.sdp-import-markdown-emit · src/import/emit-markdown.ts:253
    • impl:protocol.spec-sections · src/model/sections.ts:138
    • impl:protocol.stable-ids · src/ids.ts:173

    Referencing units

    None.

    Enabled verifiers: spec:model.term-addresses.keyed-term-resolves, spec:model.term-addresses.malformed-term-marker-refused, spec:model.term-addresses.repeated-term-key-refused, spec:model.term-addresses.typescript-term-imports-keyed, spec:model.term-addresses.unknown-term-key-refused, test:protocol.keyed-content

    Packs: pack:adopter-speed-v1, pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:protocol.self-hosting

    Implementing units

    • impl:protocol.self-hosting · test/self-hosting-graph.test.ts:136

    Referencing units

    None.

    Enabled verifiers: test:protocol.self-hosting

    Packs: pack:self-hosting-v1

  • spec:validation.architecture-constraints

    Implementing units

    • impl:protocol.architecture-walk-recipe · test/architecture-recipes.test.ts:10

    Referencing units

    None.

    Enabled verifiers: spec:validation.architecture-constraints.forbidden-layer-pair, spec:validation.architecture-constraints.isolated-context-as-rule, spec:validation.architecture-constraints.unstated-layer-unclassified

    Packs: pack:corpus-checks-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:validation.corpus-rules.copies-contain-changes

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.corpus-rules.copies-contain-changes

    Packs: pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.corpus-rules.error-finding-fails

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.corpus-rules.error-finding-fails

    Packs: pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.corpus-rules.malformed-finding-fails

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.corpus-rules.malformed-finding-fails

    Packs: pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.corpus-rules.params-edit-starts-a-cycle

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.corpus-rules.params-edit-starts-a-cycle

    Packs: pack:adopter-speed-v1, pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.corpus-rules.rules-edit-starts-a-cycle

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.corpus-rules.rules-edit-starts-a-cycle

    Packs: pack:adopter-speed-v1, pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.corpus-rules.unreadable-params-fail-one-file

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.corpus-rules.unreadable-params-fail-one-file

    Packs: pack:adopter-speed-v1, pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.corpus-rules.warning-finding-informs

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.corpus-rules.warning-finding-informs

    Packs: pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.duplicate-ids.dual-carrier

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.duplicate-ids.dual-carrier

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal

    Implementing units

    • impl:protocol.superseded-decision-signal · src/validate/validators.ts:1817

    Referencing units

    None.

    Enabled verifiers: spec:validation.superseded-decision-signal.branch-names-every-end, spec:validation.superseded-decision-signal.chain-end-named, spec:validation.superseded-decision-signal.closed-chain-named, spec:validation.superseded-decision-signal.dependency-unread, spec:validation.superseded-decision-signal.end-and-loop-named, spec:validation.superseded-decision-signal.live-replacement-warns, spec:validation.superseded-decision-signal.replaced-ruling-warns, spec:validation.superseded-decision-signal.replacement-below-ready-named, spec:validation.superseded-decision-signal.superseded-subject-silent

    Packs: pack:design-management-v1, pack:self-hosting-v1

Distance 5

  • spec:carrier.sdp-import.feature-adapter

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:carrier.sdp-import.round-trip

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.sdp-import.round-trip

    Packs: pack:self-hosting-v1

  • spec:carrier.slot-notation.one-literal-binding

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.slot-notation.one-literal-binding

    Packs: pack:self-hosting-v1

  • spec:carrier.slot-notation.refused-guess

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.slot-notation.refused-guess

    Packs: pack:self-hosting-v1

  • spec:carrier.slot-notation.typed-declaration

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.slot-notation.typed-declaration

    Packs: pack:self-hosting-v1

  • spec:carrier.step-keys

    Implementing units

    • impl:protocol.example-runner · src/runner/index.ts:108
    • impl:protocol.example-space-decoding · src/notation/example-space.ts:473
    • impl:protocol.executable-contracts · src/codegen/contracts.ts:647
    • impl:protocol.key-markers · src/extract/key-markers.ts:136
    • impl:protocol.open-section-order · src/extract/serialize.ts:105
    • impl:protocol.sdp-import-markdown-emit · src/import/emit-markdown.ts:253
    • impl:protocol.spec-sections · src/model/sections.ts:138

    Referencing units

    None.

    Enabled verifiers: spec:carrier.step-keys.conflicting-example-key-withheld, spec:carrier.step-keys.gherkin-keyed-step-stays-bound, spec:carrier.step-keys.key-equal-to-a-skeleton-withheld, spec:carrier.step-keys.malformed-marker-refused, spec:carrier.step-keys.renamed-key-breaks, spec:carrier.step-keys.repeated-key-refused, spec:carrier.step-keys.reworded-keyed-step-stays-bound, spec:carrier.step-keys.reworded-unkeyed-step-breaks, spec:carrier.step-keys.two-keys-on-one-step-refused, spec:carrier.step-keys.typescript-keyed-step-imports-keyed, test:protocol.keyed-content

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.binding-language-views

    Implementing units

    • impl:protocol.binding-language-index-table · src/projections/design-review-pages.ts:201
    • impl:protocol.binding-language-spec-page · src/projections/design-review-context.ts:95

    Referencing units

    None.

    Enabled verifiers: spec:consumers.binding-language-views.bound-spec-page, spec:consumers.binding-language-views.pack-member-table

    Packs: pack:self-hosting-v1

  • spec:consumers.derived-readiness-banner

    Implementing units

    • impl:protocol.derived-readiness-banner · src/projections/design-review-context.ts:18

    Referencing units

    None.

    Enabled verifiers: spec:consumers.derived-readiness-banner.dishonest-divergence, spec:consumers.derived-readiness-banner.honest-headroom, test:protocol.derived-readiness-banner.idea-floor-unmet

    Packs: pack:self-hosting-v1

  • spec:consumers.design-review.pure-projection

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-review.pure-projection

    Packs: pack:self-hosting-v1

  • spec:consumers.intent-composition.proposal.memo.shared

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-memo-shared

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.diagram-kinds.capability-tree

    Implementing units

    • impl:protocol.studio-capability-diagrams · src/projections/studio/diagrams/capability.ts:101
    • impl:protocol.studio-diagram-source · src/projections/studio/diagrams/mermaid.ts:13

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-capabilities

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.maturity-picture

    Implementing units

    • impl:protocol.studio-maturity-map · src/projections/studio/pages/maturity-map.ts:7

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-maturity-requirement

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diff-page.changed-entry

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diff-changed-entry

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.architecture.planned-apart

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-planned-apart

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.architecture.unit-register

    Implementing units

    • impl:protocol.studio-unit-register · src/projections/studio/pages/architecture-register.ts:7

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-maturity-requirement

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.tests.coverage-row

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-tests-coverage-row

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.runs-page.external-evidence

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.run-external

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.sharing.stamp-written-apart

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-stamp-apart

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.structural-mermaid

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.wholesale-view-rewrite

    Implementing units

    • impl:protocol.build-pipeline-emit · src/cli/build-command.ts:251
    • impl:protocol.wholesale-view-rewrite · src/cli/validate-view-command.ts:128

    Referencing units

    None.

    Enabled verifiers: spec:consumers.wholesale-view-rewrite.build-invalidates-view, spec:consumers.wholesale-view-rewrite.failed-run-view-removed, spec:consumers.wholesale-view-rewrite.late-stale-page, spec:consumers.wholesale-view-rewrite.stale-page-removed

    Packs: pack:self-hosting-v1

  • spec:decisions.adopt-the-nouns

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.authored-entry-order

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.concept-docs-dissolve

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.envelope-grammar-posture

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.executable-meta-model

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.gherkin-carrier-option

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.pack-markdown-carrier

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.plain-language-references

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.protocol-naming

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.sdp-gherkin-extension

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:extraction.pack-member-order.manifest-order-kept

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.pack-member-order

    Packs: pack:self-hosting-v1

  • spec:model.term-addresses.keyed-term-resolves

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.term-addresses.keyed-term-resolves

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:model.term-addresses.malformed-term-marker-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.term-addresses.malformed-term-marker-refused

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:model.term-addresses.repeated-term-key-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.term-addresses.repeated-term-key-refused

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:model.term-addresses.typescript-term-imports-keyed

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.term-addresses.typescript-term-imports-keyed

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:model.term-addresses.unknown-term-key-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.term-addresses.unknown-term-key-refused

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:protocol.capability-epics

    Implementing units

    • impl:protocol.capability-epics · test/recipes.test.ts:8173

    Referencing units

    None.

    Enabled verifiers: test:protocol.capability-epics

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:protocol.structural-self-binding

    Implementing units

    • impl:protocol.structural-self-binding · test/self-hosting-oracle/structural-edges.ts:76

    Referencing units

    None.

    Enabled verifiers: test:protocol.structural-self-binding

    Packs: pack:self-hosting-v1

  • spec:validation.architecture-constraints.forbidden-layer-pair

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.architecture-constraints.forbidden-layer-pair

    Packs: pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.architecture-constraints.isolated-context-as-rule

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.architecture-constraints.isolated-context-as-rule

    Packs: pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.architecture-constraints.unstated-layer-unclassified

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.architecture-constraints.unstated-layer-unclassified

    Packs: pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.diagnostic-rendering

    Implementing units

    • impl:protocol.diagnostic-rendering-cli · src/cli/output.ts:23
    • impl:protocol.diagnostic-rendering-design-review · src/projections/design-review-context.ts:208
    • impl:protocol.validate-summary · src/cli/validate-view-command.ts:23
    • impl:protocol.validation-contracts · src/validate/contracts.ts:5

    Referencing units

    None.

    Enabled verifiers: spec:validation.diagnostic-rendering.composed-location, spec:validation.diagnostic-rendering.table-cell-location

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.branch-names-every-end

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.branch-names-every-end

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.chain-end-named

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.chain-end-named

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.closed-chain-named

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.closed-chain-named

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.dependency-unread

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.dependency-unread

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.end-and-loop-named

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.end-and-loop-named

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.live-replacement-warns

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.live-replacement-warns

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.replaced-ruling-warns

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.replaced-ruling-warns

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.replacement-below-ready-named

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.replacement-below-ready-named

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.superseded-subject-silent

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.superseded-subject-silent

    Packs: pack:self-hosting-v1

Distance 6

  • spec:carrier.step-keys.conflicting-example-key-withheld

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.conflicting-example-key-withheld

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.gherkin-keyed-step-stays-bound

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.gherkin-keyed-step-stays-bound

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.key-equal-to-a-skeleton-withheld

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.key-equal-to-a-skeleton-withheld

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.malformed-marker-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.malformed-marker-refused

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.renamed-key-breaks

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.renamed-key-breaks

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.repeated-key-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.repeated-key-refused

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.reworded-keyed-step-stays-bound

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.reworded-keyed-step-stays-bound

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.reworded-unkeyed-step-breaks

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.reworded-unkeyed-step-breaks

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.two-keys-on-one-step-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.two-keys-on-one-step-refused

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.typescript-keyed-step-imports-keyed

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.typescript-keyed-step-imports-keyed

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.binding-language-views.bound-spec-page

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.binding-language-views.bound-spec-page

    Packs: pack:self-hosting-v1

  • spec:consumers.binding-language-views.pack-member-table

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.binding-language-views.pack-member-table

    Packs: pack:self-hosting-v1

  • spec:consumers.census-page

    Implementing units

    • impl:protocol.census-page · src/projections/census.ts:21
    • impl:protocol.census-page-cli · src/cli/census-command.ts:66

    Referencing units

    None.

    Enabled verifiers: test:protocol.census-page

    Packs: pack:self-hosting-v1

  • spec:consumers.derived-readiness-banner.dishonest-divergence

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.derived-readiness-banner.dishonest-divergence

    Packs: pack:self-hosting-v1

  • spec:consumers.derived-readiness-banner.honest-headroom

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.derived-readiness-banner.honest-headroom

    Packs: pack:self-hosting-v1

  • spec:consumers.mermaid-view

    Implementing units

    • impl:protocol.mermaid-view · src/projections/mermaid.ts:14
    • impl:protocol.mermaid-view-cli · src/cli/mermaid-command.ts:82

    Referencing units

    None.

    Enabled verifiers: test:protocol.mermaid-view

    Packs: pack:self-hosting-v1

  • spec:consumers.obsidian-vault

    Implementing units

    • impl:protocol.vault-command · src/cli/vault-command.ts:191
    • impl:protocol.vault-notes · src/projections/vault/notes.ts:45
    • impl:protocol.vault-sync · src/projections/vault/sync.ts:98

    Referencing units

    None.

    Enabled verifiers: spec:consumers.obsidian-vault.changed-note-refused, spec:consumers.obsidian-vault.failed-extraction-keeps-notes, spec:consumers.obsidian-vault.failed-extraction-recovered, spec:consumers.obsidian-vault.fresh-vault, spec:consumers.obsidian-vault.hidden-file-refused, spec:consumers.obsidian-vault.interrupted-run-recovered, spec:consumers.obsidian-vault.person-notes-survive, spec:consumers.obsidian-vault.unknown-note-refused, spec:consumers.obsidian-vault.vault-in-build-path-refused

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.wholesale-view-rewrite.build-invalidates-view

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.wholesale-view-rewrite.build-invalidates-view

    Packs: pack:self-hosting-v1

  • spec:consumers.wholesale-view-rewrite.failed-run-view-removed

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.wholesale-view-rewrite.failed-run-view-removed

    Packs: pack:self-hosting-v1

  • spec:consumers.wholesale-view-rewrite.late-stale-page

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.wholesale-view-rewrite.late-stale-page

    Packs: pack:self-hosting-v1

  • spec:consumers.wholesale-view-rewrite.stale-page-removed

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.wholesale-view-rewrite.stale-page-removed

    Packs: pack:self-hosting-v1

  • spec:decisions.roadmap-priority

    Implementing units

    None.

    Referencing units

    • impl:protocol.pack-aggregate · src/model/pack.ts:23
    • impl:protocol.pack-member-order · src/extract/derive.ts:153

    Enabled verifiers: None

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:extraction.executable-contracts

    Implementing units

    • impl:protocol.example-space · src/graph/example-space.ts:117
    • impl:protocol.executable-contracts · src/codegen/contracts.ts:647

    Referencing units

    None.

    Enabled verifiers: spec:carrier.step-keys.conflicting-example-key-withheld, spec:carrier.step-keys.key-equal-to-a-skeleton-withheld, spec:carrier.step-keys.reworded-keyed-step-stays-bound, spec:carrier.step-keys.reworded-unkeyed-step-breaks, spec:extraction.executable-contracts.case-colliding-path, spec:extraction.executable-contracts.concreteness-refusal, spec:extraction.executable-contracts.multi-entry-example

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:extraction.runnable-modules

    Implementing units

    • component:protocol.codegen · src/codegen/contracts.ts:633
    • component:protocol.testing · src/testing/index.ts:38
    • impl:protocol.example-testing-helpers · src/testing/index.ts:50
    • impl:protocol.runnable-modules · src/codegen/contracts.ts:658

    Referencing units

    None.

    Enabled verifiers: test:protocol.runnable-modules, test:protocol.runnable-modules-generation, test:protocol.runnable-modules-types

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:protocol.role-vocabulary

    Implementing units

    • impl:protocol.role-vocabulary · test/self-hosting-graph.test.ts:143

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:protocol.significant-units-review

    Implementing units

    • impl:protocol.structural-self-binding · test/self-hosting-oracle/structural-edges.ts:76

    Referencing units

    None.

    Enabled verifiers: test:protocol.structural-self-binding

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:validation.diagnostic-rendering.composed-location

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.diagnostic-rendering.composed-location

    Packs: pack:self-hosting-v1

  • spec:validation.diagnostic-rendering.table-cell-location

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.diagnostic-rendering.table-cell-location

    Packs: pack:self-hosting-v1

Distance 7

  • spec:consumers.design-diff

    Implementing units

    • impl:protocol.design-diff-recipe · test/iteration-recipes.test.ts:27

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-diff-recipe, test:protocol.roadmap-priority

    Packs: pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.changed-note-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.changed-note-refused

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.failed-extraction-keeps-notes

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.failed-extraction-keeps-notes

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.failed-extraction-recovered

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.failed-extraction-recovered

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.fresh-vault

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.fresh-vault

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.hidden-file-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.hidden-file-refused

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.interrupted-run-recovered

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.interrupted-run-recovered

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.person-notes-survive

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.person-notes-survive

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.unknown-note-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.unknown-note-refused

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.vault-in-build-path-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.vault-in-build-path-refused

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:decisions.adopted-registrars-committed

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.roadmap-over-plans

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:decisions.vault-owned-folder

    Implementing units

    None.

    Referencing units

    • impl:protocol.vault-command · src/cli/vault-command.ts:191
    • impl:protocol.vault-sync · src/projections/vault/sync.ts:98

    Enabled verifiers: None

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:extraction.example-runner

    Implementing units

    • component:protocol.adapters · src/adapters/vitest.ts:23
    • component:protocol.runner · src/runner/index.ts:99
    • impl:protocol.example-runner · src/runner/index.ts:108
    • impl:protocol.example-runner-adapter · src/adapters/vitest.ts:32

    Referencing units

    None.

    Enabled verifiers: spec:extraction.example-runner.red-step-naming, spec:extraction.example-runner.step-order, test:protocol.example-runner-cleanup

    Packs: pack:self-hosting-v1

  • spec:extraction.executable-contracts.case-colliding-path

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.executable-contracts.case-colliding-path

    Packs: pack:self-hosting-v1

  • spec:extraction.executable-contracts.concreteness-refusal

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.executable-contracts.concreteness-refusal

    Packs: pack:self-hosting-v1

  • spec:extraction.executable-contracts.multi-entry-example

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.executable-contracts.multi-entry-example

    Packs: pack:self-hosting-v1

  • spec:model.pack-aggregate

    Implementing units

    • impl:protocol.pack-aggregate · src/model/pack.ts:23

    Referencing units

    None.

    Enabled verifiers: test:protocol.pack-builder, test:protocol.roadmap-priority

    Packs: pack:self-hosting-v1

Distance 8

  • spec:decisions.pack-reified

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:extraction.example-runner.red-step-naming

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.example-runner.red-step-naming

    Packs: pack:self-hosting-v1

  • spec:extraction.example-runner.step-order

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.example-runner.step-order

    Packs: pack:self-hosting-v1

  • spec:validation.pack-coherence

    Implementing units

    • impl:protocol.pack-coherence · src/validate/validators.ts:1102

    Referencing units

    None.

    Enabled verifiers: spec:validation.pack-coherence.incoherent-aggregate

    Packs: pack:self-hosting-v1

Distance 9

  • spec:validation.pack-coherence.incoherent-aggregate

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.pack-coherence.incoherent-aggregate

    Packs: pack:self-hosting-v1

Relations

Relation and directionOther endClaimReasonExercised keys
decidedBy · outgoingspec:decisions.adopt-the-nouns
spec:decisions.adopt-the-nouns · resolves
declaredquestion fields describe the question without adding workflow state or gatesNone
decidedBy · outgoingspec:decisions.planning-truths-placement
spec:decisions.planning-truths-placement · resolves
declareda deferral's re-entry trigger rides its own blocking question, the home that decision rulesNone
dependsOn · outgoingspec:extraction.entry-locations
spec:extraction.entry-locations · resolves
declaredadds rows to the location tableNone
refines · outgoingspec:model.open-question-keys
spec:model.open-question-keys · resolves
declaredNoneNone
dependsOn · incomingspec:carrier.markdown-body-grammar
spec:carrier.markdown-body-grammar · resolves
declaredNoneNone
dependsOn · incomingspec:carrier.prose-ownership-rule
spec:carrier.prose-ownership-rule · resolves
declaredNoneNone
dependsOn · incomingspec:consumers.agent-surface.register-recipes
spec:consumers.agent-surface.register-recipes · resolves
declaredthe open-question register lists each question's fieldsNone
dependsOn · incomingspec:consumers.authoring-on-ramp
spec:consumers.authoring-on-ramp · resolves
declaredNoneNone
dependsOn · incomingspec:consumers.design-slice
spec:consumers.design-slice · resolves
declaredeach question in scope carries its fieldsNone
dependsOn · incomingspec:consumers.graph-first-planning
spec:consumers.graph-first-planning · resolves
declaredthe placement rule uses the question's explicit re-entry trigger fieldNone
dependsOn · incomingspec:consumers.pack-design
spec:consumers.pack-design · resolves
declaredeach listed open question carries its fieldsNone
dependsOn · incomingspec:consumers.readiness-planner
spec:consumers.readiness-planner · resolves
declaredthe owner's questions are selected by their decider fieldNone
dependsOn · incomingspec:consumers.roadmap
spec:consumers.roadmap · resolves
declaredthe questions waiting on a person are selected by their decider fieldNone
dependsOn · incomingspec:consumers.spec-studio.pack-page
spec:consumers.spec-studio.pack-page · resolves
declaredNoneNone
dependsOn · incomingspec:consumers.spec-studio.slice-page
spec:consumers.spec-studio.slice-page · resolves
declaredNoneNone
dependsOn · incomingspec:consumers.spec-studio.spec-page
spec:consumers.spec-studio.spec-page · resolves
declaredNoneNone
dependsOn · incomingspec:consumers.spec-studio.spec-page.core
spec:consumers.spec-studio.spec-page.core · resolves
declaredNoneNone
dependsOn · incomingspec:consumers.upgrade-kit.capability-adoption
spec:consumers.upgrade-kit.capability-adoption · resolves
declaredquestion keys and fields are counted where open questions areNone
dependsOn · incomingspec:validation.prose-mentions
spec:validation.prose-mentions · resolves
declaredthe links field it checks whole is defined by the open-question field grammarNone
refines · incomingspec:model.open-question-fields.dropped-list-warns
spec:model.open-question-fields.dropped-list-warns · resolves
declaredNoneNone
verifies · incomingspec:model.open-question-fields.dropped-list-warns
spec:model.open-question-fields.dropped-list-warns · resolves
declaredNonedroppedListWarning

Bindings

Implementation binding: present

  • impl:protocol.authoring-grammar-recipes · asserts the authoring grammar's realization in docs/agent-surface/recipes.md · test/recipes.test.ts:6597
  • impl:protocol.authoring-normalization · normalizes rule markers and question fields after carrier reification · src/extract/authoring-normalization.ts:8 · role codec · component component:protocol.extract · layer application · context protocol

Design reference: none

Verifier binding: present

  • spec:model.open-question-fields.dropped-list-warns · A TypeScript question list that cannot be read drops whole with a warning · declared · specs/model/open-question-fields.dropped-list-warns.sdp.md · example enabled
  • test:protocol.authoring-grammar · checks rule keys, question fields and relation reasons across the carriers · anchored · test/authoring-grammar.test.ts:24 · test anchor
  • test:protocol.authoring-grammar-recipes · executes the shipped question, mention, entry, address and rule coverage recipes · anchored · test/recipes.test.ts:6587 · test anchor

Expected-outcome oracle: present

  • oracle:protocol.open-question-fields · test/self-hosting-carrier.test.ts:342

Runtime observation: not tracked.

Run results: not recorded in the graph.

Findings

None.

4. An authored relation may carry its reason

spec:model.relation-reasons

An authored relation may carry its reason

spec:model.relation-reasonsBusiness Rule · storyready floor ready

Packs: pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

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

Findings: no errors, no warnings

specs/model/relation-reasons.sdp.md

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

The original design let a relation say why it holds: a rationale on refines, a strength on dependsOn, an aspect on constrainedBy and a reason on supersedes (docs/lineage/v0-design/01-core-primitives.md §4; 04-authoring-surfaces.md §1.3). The Protocol's relations carry a type, a target and a claim; a relation without a reason leaves the explanation of why a Spec rests on another in narrative prose a reader has to find. The prose-ownership decision gives free prose a typed owner; this Spec gives a relation's reason its home on that relation.

The first adopter meets the reverse case. When its mention audit reported Spec pairs named in prose with no relation behind them, it declared the relations that were missing dependencies and kept the rest as prose, each listed with a one-line reason no typed relation fits (libar-platform/docs/feedback/sdp-feedback-01.md, "The mention warnings were mostly missing edges"; libar-platform/design/tools/prose-mentions.json). A reason on a relation says why an edge holds; a listed mention reason says why none does.

Intent
problem
A reviewer reading a relation cannot see why it holds, and a reviewer reading a mention left as prose cannot tell an intended pointer from a forgotten dependency without a list kept outside the graph.
outcome
Let an author say in one line why a Spec refines, depends on, is constrained by, is decided by or supersedes another, beside the relation itself.
Rule
rule line 23 · specs/model/relation-reasons.sdp.md:23
An authored relation may carry one optional reason, a single line of prose owned by that relation from that Spec to that target.
rule line 24 · specs/model/relation-reasons.sdp.md:24
One optional reason serves every relation type. No strength, aspect or other attribute rides a relation, except the rule keys an example's verifies lists, which the rule-coverage recipe reads.
rule line 25 · specs/model/relation-reasons.sdp.md:25
A reason is intent, as its relation is; it confers no delivery fact, moves no readiness floor and changes nothing its edge confers, and a relation without one stays lawful.
rule line 26 · specs/model/relation-reasons.sdp.md:26
In the envelope a relation target is a plain Spec id or an object with target and optional reason; a declared verifies object may also carry exercises. A target-only object reads as the plain id, plain ids and objects may mix in one relation, and no target is written twice. The TypeScript carrier passes the same reason beside the target.
rule line 27 · specs/model/relation-reasons.sdp.md:27
A reason on supersedes says what the newer decision replaces, and a reason on a refines from one decision to another says which part of the older decision the newer one narrows.
rule line 28 · specs/model/relation-reasons.sdp.md:28
A reason reaches readers with its relation through the graph, so a projection or a recipe reads it from the edge and never from the carrier.
rule line 29 · specs/model/relation-reasons.sdp.md:29
A mention left as prose carries no reason in the Spec. A corpus may keep the mentions it intends as rows of from, to and reason beside its Specs and pass them to the mention audit as a parameter; the audit reports the pairs a row matches apart from the rest, each with its reason, and lists the rows that match no current pair, while the validator reads no such list and its warning stands.

7 unkeyed rules.

Design
envelopeTarget line 33 · specs/model/relation-reasons.sdp.md:33
a relation target is a Spec id or { target: <spec id>, reason: <one line> }, the two mixing in one list and a single target taking either form; a declared verifies object may also carry exercises, and an object with another key, an empty reason, or a reason on two lines is refused; an object carrying only target reads as the plain id.
builderArgument line 34 · specs/model/relation-reasons.sdp.md:34
each TypeScript relation builder takes an optional second argument, dependsOn(target, { reason }), with verifies(target, { reason, exercises }) also taking the rule keys, and a builder called without it writes a plain declared relation.
edgeReason line 35 · specs/model/relation-reasons.sdp.md:35
an authored graph edge carries an optional reason, and the reader's relation ends carry it; the guarantees recipe (3), dependency footing (21), the planning slice (19) and the decision register (31) show it beside the relation.
gherkinRelations line 36 · specs/model/relation-reasons.sdp.md:36
no Gherkin form is invented for a relation reason, because relation tags carry no prose; a Spec that needs one is authored in Markdown or TypeScript.
intendedMentions line 37 · specs/model/relation-reasons.sdp.md:37
the mention audit (recipe 22) takes params.intended, rows { from, to, reason } keyed by Spec ids, and returns intended, the unbacked pairs a row matches with its reason, kept apart from the remaining pairs, and staleIntended, the rows that match no current pair.
Verification

Verifier bindings

  • test:protocol.authoring-grammar · checks rule keys, question fields and relation reasons across the carriers · anchored · test anchor binding present · test/authoring-grammar.test.ts:24
  • test:protocol.authoring-grammar-recipes · executes the shipped question, mention, entry, address and rule coverage recipes · anchored · test anchor binding present · test/recipes.test.ts:6587
Design view

Requirement drawing

  • Declared verifying examples: no declared verifying example.
Requirement drawing for spec:model.relation-reasons
The diagram as text
  • spec:model.relation-reasons: An authored relation may carry its reason · declared Spec
  • spec:model.relations: Specs declare typed directed relations · declared Spec
  • impl:protocol.authoring-grammar-recipes: asserts the authoring grammar's realization in docs/agent-surface/recipes.md · anchored code · test/recipes.test.ts:6597
  • impl:protocol.authoring-normalization: normalizes rule markers and question fields after carrier reification · anchored code · src/extract/authoring-normalization.ts:8
  • test:protocol.authoring-grammar: checks rule keys, question fields and relation reasons across the carriers · anchored test binding · binding present · test/authoring-grammar.test.ts:24
  • test:protocol.authoring-grammar-recipes: executes the shipped question, mention, entry, address and rule coverage recipes · anchored test binding · binding present · test/recipes.test.ts:6587
  • spec:model.relation-reasons refines spec:model.relations · declared
  • impl:protocol.authoring-grammar-recipes satisfies spec:model.relation-reasons · anchored
  • impl:protocol.authoring-normalization satisfies spec:model.relation-reasons · anchored
  • test:protocol.authoring-grammar verifies spec:model.relation-reasons · anchored
  • test:protocol.authoring-grammar-recipes verifies spec:model.relation-reasons · anchored
Mermaid source

Copyable source; the Studio draws static SVG.

Preferred and chosen syntax: requirementDiagram; exact refines, satisfies and verifies, with claim words in nodes and per-edge comments.

Decisions

  • spec:decisions.prose-ownership

    Free prose is stored as a narrative or a description on its typed owner; unowned prose is refused.

Runtime
  • component:protocol.extract · the carrier and source pipeline · src/extract/index.ts:192 · layer application · context protocol

    Uses

    • component:protocol.graph · the one graph and its semantic decisions · src/graph/schema.ts:34 · layer domain · context protocol
    • component:protocol.model · the authored contracts and stable ids · src/model/anchors.ts:100 · layer domain · context protocol
    • component:protocol.notation · the leaf step codec · src/notation/slots.ts:261 · layer domain · context protocol
    • component:protocol.validate · one finding currency and ordered checks · src/validate/validators.ts:72 · layer domain · context protocol
  • impl:protocol.authoring-grammar-recipes · asserts the authoring grammar's realization in docs/agent-surface/recipes.md · test/recipes.test.ts:6597

    Uses

    None.

  • impl:protocol.authoring-normalization · normalizes rule markers and question fields after carrier reification · src/extract/authoring-normalization.ts:8

    Component: component:protocol.extract · the carrier and source pipeline · src/extract/index.ts:192 · layer application · context protocol

    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:model.relation-reasons
Relations of spec:model.relation-reasonsdependsOn · declareddependsOn · declareddependsOn · declareddependsOn · declareddependsOn · declareddependsOn · declareddependsOn · declareddecidedBy · declaredrefines · declaredOutgoing refinesspec:model.relationsSpecs declare typeddirected relations…model.relationsOutgoing decidedByspec:decisions.prose-ownershipProse belongs to typedgraph owners…decisions.prose-ownershipSubjectspec:model.relation-reasonsAn authored relation maycarry its reason…model.relation-reasonsIncoming dependsOnspec:carrier.envelope-contractThe Markdown envelope isexplicit and bounded…carrier.envelope-contractspec:carrier.prose-ownership-ruleEvery prose value has onetyped owner…carrier.prose-ownership-rulespec:consumers.agent-surface.register-recipesRegister questions stayexecutable graph recipes…consumers.agent-surface.register-recipesspec:consumers.authoring-on-rampAuthors move one Spec fromintent to reviewed evidence…consumers.authoring-on-rampspec:consumers.spec-studio.spec-pageA Spec page shows one Specin collapsible panels, in afixed order…consumers.spec-studio.spec-pagespec:consumers.spec-studio.spec-page.coreA Spec page's core showsthe whole Spec, with ananchor for every entry…consumers.spec-studio.spec-page.corespec:consumers.upgrade-kit.capability-adoptionCapability adoption countswhere each capability isused and where it couldapply…consumers.upgrade-kit.capability-adoption
The diagram as text
  • spec:carrier.envelope-contract: The Markdown envelope is explicit and bounded
  • spec:carrier.prose-ownership-rule: Every prose value has one typed owner
  • spec:consumers.agent-surface.register-recipes: Register questions stay executable graph recipes
  • spec:consumers.authoring-on-ramp: Authors move one Spec from intent to reviewed evidence
  • spec:consumers.spec-studio.spec-page: A Spec page shows one Spec in collapsible panels, in a fixed order
  • spec:consumers.spec-studio.spec-page.core: A Spec page's core shows the whole Spec, with an anchor for every entry
  • spec:consumers.upgrade-kit.capability-adoption: Capability adoption counts where each capability is used and where it could apply
  • spec:decisions.prose-ownership: Prose belongs to typed graph owners
  • spec:model.relation-reasons: An authored relation may carry its reason
  • spec:model.relations: Specs declare typed directed relations
  • spec:model.relation-reasons decidedBy spec:decisions.prose-ownership · declared — the relation owns its reason as typed prose
  • spec:model.relation-reasons refines spec:model.relations · declared
  • spec:carrier.envelope-contract dependsOn spec:model.relation-reasons · declared
  • spec:carrier.prose-ownership-rule dependsOn spec:model.relation-reasons · declared
  • spec:consumers.agent-surface.register-recipes dependsOn spec:model.relation-reasons · declared — the mention audit reads a caller's intended mentions with their reasons
  • spec:consumers.authoring-on-ramp dependsOn spec:model.relation-reasons · declared
  • spec:consumers.spec-studio.spec-page dependsOn spec:model.relation-reasons · declared
  • spec:consumers.spec-studio.spec-page.core dependsOn spec:model.relation-reasons · declared
  • spec:consumers.upgrade-kit.capability-adoption dependsOn spec:model.relation-reasons · declared — relation reasons are counted where authored relations are
Mermaid source

Copyable source; the Studio draws static SVG.

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

Rests on

  • refines · spec:model.relations · stated ready, floor ready
  • decidedBy · spec:decisions.prose-ownership · stated ready, floor ready

Rested on by

Distance 1

  • spec:carrier.envelope-contract

    Implementing units

    • impl:protocol.envelope-contract · src/extract/markdown-frontmatter.ts:33
    • impl:protocol.markdown-yaml-policy · src/extract/markdown-yaml-policy.ts:33

    Referencing units

    None.

    Enabled verifiers: test:protocol.envelope-contract

    Packs: pack:self-hosting-v1

  • spec:carrier.prose-ownership-rule

    Implementing units

    • impl:protocol.markdown-body-grammar · src/extract/markdown-body.ts:120

    Referencing units

    None.

    Enabled verifiers: test:protocol.prose-ownership

    Packs: pack:self-hosting-v1

  • spec:consumers.agent-surface.register-recipes

    Implementing units

    • impl:protocol.register-recipes · test/recipes.test.ts:2057

    Referencing units

    None.

    Enabled verifiers: test:protocol.register-recipes

    Packs: pack:self-hosting-v1

  • spec:consumers.authoring-on-ramp

    Implementing units

    • impl:protocol.authoring-on-ramp · test/skills.test.ts:76
    • impl:protocol.spec-scaffolder · src/cli/new-spec-command.ts:348

    Referencing units

    None.

    Enabled verifiers: test:protocol.authoring-on-ramp

    Packs: pack:self-hosting-v1

  • spec:consumers.spec-studio.spec-page

    Implementing units

    • impl:protocol.studio-requirement-view · src/projections/studio/pages/requirement-view.ts:8
    • impl:protocol.studio-spec-page · src/projections/studio/pages/spec-page.ts:201
    • impl:protocol.studio-spec-structure · src/projections/studio/pages/spec-structure.ts:44

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.spec-page.cited-declaration, test:protocol.studio-architecture-maturity-requirement, test:protocol.studio-panels

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.spec-page.core

    Implementing units

    • impl:protocol.studio-spec-page · src/projections/studio/pages/spec-page.ts:201

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-pages

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.upgrade-kit.capability-adoption

    Implementing units

    • impl:protocol.capability-adoption-recipe · test/upgrade-kit.test.ts:514

    Referencing units

    None.

    Enabled verifiers: spec:consumers.upgrade-kit.capability-adoption.counts-a-corpus

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

Distance 2

  • spec:carrier.markdown-parser

    Implementing units

    • impl:protocol.markdown-parser · src/extract/markdown.ts:37
    • impl:protocol.static-reification · src/extract/reify.ts:2139

    Referencing units

    None.

    Enabled verifiers: spec:carrier.markdown-parser.bounded-parity, test:protocol.markdown-parser

    Packs: pack:self-hosting-v1

  • spec:consumers.adopter-on-ramp

    Implementing units

    • impl:protocol.adopter-help · src/cli/help.ts:167
    • impl:protocol.adopter-on-ramp · test/skills.test.ts:712

    Referencing units

    None.

    Enabled verifiers: test:protocol.adopter-on-ramp, test:protocol.shipped-protocol-corpus

    Packs: pack:self-hosting-v1

  • spec:consumers.agent-surface.address-and-cycle-recipes

    Implementing units

    • impl:protocol.address-and-cycle-recipes · test/recipes.test.ts:3568

    Referencing units

    None.

    Enabled verifiers: spec:consumers.agent-surface.address-and-cycle-recipes.chain-reports-nothing, spec:consumers.agent-surface.address-and-cycle-recipes.cycle-fails-a-rules-run, spec:consumers.agent-surface.address-and-cycle-recipes.unresolved-address-fails-a-rules-run, test:protocol.address-and-cycle-recipes

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.agent-surface.design-recipes

    Implementing units

    • impl:protocol.design-recipes · test/recipes.test.ts:4769

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-recipes

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.delivery-session-on-ramp

    Implementing units

    • impl:protocol.delivery-session-on-ramp · test/skills.test.ts:83

    Referencing units

    None.

    Enabled verifiers: test:protocol.delivery-session-on-ramp

    Packs: pack:self-hosting-v1

  • spec:consumers.graph-first-planning

    Implementing units

    • impl:protocol.graph-first-planning · test/skills.test.ts:290

    Referencing units

    None.

    Enabled verifiers: test:protocol.graph-first-planning

    Packs: pack:self-hosting-v1

  • spec:consumers.roadmap.memo

    Implementing units

    • impl:protocol.roadmap-memo-recipe · test/roadmap.test.ts:27
    • impl:protocol.studio-roadmap-page · src/projections/studio/pages/roadmap-page.ts:168

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap-memo-recipe, test:protocol.studio-roadmap-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.shipped-protocol-corpus

    Implementing units

    • impl:protocol.shipped-protocol-corpus · test/package-smoke.test.ts:252

    Referencing units

    None.

    Enabled verifiers: test:protocol.shipped-protocol-corpus

    Packs: pack:self-hosting-v1

  • spec:consumers.spec-studio.export

    Implementing units

    • impl:protocol.studio-diagram-element · src/studio-elements/diagram.ts:23
    • impl:protocol.studio-expander · src/studio-elements/expander.ts:16
    • impl:protocol.studio-pack-export · src/projections/studio/pages/export-page.ts:35
    • impl:protocol.studio-pack-page · src/projections/studio/pages/pack-page.ts:68

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.export.self-contained, test:protocol.studio-intent-handoff

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.registers

    Implementing units

    • impl:protocol.studio-registers · src/projections/studio/pages/registers-page.ts:47

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.registers.blocking-first

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.spec-page.cited-declaration

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-cited-declaration

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.verification-panels

    Implementing units

    • impl:protocol.studio-run-rows · src/projections/studio/pages/run-rows.ts:69
    • impl:protocol.studio-verification-panels · src/projections/studio/pages/spec-verification.ts:74

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.verification-panels.rule-coverage, test:protocol.studio-panels

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.upgrade-kit

    Implementing units

    • impl:protocol.upgrade-guide · test/upgrade-kit.test.ts:87

    Referencing units

    None.

    Enabled verifiers: test:protocol.upgrade-guide

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.capability-adoption.counts-a-corpus

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.capability-adoption.counts-a-corpus

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.validate-watch

    Implementing units

    • impl:protocol.validate-watch · src/cli/validate-watch.ts:591

    Referencing units

    None.

    Enabled verifiers: test:protocol.validate-watch, test:protocol.validate-watch-rules

    Packs: pack:adopter-speed-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:decisions.envelope-grammar-posture

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.prose-ownership

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:validation.external-registers

    Implementing units

    • impl:protocol.external-registers-recipe · test/external-registers.test.ts:9

    Referencing units

    None.

    Enabled verifiers: spec:validation.external-registers.uncited-on-request, spec:validation.external-registers.unknown-and-retired

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

Distance 3

  • spec:carrier.gherkin-authoring

    Implementing units

    • impl:protocol.gherkin-authoring · src/extract/gherkin.ts:1323
    • impl:protocol.gherkin-kind-policy · src/extract/gherkin-kind-honesty.ts:6

    Referencing units

    None.

    Enabled verifiers: spec:carrier.gherkin-authoring.authored-fact-refused, spec:carrier.gherkin-authoring.contract-parity, spec:carrier.gherkin-authoring.description-location-refused, spec:carrier.gherkin-authoring.duplicate-surface-refused, spec:carrier.gherkin-authoring.example-space-extraction, spec:carrier.gherkin-authoring.malformed-relation-refused, spec:carrier.gherkin-authoring.missing-id-refused, spec:carrier.gherkin-authoring.multi-finding-bounded, spec:carrier.gherkin-authoring.parent-child-extraction, spec:carrier.gherkin-authoring.step-less-scenario-refused, spec:carrier.gherkin-authoring.unbound-ready-refused, spec:carrier.gherkin-authoring.unknown-tag-refused, spec:carrier.gherkin-authoring.unsupported-construct-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-authoring

    Implementing units

    • impl:protocol.markdown-parser · src/extract/markdown.ts:37

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-authoring

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar

    Implementing units

    • impl:protocol.markdown-body-grammar · src/extract/markdown-body.ts:120
    • impl:protocol.markdown-content · src/extract/markdown-body-content.ts:7

    Referencing units

    None.

    Enabled verifiers: spec:carrier.markdown-body-grammar.continuation-line-refused, spec:carrier.markdown-body-grammar.foreign-fence-refused, spec:carrier.markdown-body-grammar.h3-refused, spec:carrier.markdown-body-grammar.integer-term-refused, spec:carrier.markdown-body-grammar.keyed-bullet-refused, spec:carrier.markdown-body-grammar.ordered-list-refused, spec:carrier.markdown-body-grammar.plain-bullet-refused, spec:carrier.markdown-body-grammar.raw-html-refused, spec:carrier.markdown-body-grammar.repeated-field-refused, spec:carrier.markdown-body-grammar.second-primary-owner-refused, spec:carrier.markdown-body-grammar.shared-description-refused, spec:carrier.markdown-body-grammar.table-refused, spec:carrier.markdown-body-grammar.trailing-prose-refused, spec:carrier.markdown-body-grammar.unrecognized-heading-refused, spec:validation.kind-evidence.second-entry-untargeted

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-pack-authoring

    Implementing units

    • impl:protocol.markdown-pack-authoring · src/extract/markdown-pack.ts:117
    • impl:protocol.markdown-yaml-policy · src/extract/markdown-yaml-policy.ts:33
    • impl:protocol.static-reification · src/extract/reify.ts:2139

    Referencing units

    None.

    Enabled verifiers: spec:carrier.markdown-pack-authoring.markdown-ts-parity, spec:carrier.markdown-pack-authoring.spec-envelope-refused, test:protocol.roadmap-priority

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-parser.bounded-parity

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-parser.bounded-parity

    Packs: pack:self-hosting-v1

  • spec:consumers.agent-surface.address-and-cycle-recipes.chain-reports-nothing

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.agent-surface.address-and-cycle-recipes.chain-reports-nothing

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.agent-surface.address-and-cycle-recipes.cycle-fails-a-rules-run

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.agent-surface.address-and-cycle-recipes.cycle-fails-a-rules-run

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.agent-surface.address-and-cycle-recipes.unresolved-address-fails-a-rules-run

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.agent-surface.address-and-cycle-recipes.unresolved-address-fails-a-rules-run

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.agent-surface.answer-shapes

    Implementing units

    • impl:protocol.answer-shape-recipes · test/recipes.test.ts:6214

    Referencing units

    • impl:protocol.authoring-grammar-recipes · test/recipes.test.ts:6597
    • impl:protocol.reader · src/reader/reader.ts:687

    Enabled verifiers: test:protocol.answer-shape-recipes

    Packs: pack:design-iteration-v1, pack:self-hosting-v1

  • spec:consumers.agent-surface.example-space-coverage

    Implementing units

    • impl:protocol.example-space-coverage-recipe · test/studio-s1.test.ts:856
    • impl:protocol.example-space-decoding · src/notation/example-space.ts:473

    Referencing units

    None.

    Enabled verifiers: spec:consumers.agent-surface.example-space-coverage.number-not-enumerable, spec:consumers.agent-surface.example-space-coverage.uncovered-literal

    Packs: pack:design-management-v1, pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.command-line

    Implementing units

    • impl:protocol.adopter-help · src/cli/help.ts:167
    • impl:protocol.agent-surface-cli · src/cli/sdp.ts:94
    • impl:protocol.build-args · src/cli/build-args.ts:11
    • impl:protocol.generate-command · src/cli/generate-command.ts:34

    Referencing units

    None.

    Enabled verifiers: spec:consumers.command-line.generate-check-failure, spec:consumers.command-line.generate-writes-every-root, spec:consumers.command-line.verb-help-touches-nothing

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.context-bundle

    Implementing units

    • impl:protocol.context-bundle-recipe · test/iteration-recipes.test.ts:765

    Referencing units

    None.

    Enabled verifiers: spec:consumers.context-bundle.oversized-member-named, spec:consumers.context-bundle.parts-cover-the-pack, test:protocol.context-bundle-recipe

    Packs: pack:adopter-speed-v1, pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.design-slice

    Implementing units

    • impl:protocol.design-slice-recipe · test/self-hosting-design-slice.test.ts:148

    Referencing units

    • impl:protocol.studio-slice-answer · src/projections/studio/slice-answer.ts:1

    Enabled verifiers: spec:consumers.design-slice.chain, spec:consumers.design-slice.component-absent, spec:consumers.design-slice.component-differing, spec:consumers.design-slice.component-matching, spec:consumers.design-slice.component-unreadable, spec:consumers.design-slice.component-unrelated, spec:consumers.design-slice.decision-backlink, spec:consumers.design-slice.dependency-cycle, spec:consumers.design-slice.folded-example, spec:consumers.design-slice.independent-example, spec:consumers.design-slice.outside-components, spec:consumers.design-slice.outside-holding, spec:consumers.design-slice.outside-satisfied, spec:consumers.design-slice.outside-unbound, test:protocol.design-slice

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.engine-provenance

    Implementing units

    • impl:protocol.build-artifacts · src/cli/build-artifacts.ts:182
    • impl:protocol.engine-provenance-cli · src/cli/sdp.ts:102

    Referencing units

    None.

    Enabled verifiers: test:protocol.engine-provenance

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.gherkin-view

    Implementing units

    • impl:protocol.gherkin-kind-policy · src/extract/gherkin-kind-honesty.ts:6
    • impl:protocol.gherkin-view · src/projections/gherkin-view.ts:19
    • impl:protocol.gherkin-view-cli · src/cli/gherkin-command.ts:66

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-view

    Packs: pack:self-hosting-v1

  • spec:consumers.intent-composition.proposal

    Implementing units

    • impl:protocol.proposal-schema-and-recipe · test/iteration-recipes.test.ts:1510
    • impl:protocol.studio-proposal-contract · src/studio-elements/proposal.ts:1

    Referencing units

    None.

    Enabled verifiers: test:protocol.proposal-schema-and-recipe

    Packs: pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.iteration

    Implementing units

    • impl:protocol.vault-sync · src/projections/vault/sync.ts:98
    • impl:protocol.vault-text · src/projections/vault/text.ts:30
    • impl:protocol.vault-watch · src/cli/vault-command.ts:219

    Referencing units

    None.

    Enabled verifiers: spec:consumers.obsidian-vault.iteration.watch-rewrites-changed-notes, spec:consumers.obsidian-vault.iteration.watch-source-anchor

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner

    Implementing units

    • impl:protocol.statement-queue-recipe · test/self-hosting-readiness-planner.test.ts:74

    Referencing units

    None.

    Enabled verifiers: spec:consumers.readiness-planner.cycle-shares-a-round, spec:consumers.readiness-planner.decision-first, spec:consumers.readiness-planner.dependency-order, spec:consumers.readiness-planner.owner-question-holds

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.roadmap

    Implementing units

    • impl:protocol.roadmap-recipe · test/roadmap.test.ts:20

    Referencing units

    None.

    Enabled verifiers: spec:consumers.roadmap.blocking-part, spec:consumers.roadmap.buildable-part, spec:consumers.roadmap.built-work, spec:consumers.roadmap.design-part, spec:consumers.roadmap.drifting-part, spec:consumers.roadmap.missing-evidence, spec:consumers.roadmap.outside-parent, spec:consumers.roadmap.statement-order, spec:consumers.roadmap.statement-part, test:protocol.roadmap-recipe

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.cited-line-text

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmap, pack:self-hosting-v1

  • spec:consumers.spec-studio.export.self-contained

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-export-contained

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.publisher.watch

    Implementing units

    • impl:protocol.studio-watch · src/cli/studio-command.ts:122

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.publisher.watch.matches-plain-run

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.register-input

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmap, pack:self-hosting-v1

  • spec:consumers.spec-studio.registers.blocking-first

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-registers-blocking-first

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.roadmap-page

    Implementing units

    • impl:protocol.studio-roadmap-page · src/projections/studio/pages/roadmap-page.ts:168

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-roadmap-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.verification-panels.rule-coverage

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-rule-coverage

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.studio-on-ramp

    Implementing units

    • impl:protocol.studio-on-ramp · test/skills.test.ts:1693

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-on-ramp

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.upgrade-kit.rule-key-proposal

    Implementing units

    • impl:protocol.rule-key-proposal-recipe · test/upgrade-kit.test.ts:742

    Referencing units

    None.

    Enabled verifiers: spec:consumers.upgrade-kit.rule-key-proposal.collision-and-unkeyable, spec:consumers.upgrade-kit.rule-key-proposal.proposal-applies-clean

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:decisions.carrier-universality

    Implementing units

    None.

    Referencing units

    • impl:protocol.gherkin-kind-policy · src/extract/gherkin-kind-honesty.ts:6

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:protocol.roadmap-replaces-plans

    Implementing units

    • impl:protocol.roadmap-practice · test/check-self-hosting-gates.test.ts:52

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap-practice

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:validation.corpus-rules

    Implementing units

    • impl:protocol.corpus-rule-runner · src/cli/corpus-rules.ts:65
    • impl:protocol.corpus-rules · src/cli/validate-view-command.ts:79
    • impl:protocol.validate-watch · src/cli/validate-watch.ts:591

    Referencing units

    None.

    Enabled verifiers: spec:consumers.agent-surface.address-and-cycle-recipes.cycle-fails-a-rules-run, spec:consumers.agent-surface.address-and-cycle-recipes.unresolved-address-fails-a-rules-run, spec:validation.corpus-rules.copies-contain-changes, spec:validation.corpus-rules.error-finding-fails, spec:validation.corpus-rules.malformed-finding-fails, spec:validation.corpus-rules.params-edit-starts-a-cycle, spec:validation.corpus-rules.rules-edit-starts-a-cycle, spec:validation.corpus-rules.unreadable-params-fail-one-file, spec:validation.corpus-rules.warning-finding-informs

    Packs: pack:adopter-speed-v1, pack:corpus-checks-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:validation.duplicate-ids

    Implementing units

    • impl:protocol.duplicate-id-exclusion · src/extract/index.ts:93
    • impl:protocol.duplicate-ids · src/validate/validators.ts:263

    Referencing units

    None.

    Enabled verifiers: spec:validation.duplicate-ids.dual-carrier

    Packs: pack:self-hosting-v1

  • spec:validation.external-registers.uncited-on-request

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.external-registers.uncited-on-request

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:validation.external-registers.unknown-and-retired

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.external-registers.unknown-and-retired

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

Distance 4

  • spec:carrier.gherkin-authoring.authored-fact-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.authored-fact-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.contract-parity

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.contract-parity

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.description-location-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.description-location-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.duplicate-surface-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.duplicate-surface-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.example-space-extraction

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.example-space-extraction

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.malformed-relation-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.malformed-relation-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.missing-id-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.missing-id-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.multi-finding-bounded

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.multi-finding-bounded

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.parent-child-extraction

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.parent-child-extraction

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.step-less-scenario-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.step-less-scenario-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.unbound-ready-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.unbound-ready-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.unknown-tag-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.unknown-tag-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.gherkin-authoring.unsupported-construct-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.gherkin-authoring.unsupported-construct-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.inline-code-spans

    Implementing units

    • impl:protocol.inline-code-spans · src/extract/markdown-inline-code.ts:4

    Referencing units

    None.

    Enabled verifiers: spec:carrier.inline-code-spans.description, spec:carrier.inline-code-spans.list, spec:carrier.inline-code-spans.narrative, spec:carrier.inline-code-spans.pack

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.continuation-line-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.continuation-line-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.foreign-fence-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.foreign-fence-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.h3-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.h3-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.integer-term-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.integer-term-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.keyed-bullet-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.keyed-bullet-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.ordered-list-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.ordered-list-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.plain-bullet-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.plain-bullet-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.raw-html-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.raw-html-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.repeated-field-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.repeated-field-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.second-primary-owner-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.second-primary-owner-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.shared-description-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.shared-description-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.table-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.table-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.trailing-prose-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.trailing-prose-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-body-grammar.unrecognized-heading-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-body-grammar.unrecognized-heading-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-pack-authoring.markdown-ts-parity

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-pack-authoring.markdown-ts-parity

    Packs: pack:self-hosting-v1

  • spec:carrier.markdown-pack-authoring.spec-envelope-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.markdown-pack-authoring.spec-envelope-refused

    Packs: pack:self-hosting-v1

  • spec:carrier.sdp-import

    Implementing units

    • component:protocol.import · src/import/import.ts:45
    • impl:protocol.import-fidelity · src/import/markdown-fidelity.ts:102
    • impl:protocol.sdp-import · src/cli/import-command.ts:71
    • impl:protocol.sdp-import-core · src/import/import.ts:58
    • impl:protocol.sdp-import-markdown-emit · src/import/emit-markdown.ts:253
    • impl:protocol.sdp-import-publish · src/cli/import-publish.ts:23
    • impl:protocol.sdp-import-scan · src/cli/import-scan.ts:62

    Referencing units

    None.

    Enabled verifiers: spec:carrier.sdp-import.round-trip

    Packs: pack:self-hosting-v1

  • spec:carrier.slot-notation

    Implementing units

    • component:protocol.notation · src/notation/slots.ts:261
    • impl:protocol.slot-notation · src/notation/slots.ts:269

    Referencing units

    None.

    Enabled verifiers: spec:carrier.slot-notation.one-literal-binding, spec:carrier.slot-notation.refused-guess, spec:carrier.slot-notation.typed-declaration

    Packs: pack:self-hosting-v1

  • spec:consumers.agent-surface.example-space-coverage.number-not-enumerable

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-coverage-number

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.agent-surface.example-space-coverage.uncovered-literal

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-coverage-literal

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.command-line.generate-check-failure

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.command-line.generate-check-failure

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.command-line.generate-writes-every-root

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.command-line.generate-writes-every-root

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.command-line.verb-help-touches-nothing

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.command-line.verb-help-touches-nothing

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.context-bundle.oversized-member-named

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.context-bundle.oversized-member-named

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.context-bundle.parts-cover-the-pack

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.context-bundle.parts-cover-the-pack

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.chain

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.chain

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-absent

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-absent

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-differing

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-differing

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-matching

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-matching

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-unreadable

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-unreadable

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-unrelated

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-unrelated

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.decision-backlink

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.decision-backlink

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.dependency-cycle

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.dependency-cycle

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.folded-example

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.folded-example

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.independent-example

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.independent-example

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-components

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-components

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-holding

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-holding

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-satisfied

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-satisfied

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-unbound

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-unbound

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.intent-composition.proposal.memo

    Implementing units

    • impl:protocol.proposal-memo-recipe · test/recipes.test.ts:7298
    • impl:protocol.studio-proposal-memo · src/studio-elements/memo.ts:13

    Referencing units

    None.

    Enabled verifiers: spec:consumers.intent-composition.proposal.memo.shared

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.obsidian-vault.iteration.watch-rewrites-changed-notes

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.iteration.watch-rewrites-changed-notes

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.iteration.watch-source-anchor

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.iteration.watch-source-anchor

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.projections-model.roadmap-views

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.cycle-shares-a-round

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.cycle-shares-a-round

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.decision-first

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.decision-first

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.dependency-order

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.dependency-order

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.owner-question-holds

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.owner-question-holds

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.blocking-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.blocking-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.buildable-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.buildable-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.built-work

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.built-work

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.design-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.design-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.drifting-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.drifting-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.missing-evidence

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.missing-evidence

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.outside-parent

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.outside-parent

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.statement-order

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.statement-order

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.statement-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.statement-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.dependency

    Implementing units

    • impl:protocol.studio-slice-dependencies · src/projections/studio/diagrams/slice.ts:10

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-dependency

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.scoped-architecture

    Implementing units

    • impl:protocol.studio-slice-architecture · src/projections/studio/diagrams/slice.ts:219

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-architecture

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.glossary-page

    Implementing units

    • impl:protocol.studio-glossary · src/projections/studio/pages/glossary-page.ts:7

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.glossary-page.same-word-twice

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.intent-panel

    Implementing units

    • impl:protocol.studio-compose · src/studio-elements/compose.ts:13
    • impl:protocol.studio-frame · src/projections/studio/pages/frame.ts:6
    • impl:protocol.studio-intent-panel · src/studio-elements/intent-panel.ts:51
    • impl:protocol.studio-intent-panel-element · src/studio-elements/intent-panel-element.ts:14
    • impl:protocol.studio-scenario-editor · src/studio-elements/scenario-editor.ts:17

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.intent-panel.refresh-keeps-intents, test:protocol.studio-intent-handoff

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.tests

    Implementing units

    • impl:protocol.studio-tests-lens · src/projections/studio/pages/tests-page.ts:34

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.lenses.tests.coverage-row

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.owner-queue

    Implementing units

    • impl:protocol.studio-owner-queue · src/projections/studio/pages/queue-page.ts:9

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.owner-queue.dependency-first

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.publisher.watch.matches-plain-run

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-watch-plain

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.sharing

    Implementing units

    • impl:protocol.stamp-command · src/cli/stamp-command.ts:8
    • impl:protocol.studio-preview-workflow · test/studio-s4.test.ts:742
    • impl:protocol.studio-stamp · src/studio-elements/stamp.ts:30

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.sharing.stamp-written-apart

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.slice-page

    Implementing units

    • impl:protocol.studio-slice-page · src/projections/studio/pages/slice-page.ts:25

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.rule-key-proposal.collision-and-unkeyable

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.rule-key-proposal.collision-and-unkeyable

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.rule-key-proposal.proposal-applies-clean

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.rule-key-proposal.proposal-applies-clean

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.vault-on-ramp

    Implementing units

    • impl:protocol.vault-on-ramp · test/skills.test.ts:1995

    Referencing units

    None.

    Enabled verifiers: test:protocol.vault-on-ramp

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:decisions.carrier-ruling

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.sdp-ts-extension

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:extraction.pack-member-order

    Implementing units

    • impl:protocol.markdown-yaml-policy · src/extract/markdown-yaml-policy.ts:33
    • impl:protocol.open-section-order · src/extract/serialize.ts:105
    • impl:protocol.pack-coherence · src/validate/validators.ts:1102
    • impl:protocol.pack-design-page · src/projections/design-review-pages.ts:120
    • impl:protocol.pack-member-order · src/extract/derive.ts:153
    • impl:protocol.reader · src/reader/reader.ts:687

    Referencing units

    None.

    Enabled verifiers: spec:extraction.pack-member-order.manifest-order-kept, test:protocol.roadmap-priority

    Packs: pack:self-hosting-v1

  • spec:model.open-question-keys

    Implementing units

    • impl:protocol.open-question-keys · src/extract/markdown-body-owner-behavior.ts:38
    • impl:protocol.open-section-order · src/extract/serialize.ts:105
    • impl:protocol.prose-mentions · src/validate/validators.ts:1370
    • impl:protocol.register-recipes · test/recipes.test.ts:2057
    • impl:protocol.sdp-import-markdown-emit · src/import/emit-markdown.ts:253
    • impl:protocol.stable-ids · src/ids.ts:173
    • impl:protocol.static-reification · src/extract/reify.ts:2139

    Referencing units

    None.

    Enabled verifiers: spec:model.open-question-keys.keyed-question-resolves, spec:model.open-question-keys.renamed-key-breaks, spec:model.open-question-keys.repeated-key-refused

    Packs: pack:self-hosting-v1

  • spec:protocol.delivery-record-cleanup

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmap, pack:self-hosting-v1

  • spec:protocol.self-hosting

    Implementing units

    • impl:protocol.self-hosting · test/self-hosting-graph.test.ts:136

    Referencing units

    None.

    Enabled verifiers: test:protocol.self-hosting

    Packs: pack:self-hosting-v1

  • spec:validation.architecture-constraints

    Implementing units

    • impl:protocol.architecture-walk-recipe · test/architecture-recipes.test.ts:10

    Referencing units

    None.

    Enabled verifiers: spec:validation.architecture-constraints.forbidden-layer-pair, spec:validation.architecture-constraints.isolated-context-as-rule, spec:validation.architecture-constraints.unstated-layer-unclassified

    Packs: pack:corpus-checks-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:validation.corpus-rules.copies-contain-changes

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.corpus-rules.copies-contain-changes

    Packs: pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.corpus-rules.error-finding-fails

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.corpus-rules.error-finding-fails

    Packs: pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.corpus-rules.malformed-finding-fails

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.corpus-rules.malformed-finding-fails

    Packs: pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.corpus-rules.params-edit-starts-a-cycle

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.corpus-rules.params-edit-starts-a-cycle

    Packs: pack:adopter-speed-v1, pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.corpus-rules.rules-edit-starts-a-cycle

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.corpus-rules.rules-edit-starts-a-cycle

    Packs: pack:adopter-speed-v1, pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.corpus-rules.unreadable-params-fail-one-file

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.corpus-rules.unreadable-params-fail-one-file

    Packs: pack:adopter-speed-v1, pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.corpus-rules.warning-finding-informs

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.corpus-rules.warning-finding-informs

    Packs: pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.duplicate-ids.dual-carrier

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.duplicate-ids.dual-carrier

    Packs: pack:self-hosting-v1

Distance 5

  • spec:carrier.inline-code-spans.description

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.inline-code-spans.description

    Packs: pack:self-hosting-v1

  • spec:carrier.inline-code-spans.list

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.inline-code-spans.list

    Packs: pack:self-hosting-v1

  • spec:carrier.inline-code-spans.narrative

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.inline-code-spans.narrative

    Packs: pack:self-hosting-v1

  • spec:carrier.inline-code-spans.pack

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.inline-code-spans.pack

    Packs: pack:self-hosting-v1

  • spec:carrier.sdp-import.feature-adapter

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:carrier.sdp-import.round-trip

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.sdp-import.round-trip

    Packs: pack:self-hosting-v1

  • spec:carrier.slot-notation.one-literal-binding

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.slot-notation.one-literal-binding

    Packs: pack:self-hosting-v1

  • spec:carrier.slot-notation.refused-guess

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.slot-notation.refused-guess

    Packs: pack:self-hosting-v1

  • spec:carrier.slot-notation.typed-declaration

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.slot-notation.typed-declaration

    Packs: pack:self-hosting-v1

  • spec:carrier.step-keys

    Implementing units

    • impl:protocol.example-runner · src/runner/index.ts:108
    • impl:protocol.example-space-decoding · src/notation/example-space.ts:473
    • impl:protocol.executable-contracts · src/codegen/contracts.ts:647
    • impl:protocol.key-markers · src/extract/key-markers.ts:136
    • impl:protocol.open-section-order · src/extract/serialize.ts:105
    • impl:protocol.sdp-import-markdown-emit · src/import/emit-markdown.ts:253
    • impl:protocol.spec-sections · src/model/sections.ts:138

    Referencing units

    None.

    Enabled verifiers: spec:carrier.step-keys.conflicting-example-key-withheld, spec:carrier.step-keys.gherkin-keyed-step-stays-bound, spec:carrier.step-keys.key-equal-to-a-skeleton-withheld, spec:carrier.step-keys.malformed-marker-refused, spec:carrier.step-keys.renamed-key-breaks, spec:carrier.step-keys.repeated-key-refused, spec:carrier.step-keys.reworded-keyed-step-stays-bound, spec:carrier.step-keys.reworded-unkeyed-step-breaks, spec:carrier.step-keys.two-keys-on-one-step-refused, spec:carrier.step-keys.typescript-keyed-step-imports-keyed, test:protocol.keyed-content

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.intent-composition.proposal.memo.shared

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-memo-shared

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.pack-design

    Implementing units

    • impl:protocol.pack-design · src/reader/reader.ts:499

    Referencing units

    None.

    Enabled verifiers: test:protocol.pack-design

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.components

    Implementing units

    • component:protocol.studio-elements · src/studio-elements/index.ts:13
    • impl:protocol.studio-compose · src/studio-elements/compose.ts:13
    • impl:protocol.studio-diagram-element · src/studio-elements/diagram.ts:23
    • impl:protocol.studio-filter · src/studio-elements/filter.ts:25
    • impl:protocol.studio-intent-panel-element · src/studio-elements/intent-panel-element.ts:14
    • impl:protocol.studio-maturity-map · src/projections/studio/pages/maturity-map.ts:7
    • impl:protocol.studio-pack-page · src/projections/studio/pages/pack-page.ts:68
    • impl:protocol.studio-scenario-editor · src/studio-elements/scenario-editor.ts:17
    • impl:protocol.studio-search-results · src/studio-elements/search-results.ts:95
    • impl:protocol.studio-spec-structure · src/projections/studio/pages/spec-structure.ts:44
    • impl:protocol.studio-verification-panels · src/projections/studio/pages/spec-verification.ts:74

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-intent-handoff

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.data

    Implementing units

    • impl:protocol.studio-data · src/projections/studio/data.ts:279

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-data

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.glossary-page.same-word-twice

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-glossary-same-word-twice

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.intent-panel.refresh-keeps-intents

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-intents-refresh

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.packs

    Implementing units

    • impl:protocol.studio-index-page · src/projections/studio/pages/index-page.ts:8

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-lenses

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.tests.coverage-row

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-tests-coverage-row

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.owner-queue.dependency-first

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-queue-dependency-first

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.sharing.stamp-written-apart

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-stamp-apart

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.shell

    Implementing units

    • impl:protocol.studio-code-spans · src/projections/studio/pages/code-spans.ts:9
    • impl:protocol.studio-frame · src/projections/studio/pages/frame.ts:6
    • impl:protocol.studio-html · src/projections/studio/pages/html.ts:8
    • impl:protocol.studio-text · src/projections/studio/pages/text.ts:7

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-pages

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:decisions.adopt-the-nouns

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.concept-docs-dissolve

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.executable-meta-model

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.gherkin-carrier-option

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.pack-markdown-carrier

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.plain-language-references

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.protocol-naming

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.question-key-rendering

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.sdp-gherkin-extension

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:extraction.contract-declarations

    Implementing units

    • impl:protocol.pack-design · src/reader/reader.ts:499
    • impl:protocol.register-recipes · test/recipes.test.ts:2057

    Referencing units

    None.

    Enabled verifiers: test:protocol.register-recipes

    Packs: pack:self-hosting-v1

  • spec:extraction.entry-locations

    Implementing units

    • impl:protocol.entry-location-recipes · test/recipes.test.ts:5979
    • impl:protocol.entry-locations · src/extract/derive.ts:78
    • impl:protocol.reader · src/reader/reader.ts:687

    Referencing units

    • impl:protocol.pack-design · src/reader/reader.ts:499

    Enabled verifiers: test:protocol.entry-locations

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:extraction.pack-member-order.manifest-order-kept

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.pack-member-order

    Packs: pack:self-hosting-v1

  • spec:model.open-question-fields

    Implementing units

    • impl:protocol.authoring-grammar-recipes · test/recipes.test.ts:6597
    • impl:protocol.authoring-normalization · src/extract/authoring-normalization.ts:8

    Referencing units

    None.

    Enabled verifiers: spec:model.open-question-fields.dropped-list-warns, test:protocol.authoring-grammar, test:protocol.authoring-grammar-recipes

    Packs: pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:model.open-question-keys.keyed-question-resolves

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.open-question-keys.keyed-question-resolves

    Packs: pack:self-hosting-v1

  • spec:model.open-question-keys.renamed-key-breaks

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.open-question-keys.renamed-key-breaks

    Packs: pack:self-hosting-v1

  • spec:model.open-question-keys.repeated-key-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.open-question-keys.repeated-key-refused

    Packs: pack:self-hosting-v1

  • spec:model.rule-keys

    Implementing units

    • impl:protocol.authoring-grammar-recipes · test/recipes.test.ts:6597
    • impl:protocol.authoring-normalization · src/extract/authoring-normalization.ts:8
    • impl:protocol.rule-exercises · src/validate/validators.ts:1479

    Referencing units

    None.

    Enabled verifiers: test:protocol.authoring-grammar, test:protocol.authoring-grammar-recipes

    Packs: pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:protocol.capability-epics

    Implementing units

    • impl:protocol.capability-epics · test/recipes.test.ts:8173

    Referencing units

    None.

    Enabled verifiers: test:protocol.capability-epics

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:protocol.structural-self-binding

    Implementing units

    • impl:protocol.structural-self-binding · test/self-hosting-oracle/structural-edges.ts:76

    Referencing units

    None.

    Enabled verifiers: test:protocol.structural-self-binding

    Packs: pack:self-hosting-v1

  • spec:validation.architecture-constraints.forbidden-layer-pair

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.architecture-constraints.forbidden-layer-pair

    Packs: pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.architecture-constraints.isolated-context-as-rule

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.architecture-constraints.isolated-context-as-rule

    Packs: pack:corpus-checks-v1, pack:self-hosting-v1

  • spec:validation.architecture-constraints.unstated-layer-unclassified

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.validation.architecture-constraints.unstated-layer-unclassified

    Packs: pack:corpus-checks-v1, pack:self-hosting-v1

Distance 6

  • spec:carrier.step-keys.conflicting-example-key-withheld

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.conflicting-example-key-withheld

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.gherkin-keyed-step-stays-bound

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.gherkin-keyed-step-stays-bound

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.key-equal-to-a-skeleton-withheld

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.key-equal-to-a-skeleton-withheld

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.malformed-marker-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.malformed-marker-refused

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.renamed-key-breaks

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.renamed-key-breaks

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.repeated-key-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.repeated-key-refused

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.reworded-keyed-step-stays-bound

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.reworded-keyed-step-stays-bound

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.reworded-unkeyed-step-breaks

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.reworded-unkeyed-step-breaks

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.two-keys-on-one-step-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.two-keys-on-one-step-refused

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:carrier.step-keys.typescript-keyed-step-imports-keyed

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.step-keys.typescript-keyed-step-imports-keyed

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.design-review

    Implementing units

    • impl:protocol.design-review · src/projections/design-review.ts:44
    • impl:protocol.design-review-codec · src/projections/design-review-markdown.ts:3

    Referencing units

    None.

    Enabled verifiers: spec:consumers.design-review.pure-projection

    Packs: pack:self-hosting-v1

  • spec:consumers.design-review.pack-design-page

    Implementing units

    • impl:protocol.pack-design-page · src/projections/design-review-pages.ts:120

    Referencing units

    • impl:protocol.pack-design-sections · src/projections/design-review-pack-sections.ts:19

    Enabled verifiers: test:protocol.pack-design-page

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.bases

    Implementing units

    • impl:protocol.vault-bases · src/projections/vault/bases.ts:43
    • impl:protocol.vault-notes · src/projections/vault/notes.ts:45

    Referencing units

    None.

    Enabled verifiers: spec:consumers.obsidian-vault.bases.views-match-sources

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.review-perspectives

    Implementing units

    • impl:protocol.perspective-filter-recipe · test/iteration-recipes.test.ts:753

    Referencing units

    None.

    Enabled verifiers: test:protocol.perspective-filter-recipe

    Packs: pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.data.inputs

    Implementing units

    • impl:protocol.studio-base-input · src/cli/studio-inputs.ts:9
    • impl:protocol.studio-command · src/cli/studio-command.ts:106
    • impl:protocol.studio-inputs · src/projections/studio/inputs.ts:1

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.data.inputs.both-given, spec:consumers.spec-studio.data.inputs.graph-only

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.data.recipe-answers

    Implementing units

    • impl:protocol.studio-recipes · src/projections/studio/recipes.ts:34

    Referencing units

    • impl:protocol.studio-register-contracts · src/projections/studio/pages/register-answers.ts:4

    Enabled verifiers: test:protocol.studio-lenses

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.diagram-kinds.requirement-trace

    Implementing units

    • impl:protocol.studio-requirement-diagram · src/projections/studio/diagrams/requirement.ts:12
    • impl:protocol.studio-requirement-view · src/projections/studio/pages/requirement-view.ts:8

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-maturity-requirement, test:protocol.studio-diagram-core

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagrams

    Implementing units

    • impl:protocol.studio-architecture-diagrams · src/projections/studio/diagrams/architecture.ts:4
    • impl:protocol.studio-diagram-element · src/studio-elements/diagram.ts:23
    • impl:protocol.studio-diagram-model · src/projections/studio/diagrams/model.ts:1
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73
    • impl:protocol.studio-relation-diagrams · src/projections/studio/diagrams/bands.ts:10

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.diagrams.folds-by-context, spec:consumers.spec-studio.diagrams.folds-by-layer, spec:consumers.spec-studio.diagrams.within-bound, test:protocol.studio-diagram-core

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.index-page

    Implementing units

    • impl:protocol.studio-index-page · src/projections/studio/pages/index-page.ts:8

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-pages

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses

    Implementing units

    • impl:protocol.studio-architecture-lens · src/projections/studio/pages/architecture-page.ts:50
    • impl:protocol.studio-evidence-lens · src/projections/studio/pages/evidence-page.ts:3
    • impl:protocol.studio-frame · src/projections/studio/pages/frame.ts:6
    • impl:protocol.studio-tests-lens · src/projections/studio/pages/tests-page.ts:34

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-lenses

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.navigation

    Implementing units

    • impl:protocol.studio-frame · src/projections/studio/pages/frame.ts:6
    • impl:protocol.studio-index-page · src/projections/studio/pages/index-page.ts:8

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-navigation, test:protocol.studio-roadmap-page

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.pack-page

    Implementing units

    • impl:protocol.studio-pack-page · src/projections/studio/pages/pack-page.ts:68

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap-priority, test:protocol.studio-pages

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.page-elements

    Implementing units

    • component:protocol.studio-elements · src/studio-elements/index.ts:13
    • impl:protocol.studio-copy · src/studio-elements/copy.ts:22
    • impl:protocol.studio-expander · src/studio-elements/expander.ts:16
    • impl:protocol.studio-filter · src/studio-elements/filter.ts:25
    • impl:protocol.studio-search-form · src/studio-elements/search.ts:18
    • impl:protocol.studio-search-results · src/studio-elements/search-results.ts:95
    • impl:protocol.studio-stamp · src/studio-elements/stamp.ts:30

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-copy-source, test:protocol.studio-page-elements

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.publisher

    Implementing units

    • impl:protocol.build-pipeline-emit · src/cli/build-command.ts:251
    • impl:protocol.studio-command · src/cli/studio-command.ts:106
    • impl:protocol.studio-page-catalog · src/projections/studio/pages/index.ts:21
    • impl:protocol.studio-paths · src/projections/studio/paths.ts:2
    • impl:protocol.studio-publish · src/projections/studio/publish.ts:24

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-data, test:protocol.studio-publisher

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.search

    Implementing units

    • impl:protocol.studio-concept-match · src/reader/concept-match.ts:43
    • impl:protocol.studio-search-page · src/projections/studio/pages/search-page.ts:5
    • impl:protocol.studio-search-results · src/studio-elements/search-results.ts:95

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-concept-match, test:protocol.studio-page-elements, test:protocol.studio-pages

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:decisions.pack-design-page

    Implementing units

    None.

    Referencing units

    • impl:protocol.pack-design-page · src/projections/design-review-pages.ts:120

    Enabled verifiers: None

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:decisions.roadmap-priority

    Implementing units

    None.

    Referencing units

    • impl:protocol.pack-aggregate · src/model/pack.ts:23
    • impl:protocol.pack-member-order · src/extract/derive.ts:153

    Enabled verifiers: None

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:extraction.entry-citations

    Implementing units

    • impl:protocol.entry-address-resolution · src/graph/entry-address.ts:6
    • impl:protocol.entry-citation-reader · src/reader/entry-citations.ts:19
    • impl:protocol.entry-citation-recipe · test/recipes.test.ts:7008
    • impl:protocol.entry-citation-scan · src/extract/entry-citations.ts:6

    Referencing units

    None.

    Enabled verifiers: spec:extraction.entry-citations.code-comment-cites-declaration, spec:extraction.entry-citations.test-title-cites-declaration, spec:extraction.entry-citations.unanchored-file-unread, spec:extraction.entry-citations.unresolved-citation

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:extraction.executable-contracts

    Implementing units

    • impl:protocol.example-space · src/graph/example-space.ts:117
    • impl:protocol.executable-contracts · src/codegen/contracts.ts:647

    Referencing units

    None.

    Enabled verifiers: spec:carrier.step-keys.conflicting-example-key-withheld, spec:carrier.step-keys.key-equal-to-a-skeleton-withheld, spec:carrier.step-keys.reworded-keyed-step-stays-bound, spec:carrier.step-keys.reworded-unkeyed-step-breaks, spec:extraction.executable-contracts.case-colliding-path, spec:extraction.executable-contracts.concreteness-refusal, spec:extraction.executable-contracts.multi-entry-example

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:extraction.runnable-modules

    Implementing units

    • component:protocol.codegen · src/codegen/contracts.ts:633
    • component:protocol.testing · src/testing/index.ts:38
    • impl:protocol.example-testing-helpers · src/testing/index.ts:50
    • impl:protocol.runnable-modules · src/codegen/contracts.ts:658

    Referencing units

    None.

    Enabled verifiers: test:protocol.runnable-modules, test:protocol.runnable-modules-generation, test:protocol.runnable-modules-types

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:model.design-maturity

    Implementing units

    • impl:protocol.pack-design · src/reader/reader.ts:499

    Referencing units

    None.

    Enabled verifiers: test:protocol.pack-design

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:model.enrichment-lifecycle

    Implementing units

    • impl:protocol.slimming-recipe · test/curation-recipes.test.ts:26

    Referencing units

    None.

    Enabled verifiers: test:protocol.slimming-recipe

    Packs: pack:design-iteration-v1, pack:self-hosting-v1

  • spec:model.open-question-fields.dropped-list-warns

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.open-question-fields.dropped-list-warns

    Packs: pack:self-hosting-v1

  • spec:model.term-addresses

    Implementing units

    • impl:protocol.address-and-cycle-recipes · test/recipes.test.ts:3568
    • impl:protocol.entry-locations · src/extract/derive.ts:78
    • impl:protocol.key-markers · src/extract/key-markers.ts:136
    • impl:protocol.open-section-order · src/extract/serialize.ts:105
    • impl:protocol.prose-mentions · src/validate/validators.ts:1370
    • impl:protocol.register-recipes · test/recipes.test.ts:2057
    • impl:protocol.sdp-import-markdown-emit · src/import/emit-markdown.ts:253
    • impl:protocol.spec-sections · src/model/sections.ts:138
    • impl:protocol.stable-ids · src/ids.ts:173

    Referencing units

    None.

    Enabled verifiers: spec:model.term-addresses.keyed-term-resolves, spec:model.term-addresses.malformed-term-marker-refused, spec:model.term-addresses.repeated-term-key-refused, spec:model.term-addresses.typescript-term-imports-keyed, spec:model.term-addresses.unknown-term-key-refused, test:protocol.keyed-content

    Packs: pack:adopter-speed-v1, pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:protocol.role-vocabulary

    Implementing units

    • impl:protocol.role-vocabulary · test/self-hosting-graph.test.ts:143

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:protocol.significant-units-review

    Implementing units

    • impl:protocol.structural-self-binding · test/self-hosting-oracle/structural-edges.ts:76

    Referencing units

    None.

    Enabled verifiers: test:protocol.structural-self-binding

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:validation.prose-mentions

    Implementing units

    • impl:protocol.entry-address-resolution · src/graph/entry-address.ts:6
    • impl:protocol.prose-mentions · src/validate/validators.ts:1370

    Referencing units

    None.

    Enabled verifiers: test:protocol.entry-locations, test:protocol.prose-mentions

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal

    Implementing units

    • impl:protocol.superseded-decision-signal · src/validate/validators.ts:1817

    Referencing units

    None.

    Enabled verifiers: spec:validation.superseded-decision-signal.branch-names-every-end, spec:validation.superseded-decision-signal.chain-end-named, spec:validation.superseded-decision-signal.closed-chain-named, spec:validation.superseded-decision-signal.dependency-unread, spec:validation.superseded-decision-signal.end-and-loop-named, spec:validation.superseded-decision-signal.live-replacement-warns, spec:validation.superseded-decision-signal.replaced-ruling-warns, spec:validation.superseded-decision-signal.replacement-below-ready-named, spec:validation.superseded-decision-signal.superseded-subject-silent

    Packs: pack:design-management-v1, pack:self-hosting-v1

Distance 7

  • spec:consumers.binding-language-views

    Implementing units

    • impl:protocol.binding-language-index-table · src/projections/design-review-pages.ts:201
    • impl:protocol.binding-language-spec-page · src/projections/design-review-context.ts:95

    Referencing units

    None.

    Enabled verifiers: spec:consumers.binding-language-views.bound-spec-page, spec:consumers.binding-language-views.pack-member-table

    Packs: pack:self-hosting-v1

  • spec:consumers.derived-readiness-banner

    Implementing units

    • impl:protocol.derived-readiness-banner · src/projections/design-review-context.ts:18

    Referencing units

    None.

    Enabled verifiers: spec:consumers.derived-readiness-banner.dishonest-divergence, spec:consumers.derived-readiness-banner.honest-headroom, test:protocol.derived-readiness-banner.idea-floor-unmet

    Packs: pack:self-hosting-v1

  • spec:consumers.design-diff

    Implementing units

    • impl:protocol.design-diff-recipe · test/iteration-recipes.test.ts:27

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-diff-recipe, test:protocol.roadmap-priority

    Packs: pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.design-review.pure-projection

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-review.pure-projection

    Packs: pack:self-hosting-v1

  • spec:consumers.obsidian-vault.bases.views-match-sources

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.bases.views-match-sources

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.notes

    Implementing units

    • impl:protocol.vault-notes · src/projections/vault/notes.ts:45
    • impl:protocol.vault-sections · src/projections/vault/sections.ts:10
    • impl:protocol.vault-text · src/projections/vault/text.ts:30

    Referencing units

    None.

    Enabled verifiers: spec:consumers.obsidian-vault.notes.case-collision-refused, spec:consumers.obsidian-vault.notes.entry-address-link, spec:consumers.obsidian-vault.notes.term-address-link, spec:consumers.obsidian-vault.notes.unresolved-mention-stays, test:protocol.vault-priority

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.capability-map-page

    Implementing units

    • impl:protocol.studio-capabilities-page · src/projections/studio/pages/capabilities-page.ts:78
    • impl:protocol.studio-filter · src/studio-elements/filter.ts:25
    • impl:protocol.studio-frame · src/projections/studio/pages/frame.ts:6
    • impl:protocol.studio-index-page · src/projections/studio/pages/index-page.ts:8

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-capabilities

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.data.inputs.both-given

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-inputs-both-given

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.data.inputs.graph-only

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-graph-only

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.diagram-kinds

    Implementing units

    • impl:protocol.studio-architecture-lens · src/projections/studio/pages/architecture-page.ts:50
    • impl:protocol.studio-capability-diagrams · src/projections/studio/diagrams/capability.ts:101
    • impl:protocol.studio-diagram-layout · src/projections/studio/diagrams/layout.ts:140
    • impl:protocol.studio-diagram-source · src/projections/studio/diagrams/mermaid.ts:13
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73
    • impl:protocol.studio-maturity-map · src/projections/studio/pages/maturity-map.ts:7
    • impl:protocol.studio-requirement-diagram · src/projections/studio/diagrams/requirement.ts:12
    • impl:protocol.studio-slice-architecture · src/projections/studio/diagrams/slice.ts:219
    • impl:protocol.studio-slice-dependencies · src/projections/studio/diagrams/slice.ts:10

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-catalog

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.edge-routing

    Implementing units

    • impl:protocol.studio-diagram-routing · src/projections/studio/diagrams/routing.ts:38
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-core

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.legibility

    Implementing units

    • impl:protocol.studio-diagram-element · src/studio-elements/diagram.ts:23
    • impl:protocol.studio-diagram-layout · src/projections/studio/diagrams/layout.ts:140
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-core

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.mermaid-source

    Implementing units

    • impl:protocol.studio-diagram-source · src/projections/studio/diagrams/mermaid.ts:13
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-core

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagrams.folds-by-context

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-folds-context

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.diagrams.folds-by-layer

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-folds-layer

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.diagrams.within-bound

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-within-bound

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.diff-page

    Implementing units

    • impl:protocol.studio-diff · src/projections/studio/pages/diff-page.ts:91

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.diff-page.changed-entry, test:protocol.roadmap-priority

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.architecture

    Implementing units

    • impl:protocol.studio-architecture-lens · src/projections/studio/pages/architecture-page.ts:50

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.lenses.architecture.planned-apart, test:protocol.studio-architecture-maturity-requirement

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.evidence

    Implementing units

    • impl:protocol.studio-evidence-lens · src/projections/studio/pages/evidence-page.ts:3

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-lenses

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.pack-page.maturity-map

    Implementing units

    • impl:protocol.studio-maturity-map · src/projections/studio/pages/maturity-map.ts:7

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-maturity-requirement, test:protocol.studio-panels

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.runs-page

    Implementing units

    • impl:protocol.studio-run-rows · src/projections/studio/pages/run-rows.ts:69
    • impl:protocol.studio-runs-page · src/projections/studio/pages/runs-page.ts:6

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.runs-page.external-evidence

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.wholesale-view-rewrite

    Implementing units

    • impl:protocol.build-pipeline-emit · src/cli/build-command.ts:251
    • impl:protocol.wholesale-view-rewrite · src/cli/validate-view-command.ts:128

    Referencing units

    None.

    Enabled verifiers: spec:consumers.wholesale-view-rewrite.build-invalidates-view, spec:consumers.wholesale-view-rewrite.failed-run-view-removed, spec:consumers.wholesale-view-rewrite.late-stale-page, spec:consumers.wholesale-view-rewrite.stale-page-removed

    Packs: pack:self-hosting-v1

  • spec:decisions.adopted-registrars-committed

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.authored-entry-order

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:decisions.roadmap-over-plans

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:extraction.entry-citations.code-comment-cites-declaration

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.entry-citations.code-comment-cites-declaration

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:extraction.entry-citations.test-title-cites-declaration

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.entry-citations.test-title-cites-declaration

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:extraction.entry-citations.unanchored-file-unread

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.entry-citations.unanchored-file-unread

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:extraction.entry-citations.unresolved-citation

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.entry-citations.unresolved-citation

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:extraction.example-runner

    Implementing units

    • component:protocol.adapters · src/adapters/vitest.ts:23
    • component:protocol.runner · src/runner/index.ts:99
    • impl:protocol.example-runner · src/runner/index.ts:108
    • impl:protocol.example-runner-adapter · src/adapters/vitest.ts:32

    Referencing units

    None.

    Enabled verifiers: spec:extraction.example-runner.red-step-naming, spec:extraction.example-runner.step-order, test:protocol.example-runner-cleanup

    Packs: pack:self-hosting-v1

  • spec:extraction.executable-contracts.case-colliding-path

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.executable-contracts.case-colliding-path

    Packs: pack:self-hosting-v1

  • spec:extraction.executable-contracts.concreteness-refusal

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.executable-contracts.concreteness-refusal

    Packs: pack:self-hosting-v1

  • spec:extraction.executable-contracts.multi-entry-example

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.executable-contracts.multi-entry-example

    Packs: pack:self-hosting-v1

  • spec:model.pack-aggregate

    Implementing units

    • impl:protocol.pack-aggregate · src/model/pack.ts:23

    Referencing units

    None.

    Enabled verifiers: test:protocol.pack-builder, test:protocol.roadmap-priority

    Packs: pack:self-hosting-v1

  • spec:model.term-addresses.keyed-term-resolves

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.term-addresses.keyed-term-resolves

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:model.term-addresses.malformed-term-marker-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.term-addresses.malformed-term-marker-refused

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:model.term-addresses.repeated-term-key-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.term-addresses.repeated-term-key-refused

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:model.term-addresses.typescript-term-imports-keyed

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.term-addresses.typescript-term-imports-keyed

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:model.term-addresses.unknown-term-key-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.term-addresses.unknown-term-key-refused

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:validation.diagnostic-rendering

    Implementing units

    • impl:protocol.diagnostic-rendering-cli · src/cli/output.ts:23
    • impl:protocol.diagnostic-rendering-design-review · src/projections/design-review-context.ts:208
    • impl:protocol.validate-summary · src/cli/validate-view-command.ts:23
    • impl:protocol.validation-contracts · src/validate/contracts.ts:5

    Referencing units

    None.

    Enabled verifiers: spec:validation.diagnostic-rendering.composed-location, spec:validation.diagnostic-rendering.table-cell-location

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.branch-names-every-end

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.branch-names-every-end

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.chain-end-named

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.chain-end-named

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.closed-chain-named

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.closed-chain-named

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.dependency-unread

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.dependency-unread

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.end-and-loop-named

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.end-and-loop-named

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.live-replacement-warns

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.live-replacement-warns

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.replaced-ruling-warns

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.replaced-ruling-warns

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.replacement-below-ready-named

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.replacement-below-ready-named

    Packs: pack:self-hosting-v1

  • spec:validation.superseded-decision-signal.superseded-subject-silent

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.superseded-decision-signal.superseded-subject-silent

    Packs: pack:self-hosting-v1

Distance 8

  • spec:consumers.binding-language-views.bound-spec-page

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.binding-language-views.bound-spec-page

    Packs: pack:self-hosting-v1

  • spec:consumers.binding-language-views.pack-member-table

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.binding-language-views.pack-member-table

    Packs: pack:self-hosting-v1

  • spec:consumers.census-page

    Implementing units

    • impl:protocol.census-page · src/projections/census.ts:21
    • impl:protocol.census-page-cli · src/cli/census-command.ts:66

    Referencing units

    None.

    Enabled verifiers: test:protocol.census-page

    Packs: pack:self-hosting-v1

  • spec:consumers.derived-readiness-banner.dishonest-divergence

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.derived-readiness-banner.dishonest-divergence

    Packs: pack:self-hosting-v1

  • spec:consumers.derived-readiness-banner.honest-headroom

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.derived-readiness-banner.honest-headroom

    Packs: pack:self-hosting-v1

  • spec:consumers.mermaid-view

    Implementing units

    • impl:protocol.mermaid-view · src/projections/mermaid.ts:14
    • impl:protocol.mermaid-view-cli · src/cli/mermaid-command.ts:82

    Referencing units

    None.

    Enabled verifiers: test:protocol.mermaid-view

    Packs: pack:self-hosting-v1

  • spec:consumers.obsidian-vault

    Implementing units

    • impl:protocol.vault-command · src/cli/vault-command.ts:191
    • impl:protocol.vault-notes · src/projections/vault/notes.ts:45
    • impl:protocol.vault-sync · src/projections/vault/sync.ts:98

    Referencing units

    None.

    Enabled verifiers: spec:consumers.obsidian-vault.changed-note-refused, spec:consumers.obsidian-vault.failed-extraction-keeps-notes, spec:consumers.obsidian-vault.failed-extraction-recovered, spec:consumers.obsidian-vault.fresh-vault, spec:consumers.obsidian-vault.hidden-file-refused, spec:consumers.obsidian-vault.interrupted-run-recovered, spec:consumers.obsidian-vault.person-notes-survive, spec:consumers.obsidian-vault.unknown-note-refused, spec:consumers.obsidian-vault.vault-in-build-path-refused

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.notes.case-collision-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.notes.case-collision-refused

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.notes.entry-address-link

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.notes.entry-address-link

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.notes.term-address-link

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.notes.term-address-link

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.notes.unresolved-mention-stays

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.notes.unresolved-mention-stays

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.capability-tree

    Implementing units

    • impl:protocol.studio-capability-diagrams · src/projections/studio/diagrams/capability.ts:101
    • impl:protocol.studio-diagram-source · src/projections/studio/diagrams/mermaid.ts:13

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-capabilities

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.maturity-picture

    Implementing units

    • impl:protocol.studio-maturity-map · src/projections/studio/pages/maturity-map.ts:7

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-maturity-requirement

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diff-page.changed-entry

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diff-changed-entry

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.architecture.planned-apart

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-planned-apart

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.architecture.unit-register

    Implementing units

    • impl:protocol.studio-unit-register · src/projections/studio/pages/architecture-register.ts:7

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-maturity-requirement

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.runs-page.external-evidence

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.run-external

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.structural-mermaid

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.wholesale-view-rewrite.build-invalidates-view

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.wholesale-view-rewrite.build-invalidates-view

    Packs: pack:self-hosting-v1

  • spec:consumers.wholesale-view-rewrite.failed-run-view-removed

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.wholesale-view-rewrite.failed-run-view-removed

    Packs: pack:self-hosting-v1

  • spec:consumers.wholesale-view-rewrite.late-stale-page

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.wholesale-view-rewrite.late-stale-page

    Packs: pack:self-hosting-v1

  • spec:consumers.wholesale-view-rewrite.stale-page-removed

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.wholesale-view-rewrite.stale-page-removed

    Packs: pack:self-hosting-v1

  • spec:decisions.pack-reified

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

  • spec:extraction.example-runner.red-step-naming

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.example-runner.red-step-naming

    Packs: pack:self-hosting-v1

  • spec:extraction.example-runner.step-order

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.example-runner.step-order

    Packs: pack:self-hosting-v1

  • spec:validation.diagnostic-rendering.composed-location

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.diagnostic-rendering.composed-location

    Packs: pack:self-hosting-v1

  • spec:validation.diagnostic-rendering.table-cell-location

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.diagnostic-rendering.table-cell-location

    Packs: pack:self-hosting-v1

  • spec:validation.pack-coherence

    Implementing units

    • impl:protocol.pack-coherence · src/validate/validators.ts:1102

    Referencing units

    None.

    Enabled verifiers: spec:validation.pack-coherence.incoherent-aggregate

    Packs: pack:self-hosting-v1

Distance 9

  • spec:consumers.obsidian-vault.changed-note-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.changed-note-refused

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.failed-extraction-keeps-notes

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.failed-extraction-keeps-notes

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.failed-extraction-recovered

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.failed-extraction-recovered

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.fresh-vault

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.fresh-vault

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.hidden-file-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.hidden-file-refused

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.interrupted-run-recovered

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.interrupted-run-recovered

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.person-notes-survive

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.person-notes-survive

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.unknown-note-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.unknown-note-refused

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.vault-in-build-path-refused

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.vault-in-build-path-refused

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:decisions.vault-owned-folder

    Implementing units

    None.

    Referencing units

    • impl:protocol.vault-command · src/cli/vault-command.ts:191
    • impl:protocol.vault-sync · src/projections/vault/sync.ts:98

    Enabled verifiers: None

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:validation.pack-coherence.incoherent-aggregate

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.pack-coherence.incoherent-aggregate

    Packs: pack:self-hosting-v1

Relations

Relation and directionOther endClaimReasonExercised keys
decidedBy · outgoingspec:decisions.prose-ownership
spec:decisions.prose-ownership · resolves
declaredthe relation owns its reason as typed proseNone
refines · outgoingspec:model.relations
spec:model.relations · resolves
declaredNoneNone
dependsOn · incomingspec:carrier.envelope-contract
spec:carrier.envelope-contract · resolves
declaredNoneNone
dependsOn · incomingspec:carrier.prose-ownership-rule
spec:carrier.prose-ownership-rule · resolves
declaredNoneNone
dependsOn · incomingspec:consumers.agent-surface.register-recipes
spec:consumers.agent-surface.register-recipes · resolves
declaredthe mention audit reads a caller's intended mentions with their reasonsNone
dependsOn · incomingspec:consumers.authoring-on-ramp
spec:consumers.authoring-on-ramp · resolves
declaredNoneNone
dependsOn · incomingspec:consumers.spec-studio.spec-page
spec:consumers.spec-studio.spec-page · resolves
declaredNoneNone
dependsOn · incomingspec:consumers.spec-studio.spec-page.core
spec:consumers.spec-studio.spec-page.core · resolves
declaredNoneNone
dependsOn · incomingspec:consumers.upgrade-kit.capability-adoption
spec:consumers.upgrade-kit.capability-adoption · resolves
declaredrelation reasons are counted where authored relations areNone

Bindings

Implementation binding: present

  • impl:protocol.authoring-grammar-recipes · asserts the authoring grammar's realization in docs/agent-surface/recipes.md · test/recipes.test.ts:6597
  • impl:protocol.authoring-normalization · normalizes rule markers and question fields after carrier reification · src/extract/authoring-normalization.ts:8 · role codec · component component:protocol.extract · layer application · context protocol

Design reference: none

Verifier binding: present

  • test:protocol.authoring-grammar · checks rule keys, question fields and relation reasons across the carriers · anchored · test/authoring-grammar.test.ts:24 · test anchor
  • test:protocol.authoring-grammar-recipes · executes the shipped question, mention, entry, address and rule coverage recipes · anchored · test/recipes.test.ts:6587 · test anchor

Expected-outcome oracle: none

Runtime observation: not tracked.

Run results: not recorded in the graph.

Findings

None.

5. Designs are compared between a base commit and the working tree at entry grain

spec:consumers.design-diff

Designs are compared between a base commit and the working tree at entry grain

spec:consumers.design-diffUse Case / Behavior · featureready floor ready

Packs: pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

Design: 8 design entries · 4 pinned declarations · 1 decision

Findings: no errors, no warnings

specs/consumers/design-diff.sdp.md

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

The original design compared graph snapshots. Comparison concerns the curated graph a design lives in and needs no symbol identity.

Iterating on a design asks what changed since the last reading. The first adopter asks for a comparison by Spec id, section and entry key that tells changed declaration text from changed prose, moved entries, readiness edits, relation edits and new or removed examples, and for what changed since a design pass, read against the commit that pass read (libar-platform/docs/feedback/sdp-feedback-02.md, items 30 and 31). Git shows the changed lines; this comparison shows the changed design.

Intent
actor
A reviewer or an agent starting the next design pass over a Pack, holding the commit the last pass read.
problem
A line diff of the carriers shows edits but not which Specs, entries, questions and relations changed, so each pass re-reads the whole Pack to find what moved.
outcome
Show what changed in a design between a base commit and the working tree, down to the Spec, section and keyed entry, so a reviewer reads what changed since the last pass.
Behavior
rule line 28 · specs/consumers/design-diff.sdp.md:28
The design diff compares a base graph with the current graph.
rule line 29 · specs/consumers/design-diff.sdp.md:29
A comparison is a catalog recipe that takes the graph sdp build wrote at the base commit as a recipe parameter and compares it with the graph the evaluation derives from the working tree, including uncommitted edits; it adds no verb or binding.
rule line 30 · specs/consumers/design-diff.sdp.md:30
The base graph is input the caller holds, derived from the repository alone at the base commit; it never answers in the graph's name, and the comparison writes nothing.
rule line 31 · specs/consumers/design-diff.sdp.md:31
The caller always names the base. The recipe reads no record of a design pass and keeps none, and a corpus that notes which commit a pass read keeps that note outside the graph.
rule line 32 · specs/consumers/design-diff.sdp.md:32
Two graphs written by different engine versions are compared on what both carry; the result reports each side's schema version, and a difference is a diagnostic in the result, never a refusal.
rule line 33 · specs/consumers/design-diff.sdp.md:33
It reports the Specs added and removed, and for a Spec present in both graphs the changes to its title, kind, altitude, stated readiness, relations, narrative and each section.
rule line 34 · specs/consumers/design-diff.sdp.md:34
Inside the Design and UI sections, the open questions and other keyed sections apart from rules and flows, it compares keyed entries by key and reports each as added, removed, changed in value or moved in order.
rule line 35 · specs/consumers/design-diff.sdp.md:35
Rule and flow entries match first by unchanged text, preferring the same key for repeated wording, then by retained key; remaining unkeyed base entries pair in list order, including an entry reworded while adding a key. An unmatched keyed base entry is removed, and an unmatched head entry is added. Other unkeyed entries have no identity across the two graphs and compare as part of their whole section.
rule line 36 · specs/consumers/design-diff.sdp.md:36
A rule or flow with unchanged text whose key was added, removed or changed is one keyed change naming its old and new address, or none; only a text change is changed. An unchanged entry moving between rules and flows is moved; when one graph keeps no order across rules and flows, keyed entries compare by order within each list and a ruleOrder diagnostic names the Spec.
rule line 37 · specs/consumers/design-diff.sdp.md:37
It reports changes to Pack membership, member order and what a Pack's order means, and to the code units, verifiers and delivery facts bound to each Spec, kept apart from the authored changes because they derive from anchors.
rule line 38 · specs/consumers/design-diff.sdp.md:38
A comparison states facts about the two graphs and confers nothing. It grants no approval, raises no staleness flag, moves no readiness and never records that a pass happened.

11 unkeyed rules.

Design
diffRecipe line 42 · specs/consumers/design-diff.sdp.md:42
recipe 35, the design diff, takes params.base, the graph object sdp build wrote at the base commit, an optional params.pack that limits the comparison to the Specs that are members of that Pack at either commit, and params.detail; it compares params.base with the graph binding and reads nothing else.
diffShape line 43 · specs/consumers/design-diff.sdp.md:43
{ base: { schemaVersion, specs }, head: { schemaVersion, specs }, diagnostics, totals, specs: { added: [id], removed: [id], changed }, packs, bindings, leftOut }, where totals counts each list and diagnostics lists schema-version differences, parts outside the common schema, a Pack absent from both graphs, and Specs compared without order across rules and flows; base.specs and head.specs count the Specs of the comparison scope present on each side, the scope being every Spec or, with pack, the Pack's members in either graph, while the top-level specs object carries the change lists.

no citation recorded

changedSpecRow line 44 · specs/consumers/design-diff.sdp.md:44
{ id, parts: [part] } in the summary and { id, parts: [{ part, change, from, to }] } with detail: true; change is added, removed, changed, moved or keyed. For keyed, from and to carry the old and new entry addresses, null meaning none; other changes carry the values on each side, a rule or flow value as { list, text }. A text change while adding a key is one changed entry.

no citation recorded

diffParts line 45 · specs/consumers/design-diff.sdp.md:45
a part is title, specKind, altitude, statedReadiness, narrative, relation.<type>:<target>, a keyed entry as design.<key>, ui.<key>, question.<key>, rule.<key> or term.<term>, an unkeyed rule or flow as behavior.rules[<index>] or behavior.flows[<index>], using its head index; a removed unkeyed entry uses its base index with a (base) mark, such as behavior.rules[1] (base), so it cannot share a name with a head entry at that index; an unkeyed question list as intent.openQuestions, and any other section as its name.
movedEntry line 46 · specs/consumers/design-diff.sdp.md:46
a keyed entry whose value is unchanged and whose position among the keyed entries of its section changed is moved; an entry whose value changed is changed whatever its position. For rules and flows, unchanged text with a different key takes keyed precedence, then a list change or relative order change among retained entries is moved; anonymous entries compare order within their list. Adding or removing a key alone moves no other entry.
packRows line 47 · specs/consumers/design-diff.sdp.md:47
packs rows are { id, change, membersAdded, membersRemoved, reordered, orderChanged, orderBefore, orderAfter } for each Pack added, removed or changed in membership, member order or order meaning; orderBefore and orderAfter are "reading" or "priority", null on a side where the Pack is absent, and orderChanged is true when both sides hold the Pack and the two differ. An absent order reads as "reading" in every schema version; a value the head's engine does not know is outside the common schema, listed in diagnostics and not compared; that Pack's membership and member order still compare, its orderChanged is false, and the side holding the unknown value reads null. membersAdded and membersRemoved keep their respective manifest order.

no citation recorded

bindingRows line 48 · specs/consumers/design-diff.sdp.md:48
bindings rows are { id, implementedBy, referencedBy, verifiers, deliveryFacts }, each an { added, removed } pair of ids or fact names, kept apart from specs because they derive from anchors.

no citation recorded

baseRecipe line 49 · specs/consumers/design-diff.sdp.md:49
The catalog shows how to derive the base graph in a worktree at the base commit with the corpus's exclusions. When constant-form anchors use relative engine imports, as in this repository, run the base worktree's own engine, then pass its generated/graph.json as base and remove the worktree.
Verification

Verifier bindings

  • test:protocol.design-diff-recipe · anchored · test anchor binding present · test/iteration-recipes.test.ts:34
  • test:protocol.roadmap-priority · checks Pack priority extraction, comparison and Studio change notes · anchored · test anchor binding present · test/roadmap-priority.test.ts:44
Design view

Requirement drawing

  • Declared verifying examples: no declared verifying example.
Requirement drawing for spec:consumers.design-diff
The diagram as text
  • spec:consumers.design-diff: Designs are compared between a base commit and the working tree at entry grain · declared Spec
  • spec:consumers.projections-model: Projections fan out from one graph without becoming truth stores · declared Spec
  • impl:protocol.design-diff-recipe: realizes the design diff in the shipped recipe catalog · anchored code · test/iteration-recipes.test.ts:27
  • test:protocol.design-diff-recipe: test:protocol.design-diff-recipe · anchored test binding · binding present · test/iteration-recipes.test.ts:34
  • test:protocol.roadmap-priority: checks Pack priority extraction, comparison and Studio change notes · anchored test binding · binding present · test/roadmap-priority.test.ts:44
  • spec:consumers.design-diff refines spec:consumers.projections-model · declared
  • impl:protocol.design-diff-recipe satisfies spec:consumers.design-diff · anchored
  • test:protocol.design-diff-recipe verifies spec:consumers.design-diff · anchored
  • test:protocol.roadmap-priority verifies spec:consumers.design-diff · anchored
Mermaid source

Copyable source; the Studio draws static SVG.

Preferred and chosen syntax: requirementDiagram; exact refines, satisfies and verifies, with claim words in nodes and per-edge comments.

Decisions

  • spec:decisions.roadmap-priority

    A roadmap is a Pack whose manifest states order: priority; its members' authored order is the corpus's advisory priority, first entry first. order is an optional manifest field whose one lawful value is priority, and a Pack without it keeps the reading order every Pack has. Priority is preference among bodies of work and nothing more: it carries no date, no dependency, no status and no gate, and no check, recipe or page treats a place on a roadmap as permission, obligation or sequence. Everything a roadmap shows about an entry, what it still needs and what holds it, is read from the graph each time. A corpus may keep several roadmaps, and a Spec may be listed on any number of them.

Runtime
  • impl:protocol.design-diff-recipe · realizes the design diff in the shipped recipe catalog · test/iteration-recipes.test.ts:27

    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.design-diff
  • E4: constrainedBy · declared — equal sources derive equal graphs, so a difference records a source change
Relations of spec:consumers.design-diffdependsOn · declaredrefines · declareddecidedBy · declaredE4dependsOn · declaredOutgoing refinesspec:consumers.projections-modelProjections fan out fromone graph without becomingtruth stores…consumers.projections-modelOutgoing dependsOnspec:consumers.agent-surface.recipe-parametersRecipes take parameters asdata and ship as runnablefiles…consumers.agent-surface.recipe-parametersOutgoing constrainedByspec:extraction.determinismCommitted source derivesbyte-identical output…extraction.determinismOutgoing decidedByspec:decisions.roadmap-priorityA roadmap states advisorypriority in the graph…decisions.roadmap-prioritySubjectspec:consumers.design-diffDesigns are comparedbetween a base commit andthe working tree at entrygrain…consumers.design-diffIncoming dependsOnspec:consumers.design-diff.fold.Incoming.dependsOn4 Incoming dependsOn, folded…consumers.design-diff.fold.Incoming.dependsOn
The diagram as text
  • spec:consumers.agent-surface.recipe-parameters: Recipes take parameters as data and ship as runnable files
  • spec:consumers.delivery-session-on-ramp: Delivery sessions route work from current graph state
  • spec:consumers.design-diff: Designs are compared between a base commit and the working tree at entry grain
  • spec:consumers.intent-composition.proposal: A change proposal is addressed, based and checked before it lands
  • spec:consumers.projections-model: Projections fan out from one graph without becoming truth stores
  • spec:consumers.spec-studio.data.inputs: The Studio reads two named inputs beside the graph, a base graph and run records
  • spec:consumers.spec-studio.diff-page: The diff page shows what changed in the design since a base graph
  • spec:decisions.roadmap-priority: A roadmap states advisory priority in the graph
  • spec:extraction.determinism: Committed source derives byte-identical output
  • spec:consumers.design-diff constrainedBy spec:extraction.determinism · declared — equal sources derive equal graphs, so a difference records a source change
  • spec:consumers.design-diff decidedBy spec:decisions.roadmap-priority · declared
  • spec:consumers.design-diff dependsOn spec:consumers.agent-surface.recipe-parameters · declared — the base graph is supplied as recipe-parameter data, including the KEY=@PATH file form
  • spec:consumers.design-diff refines spec:consumers.projections-model · declared
  • spec:consumers.delivery-session-on-ramp dependsOn spec:consumers.design-diff · declared — the design loop starts from what changed since the last pass
  • spec:consumers.intent-composition.proposal dependsOn spec:consumers.design-diff · declared
  • spec:consumers.spec-studio.data.inputs dependsOn spec:consumers.design-diff · declared — the base graph input is the design diff's base
  • spec:consumers.spec-studio.diff-page dependsOn spec:consumers.design-diff · declared — the page renders the design diff between the base graph and the graph built
Mermaid source

Copyable source; the Studio draws static SVG.

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

Rests on

  • refines · spec:consumers.projections-model · stated ready, floor ready
  • dependsOn · spec:consumers.agent-surface.recipe-parameters · stated ready, floor ready
  • constrainedBy · spec:extraction.determinism · stated ready, floor ready
  • decidedBy · spec:decisions.roadmap-priority · stated ready, floor ready

Rested on by

Distance 1

  • spec:consumers.delivery-session-on-ramp

    Implementing units

    • impl:protocol.delivery-session-on-ramp · test/skills.test.ts:83

    Referencing units

    None.

    Enabled verifiers: test:protocol.delivery-session-on-ramp

    Packs: pack:self-hosting-v1

  • spec:consumers.intent-composition.proposal

    Implementing units

    • impl:protocol.proposal-schema-and-recipe · test/iteration-recipes.test.ts:1510
    • impl:protocol.studio-proposal-contract · src/studio-elements/proposal.ts:1

    Referencing units

    None.

    Enabled verifiers: test:protocol.proposal-schema-and-recipe

    Packs: pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.data.inputs

    Implementing units

    • impl:protocol.studio-base-input · src/cli/studio-inputs.ts:9
    • impl:protocol.studio-command · src/cli/studio-command.ts:106
    • impl:protocol.studio-inputs · src/projections/studio/inputs.ts:1

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.data.inputs.both-given, spec:consumers.spec-studio.data.inputs.graph-only

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.diff-page

    Implementing units

    • impl:protocol.studio-diff · src/projections/studio/pages/diff-page.ts:91

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.diff-page.changed-entry, test:protocol.roadmap-priority

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

Distance 2

  • spec:consumers.graph-first-planning

    Implementing units

    • impl:protocol.graph-first-planning · test/skills.test.ts:290

    Referencing units

    None.

    Enabled verifiers: test:protocol.graph-first-planning

    Packs: pack:self-hosting-v1

  • spec:consumers.intent-composition.proposal.memo

    Implementing units

    • impl:protocol.proposal-memo-recipe · test/recipes.test.ts:7298
    • impl:protocol.studio-proposal-memo · src/studio-elements/memo.ts:13

    Referencing units

    None.

    Enabled verifiers: spec:consumers.intent-composition.proposal.memo.shared

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.obsidian-vault.iteration

    Implementing units

    • impl:protocol.vault-sync · src/projections/vault/sync.ts:98
    • impl:protocol.vault-text · src/projections/vault/text.ts:30
    • impl:protocol.vault-watch · src/cli/vault-command.ts:219

    Referencing units

    None.

    Enabled verifiers: spec:consumers.obsidian-vault.iteration.watch-rewrites-changed-notes, spec:consumers.obsidian-vault.iteration.watch-source-anchor

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.data.inputs.both-given

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-inputs-both-given

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.data.inputs.graph-only

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-graph-only

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.diff-page.changed-entry

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diff-changed-entry

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.intent-panel

    Implementing units

    • impl:protocol.studio-compose · src/studio-elements/compose.ts:13
    • impl:protocol.studio-frame · src/projections/studio/pages/frame.ts:6
    • impl:protocol.studio-intent-panel · src/studio-elements/intent-panel.ts:51
    • impl:protocol.studio-intent-panel-element · src/studio-elements/intent-panel-element.ts:14
    • impl:protocol.studio-scenario-editor · src/studio-elements/scenario-editor.ts:17

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.intent-panel.refresh-keeps-intents, test:protocol.studio-intent-handoff

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.register-input

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmap, pack:self-hosting-v1

  • spec:consumers.spec-studio.runs-page

    Implementing units

    • impl:protocol.studio-run-rows · src/projections/studio/pages/run-rows.ts:69
    • impl:protocol.studio-runs-page · src/projections/studio/pages/runs-page.ts:6

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.runs-page.external-evidence

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.spec-page

    Implementing units

    • impl:protocol.studio-requirement-view · src/projections/studio/pages/requirement-view.ts:8
    • impl:protocol.studio-spec-page · src/projections/studio/pages/spec-page.ts:201
    • impl:protocol.studio-spec-structure · src/projections/studio/pages/spec-structure.ts:44

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.spec-page.cited-declaration, test:protocol.studio-architecture-maturity-requirement, test:protocol.studio-panels

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.studio-on-ramp

    Implementing units

    • impl:protocol.studio-on-ramp · test/skills.test.ts:1693

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-on-ramp

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.upgrade-kit.rule-key-proposal

    Implementing units

    • impl:protocol.rule-key-proposal-recipe · test/upgrade-kit.test.ts:742

    Referencing units

    None.

    Enabled verifiers: spec:consumers.upgrade-kit.rule-key-proposal.collision-and-unkeyable, spec:consumers.upgrade-kit.rule-key-proposal.proposal-applies-clean

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:protocol.roadmap-replaces-plans

    Implementing units

    • impl:protocol.roadmap-practice · test/check-self-hosting-gates.test.ts:52

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap-practice

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

Distance 3

  • spec:consumers.intent-composition.proposal.memo.shared

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-memo-shared

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.obsidian-vault.iteration.watch-rewrites-changed-notes

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.iteration.watch-rewrites-changed-notes

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.iteration.watch-source-anchor

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.iteration.watch-source-anchor

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner

    Implementing units

    • impl:protocol.statement-queue-recipe · test/self-hosting-readiness-planner.test.ts:74

    Referencing units

    None.

    Enabled verifiers: spec:consumers.readiness-planner.cycle-shares-a-round, spec:consumers.readiness-planner.decision-first, spec:consumers.readiness-planner.dependency-order, spec:consumers.readiness-planner.owner-question-holds

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.roadmap

    Implementing units

    • impl:protocol.roadmap-recipe · test/roadmap.test.ts:20

    Referencing units

    None.

    Enabled verifiers: spec:consumers.roadmap.blocking-part, spec:consumers.roadmap.buildable-part, spec:consumers.roadmap.built-work, spec:consumers.roadmap.design-part, spec:consumers.roadmap.drifting-part, spec:consumers.roadmap.missing-evidence, spec:consumers.roadmap.outside-parent, spec:consumers.roadmap.statement-order, spec:consumers.roadmap.statement-part, test:protocol.roadmap-recipe

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.memo

    Implementing units

    • impl:protocol.roadmap-memo-recipe · test/roadmap.test.ts:27
    • impl:protocol.studio-roadmap-page · src/projections/studio/pages/roadmap-page.ts:168

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap-memo-recipe, test:protocol.studio-roadmap-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.components

    Implementing units

    • component:protocol.studio-elements · src/studio-elements/index.ts:13
    • impl:protocol.studio-compose · src/studio-elements/compose.ts:13
    • impl:protocol.studio-diagram-element · src/studio-elements/diagram.ts:23
    • impl:protocol.studio-filter · src/studio-elements/filter.ts:25
    • impl:protocol.studio-intent-panel-element · src/studio-elements/intent-panel-element.ts:14
    • impl:protocol.studio-maturity-map · src/projections/studio/pages/maturity-map.ts:7
    • impl:protocol.studio-pack-page · src/projections/studio/pages/pack-page.ts:68
    • impl:protocol.studio-scenario-editor · src/studio-elements/scenario-editor.ts:17
    • impl:protocol.studio-search-results · src/studio-elements/search-results.ts:95
    • impl:protocol.studio-spec-structure · src/projections/studio/pages/spec-structure.ts:44
    • impl:protocol.studio-verification-panels · src/projections/studio/pages/spec-verification.ts:74

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-intent-handoff

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.export

    Implementing units

    • impl:protocol.studio-diagram-element · src/studio-elements/diagram.ts:23
    • impl:protocol.studio-expander · src/studio-elements/expander.ts:16
    • impl:protocol.studio-pack-export · src/projections/studio/pages/export-page.ts:35
    • impl:protocol.studio-pack-page · src/projections/studio/pages/pack-page.ts:68

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.export.self-contained, test:protocol.studio-intent-handoff

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.intent-panel.refresh-keeps-intents

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-intents-refresh

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.runs-page.external-evidence

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.run-external

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.spec-page.cited-declaration

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-cited-declaration

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.spec-page.core

    Implementing units

    • impl:protocol.studio-spec-page · src/projections/studio/pages/spec-page.ts:201

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-pages

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.verification-panels

    Implementing units

    • impl:protocol.studio-run-rows · src/projections/studio/pages/run-rows.ts:69
    • impl:protocol.studio-verification-panels · src/projections/studio/pages/spec-verification.ts:74

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.verification-panels.rule-coverage, test:protocol.studio-panels

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.upgrade-kit.rule-key-proposal.collision-and-unkeyable

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.rule-key-proposal.collision-and-unkeyable

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.rule-key-proposal.proposal-applies-clean

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.rule-key-proposal.proposal-applies-clean

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.vault-on-ramp

    Implementing units

    • impl:protocol.vault-on-ramp · test/skills.test.ts:1995

    Referencing units

    None.

    Enabled verifiers: test:protocol.vault-on-ramp

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:protocol.delivery-record-cleanup

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmap, pack:self-hosting-v1

Distance 4

  • spec:consumers.design-slice

    Implementing units

    • impl:protocol.design-slice-recipe · test/self-hosting-design-slice.test.ts:148

    Referencing units

    • impl:protocol.studio-slice-answer · src/projections/studio/slice-answer.ts:1

    Enabled verifiers: spec:consumers.design-slice.chain, spec:consumers.design-slice.component-absent, spec:consumers.design-slice.component-differing, spec:consumers.design-slice.component-matching, spec:consumers.design-slice.component-unreadable, spec:consumers.design-slice.component-unrelated, spec:consumers.design-slice.decision-backlink, spec:consumers.design-slice.dependency-cycle, spec:consumers.design-slice.folded-example, spec:consumers.design-slice.independent-example, spec:consumers.design-slice.outside-components, spec:consumers.design-slice.outside-holding, spec:consumers.design-slice.outside-satisfied, spec:consumers.design-slice.outside-unbound, test:protocol.design-slice

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.projections-model.roadmap-views

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.cycle-shares-a-round

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.cycle-shares-a-round

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.decision-first

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.decision-first

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.dependency-order

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.dependency-order

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.owner-question-holds

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.owner-question-holds

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.blocking-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.blocking-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.buildable-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.buildable-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.built-work

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.built-work

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.design-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.design-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.drifting-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.drifting-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.missing-evidence

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.missing-evidence

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.outside-parent

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.outside-parent

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.statement-order

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.statement-order

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.statement-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.statement-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagrams

    Implementing units

    • impl:protocol.studio-architecture-diagrams · src/projections/studio/diagrams/architecture.ts:4
    • impl:protocol.studio-diagram-element · src/studio-elements/diagram.ts:23
    • impl:protocol.studio-diagram-model · src/projections/studio/diagrams/model.ts:1
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73
    • impl:protocol.studio-relation-diagrams · src/projections/studio/diagrams/bands.ts:10

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.diagrams.folds-by-context, spec:consumers.spec-studio.diagrams.folds-by-layer, spec:consumers.spec-studio.diagrams.within-bound, test:protocol.studio-diagram-core

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.export.self-contained

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-export-contained

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.owner-queue

    Implementing units

    • impl:protocol.studio-owner-queue · src/projections/studio/pages/queue-page.ts:9

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.owner-queue.dependency-first

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.page-elements

    Implementing units

    • component:protocol.studio-elements · src/studio-elements/index.ts:13
    • impl:protocol.studio-copy · src/studio-elements/copy.ts:22
    • impl:protocol.studio-expander · src/studio-elements/expander.ts:16
    • impl:protocol.studio-filter · src/studio-elements/filter.ts:25
    • impl:protocol.studio-search-form · src/studio-elements/search.ts:18
    • impl:protocol.studio-search-results · src/studio-elements/search-results.ts:95
    • impl:protocol.studio-stamp · src/studio-elements/stamp.ts:30

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-copy-source, test:protocol.studio-page-elements

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.roadmap-page

    Implementing units

    • impl:protocol.studio-roadmap-page · src/projections/studio/pages/roadmap-page.ts:168

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-roadmap-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.verification-panels.rule-coverage

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-rule-coverage

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.upgrade-kit

    Implementing units

    • impl:protocol.upgrade-guide · test/upgrade-kit.test.ts:87

    Referencing units

    None.

    Enabled verifiers: test:protocol.upgrade-guide

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

Distance 5

  • spec:consumers.design-slice.chain

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.chain

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-absent

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-absent

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-differing

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-differing

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-matching

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-matching

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-unreadable

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-unreadable

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-unrelated

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-unrelated

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.decision-backlink

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.decision-backlink

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.dependency-cycle

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.dependency-cycle

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.folded-example

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.folded-example

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.independent-example

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.independent-example

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-components

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-components

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-holding

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-holding

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-satisfied

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-satisfied

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-unbound

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-unbound

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds

    Implementing units

    • impl:protocol.studio-architecture-lens · src/projections/studio/pages/architecture-page.ts:50
    • impl:protocol.studio-capability-diagrams · src/projections/studio/diagrams/capability.ts:101
    • impl:protocol.studio-diagram-layout · src/projections/studio/diagrams/layout.ts:140
    • impl:protocol.studio-diagram-source · src/projections/studio/diagrams/mermaid.ts:13
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73
    • impl:protocol.studio-maturity-map · src/projections/studio/pages/maturity-map.ts:7
    • impl:protocol.studio-requirement-diagram · src/projections/studio/diagrams/requirement.ts:12
    • impl:protocol.studio-slice-architecture · src/projections/studio/diagrams/slice.ts:219
    • impl:protocol.studio-slice-dependencies · src/projections/studio/diagrams/slice.ts:10

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-catalog

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.dependency

    Implementing units

    • impl:protocol.studio-slice-dependencies · src/projections/studio/diagrams/slice.ts:10

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-dependency

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.edge-routing

    Implementing units

    • impl:protocol.studio-diagram-routing · src/projections/studio/diagrams/routing.ts:38
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-core

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.legibility

    Implementing units

    • impl:protocol.studio-diagram-element · src/studio-elements/diagram.ts:23
    • impl:protocol.studio-diagram-layout · src/projections/studio/diagrams/layout.ts:140
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-core

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.mermaid-source

    Implementing units

    • impl:protocol.studio-diagram-source · src/projections/studio/diagrams/mermaid.ts:13
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-core

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.scoped-architecture

    Implementing units

    • impl:protocol.studio-slice-architecture · src/projections/studio/diagrams/slice.ts:219

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-architecture

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagrams.folds-by-context

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-folds-context

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.diagrams.folds-by-layer

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-folds-layer

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.diagrams.within-bound

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-within-bound

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.architecture

    Implementing units

    • impl:protocol.studio-architecture-lens · src/projections/studio/pages/architecture-page.ts:50

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.lenses.architecture.planned-apart, test:protocol.studio-architecture-maturity-requirement

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.owner-queue.dependency-first

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-queue-dependency-first

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.slice-page

    Implementing units

    • impl:protocol.studio-slice-page · src/projections/studio/pages/slice-page.ts:25

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.capability-adoption

    Implementing units

    • impl:protocol.capability-adoption-recipe · test/upgrade-kit.test.ts:514

    Referencing units

    None.

    Enabled verifiers: spec:consumers.upgrade-kit.capability-adoption.counts-a-corpus

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

Distance 6

  • spec:consumers.spec-studio.capability-map-page

    Implementing units

    • impl:protocol.studio-capabilities-page · src/projections/studio/pages/capabilities-page.ts:78
    • impl:protocol.studio-filter · src/studio-elements/filter.ts:25
    • impl:protocol.studio-frame · src/projections/studio/pages/frame.ts:6
    • impl:protocol.studio-index-page · src/projections/studio/pages/index-page.ts:8

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-capabilities

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.capability-tree

    Implementing units

    • impl:protocol.studio-capability-diagrams · src/projections/studio/diagrams/capability.ts:101
    • impl:protocol.studio-diagram-source · src/projections/studio/diagrams/mermaid.ts:13

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-capabilities

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.maturity-picture

    Implementing units

    • impl:protocol.studio-maturity-map · src/projections/studio/pages/maturity-map.ts:7

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-maturity-requirement

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.requirement-trace

    Implementing units

    • impl:protocol.studio-requirement-diagram · src/projections/studio/diagrams/requirement.ts:12
    • impl:protocol.studio-requirement-view · src/projections/studio/pages/requirement-view.ts:8

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-maturity-requirement, test:protocol.studio-diagram-core

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.lenses.architecture.planned-apart

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-planned-apart

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.architecture.unit-register

    Implementing units

    • impl:protocol.studio-unit-register · src/projections/studio/pages/architecture-register.ts:7

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-maturity-requirement

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.structural-mermaid

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.capability-adoption.counts-a-corpus

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.capability-adoption.counts-a-corpus

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

Distance 7

  • spec:consumers.spec-studio.pack-page.maturity-map

    Implementing units

    • impl:protocol.studio-maturity-map · src/projections/studio/pages/maturity-map.ts:7

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-maturity-requirement, test:protocol.studio-panels

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

Relations

Relation and directionOther endClaimReasonExercised keys
constrainedBy · outgoingspec:extraction.determinism
spec:extraction.determinism · resolves
declaredequal sources derive equal graphs, so a difference records a source changeNone
decidedBy · outgoingspec:decisions.roadmap-priority
spec:decisions.roadmap-priority · resolves
declaredNoneNone
dependsOn · outgoingspec:consumers.agent-surface.recipe-parameters
spec:consumers.agent-surface.recipe-parameters · resolves
declaredthe base graph is supplied as recipe-parameter data, including the KEY=@PATH file formNone
refines · outgoingspec:consumers.projections-model
spec:consumers.projections-model · resolves
declaredNoneNone
dependsOn · incomingspec:consumers.delivery-session-on-ramp
spec:consumers.delivery-session-on-ramp · resolves
declaredthe design loop starts from what changed since the last passNone
dependsOn · incomingA change proposal is addressed, based and checked before it lands
spec:consumers.intent-composition.proposal · resolves
declaredNoneNone
dependsOn · incomingspec:consumers.spec-studio.data.inputs
spec:consumers.spec-studio.data.inputs · resolves
declaredthe base graph input is the design diff's baseNone
dependsOn · incomingspec:consumers.spec-studio.diff-page
spec:consumers.spec-studio.diff-page · resolves
declaredthe page renders the design diff between the base graph and the graph builtNone

Bindings

Implementation binding: present

  • impl:protocol.design-diff-recipe · realizes the design diff in the shipped recipe catalog · test/iteration-recipes.test.ts:27 · role projection

Design reference: none

Verifier binding: present

  • test:protocol.design-diff-recipe · anchored · test/iteration-recipes.test.ts:34 · test anchor
  • test:protocol.roadmap-priority · checks Pack priority extraction, comparison and Studio change notes · anchored · test/roadmap-priority.test.ts:44 · test anchor

Expected-outcome oracle: none

Runtime observation: not tracked.

Run results: not recorded in the graph.

Findings

None.

6. A context bundle is composed per invocation within a stated budget

spec:consumers.context-bundle

A context bundle is composed per invocation within a stated budget

spec:consumers.context-bundleUse Case / Behavior · featureready floor ready

Packs: pack:adopter-speed-v1, pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

Design: 17 design entries · 7 pinned declarations · 1 decision

Findings: no errors, no warnings

specs/consumers/context-bundle.sdp.md

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

The original design precomputed graph slices for different reading scopes and a prompt bundle for one Spec. The Protocol keeps context bundle for the reading material of one design pass, composed on demand.

The first adopter's design passes assemble the same reading material by hand: the Pack design, member questions, dependency footing, pinned declarations and carrying Spec text where the graph answer falls short. Its perspectives read the same Pack for different concerns. The agent front door composes a bundle on each invocation; the bundle is never a committed answer in the graph's name. It builds on Pack design.

At an adopter's scale a bundle is mostly structure, so its shape is compact. Each member and each example row names its carrier file once. A cut entry without an entry address keeps only its line, since its row and its place in the bundle already name it. A question, a pinned value or a member example's steps appears in one place. Pinned declarations stay whole by default, because a builder and a test author hold to them. A caller whose scope still does not fit may let the bundle cut them to their entry addresses, and then reads each one in its Spec when the pass needs it. A partial bundle stays refused, because a bundle missing members would read as the whole scope.

A scope can hold more design than one budget allows after every cut, as the first adopter's largest Packs do. A caller then reads the bundle in parts: the same bundle, split between members into ordered parts that each fit the budget, whose members together are the whole scope. In parts a cut is taken only when an item, a member or the boundary, does not fit a part by itself, so a part keeps the design a single bundle would have cut. A repeated header that exceeds the budget alone is named as one oversized item; otherwise each item that exceeds the budget alone is named. No part is returned in either case.

Intent
actor
An agent starting one design pass over a Pack or an ordered list of Specs.
problem
Each pass assembles the same reading material by running the same recipes and joining their answers by hand, and nothing bounds what it hands the model.
outcome
Give an agent the reading material for one design pass in one composed slice of the graph within a stated budget, so no session hand-assembles it.
Behavior
rule line 27 · specs/consumers/context-bundle.sdp.md:27
A bundle is a catalog recipe that takes its scope and its budget as recipe parameters; it adds no entrance and no query verb.
rule line 28 · specs/consumers/context-bundle.sdp.md:28
A bundle is composed from the graph on each invocation by the reader every recipe uses; nothing is precomputed, saved or committed, and two invocations over the same graph with the same parameters compose the same bundle.
rule line 29 · specs/consumers/context-bundle.sdp.md:29
A bundle takes one scope: pack, a Pack id, or specs, an ordered list of Spec ids. For specs the members are the listed Specs in the given order and the boundary is each member's one-hop neighbors through the four typed relations both ways, with verifies and supersedes apart, as the Pack boundary is built. Both scopes or neither is a diagnostic result. A changeset fills specs from the impacted Spec ids changed-file impact reports, and a Pack's open questions are read from the Pack bundle, not from a third scope.
rule line 30 · specs/consumers/context-bundle.sdp.md:30
With pack, a bundle may take members, an ordered subset of the Pack's member ids, which the perspective filter returns; it keeps the Pack's framing and boundary, lists only those members in that order, and states that it is a subset, so one filter implementation serves both recipes.
rule line 31 · specs/consumers/context-bundle.sdp.md:31
A bundle for a Pack carries the Pack design assembly, its members in authored order with their design columns and its boundary, then each member's open questions with their addresses and lines, its dependency footing, its pinned declarations and its examples.
rule line 32 · specs/consumers/context-bundle.sdp.md:32
The budget is a hard limit on a successful bundle, counted in UTF-16 code units, the length a recipe body reads, of the compact JSON.stringify of the value the recipe returns, its scope, budget and left-out statement included; sdp q --json prints a longer indented form, and the budget never measures printed text. The bundle also reports a token estimate labeled as an estimate, so no model's tokenizer binds the Protocol.
rule.oneCopy line 33 · specs/consumers/context-bundle.sdp.md:33
A bundle carries a member's open questions only in its questions, a pinned declaration's value only in its member's Design section, and an example's steps only in its own member row when the example is a member of the bundle; an example outside the bundle keeps its steps in the row of each member it refines or verifies.

no example exercises it

rule.cutOrder line 34 · specs/consumers/context-bundle.sdp.md:34
When the scope exceeds the budget, the bundle cuts in a fixed order and stops at the first cut after which it fits: boundary rows down to their ids, footing rows down to their ids, member narrative, example step text, non-blocking question text, remaining section values other than pinned declarations, then, only when the caller allows it, pinned declarations down to their entry addresses. It never cuts member ids, the stated rung, the floor reached, the stated next rung, blocking questions or entry addresses, and it cuts nothing else.

no example exercises it

rule.declarationAddresses line 35 · specs/consumers/context-bundle.sdp.md:35
A caller allows the last cut by passing declarations: "addresses"; without it, or with declarations: "whole", pinned declarations stay whole, and any other value is a diagnostic result.

no example exercises it

rule line 36 · specs/consumers/context-bundle.sdp.md:36
Without part, when the protected content alone exceeds the budget after every permitted cut, the recipe returns a budget-exceeded result as data and no partial bundle: the requested scope, the budget, and the minimum count the protected content needs in the same unit; sdp q exits 0, because the result is the body's return and not a refusal.
rule line 37 · specs/consumers/context-bundle.sdp.md:37
A bundle gives the file and line of an entry or a binding in place of a source excerpt, because the reader never reads source.
rule line 38 · specs/consumers/context-bundle.sdp.md:38
A bundle states its scope, its budget and what it left out to stay within the budget, so a reader knows what to read in the Specs themselves.
rule line 39 · specs/consumers/context-bundle.sdp.md:39
A bundle carries facts from the graph and no instructions of its own; the brief that tells an agent what to look for stays the corpus's own text.
rule.parts line 40 · specs/consumers/context-bundle.sdp.md:40
With part, the 1-based index of the part to return, a bundle comes in ordered parts, each within the budget, and the members of its parts, read in part order, are the bundle's members in order, each once.

spec:consumers.context-bundle.parts-cover-the-pack · enabled

rule.partBoundaries line 41 · specs/consumers/context-bundle.sdp.md:41
A part boundary falls between items and never inside one: the boundary is the first item and each member is one item, in the scope's order, and each part holds the longest run of items after the part before it that fits the budget.

spec:consumers.context-bundle.parts-cover-the-pack · enabled

rule.partCuts line 42 · specs/consumers/context-bundle.sdp.md:42
In parts the bundle tries the cut order one cut at a time, starting from no cut, splits the scope at each stage and takes the first stage at which every part fits the budget, each part measured whole in the shape it returns: its repeated fields, its leftOut, the boundary in part 1 and the final part.of; every part takes that stage's cuts and lists them in leftOut.

spec:consumers.context-bundle.parts-cover-the-pack · enabled

rule.partHeader line 43 · specs/consumers/context-bundle.sdp.md:43
Every part repeats the scope, the budget, the declaration mode, the cuts taken, its own place among the parts and, for a Pack scope, the Pack's id, title and framing, so each part reads on its own; only the first part carries the boundary.

spec:consumers.context-bundle.parts-cover-the-pack · enabled

rule.sameParts line 44 · specs/consumers/context-bundle.sdp.md:44
The split depends on the graph and on every parameter but part, so a caller that asks for each part in turn over one graph reads one bundle.

spec:consumers.context-bundle.parts-cover-the-pack · enabled

rule.oversizedItem line 45 · specs/consumers/context-bundle.sdp.md:45
When the repeated part header alone exceeds the budget after every permitted cut, the recipe names "header" as its one oversized item and returns no part. Otherwise, when an item alone exceeds the budget after every permitted cut, the recipe names each such item with its length and returns no part. In both cases sdp q exits 0.

spec:consumers.context-bundle.oversized-member-named · enabled

10 unkeyed rules.

Verifying examples

spec:consumers.context-bundle.oversized-member-named · spec:consumers.context-bundle.oversized-member-named · ready floor ready

Executable Spec

Given a probe Pack of three members whose bundle exceeds the budget {budget: 10000} {sizes: "and one member carries a blocking question longer than the budget"}
When each part of its context bundle is requested in turn
Then the answer names the oversized items {oversizedItems: "spec:probe.two"}

spec:consumers.context-bundle.oversized-member-named

spec:consumers.context-bundle.parts-cover-the-pack · spec:consumers.context-bundle.parts-cover-the-pack · ready floor ready

Executable Spec

Given a probe Pack of three members whose bundle exceeds the budget {budget: 10000} {sizes: "while each member fits a part alone"}
When each part of its context bundle is requested in turn
Then the bundle comes in {parts: 3} parts, each within the budget
Then the members of the parts, in part order, are the Pack's members in authored order, each once: {complete: true}

spec:consumers.context-bundle.parts-cover-the-pack

Example space

Given a probe Pack of three members whose bundle exceeds the budget {budget:number} {sizes:"while each member fits a part alone"|"and one member carries a blocking question longer than the budget"}
When each part of its context bundle is requested in turn
Then the bundle comes in {parts:number} parts, each within the budget
Then the members of the parts, in part order, are the Pack's members in authored order, each once: {complete:boolean}
Then the answer names the oversized items {oversizedItems:string}
Design
bundleRecipe line 49 · specs/consumers/context-bundle.sdp.md:49
recipe 36, the context bundle, takes exactly one scope, params.pack or params.specs, an optional params.members beside pack, params.budget, 100,000 code units by default, params.declarations, "whole" by default or "addresses", and an optional params.part; a missing, doubled or unknown scope, another declarations value, or a part that is not a positive integer returns { diagnostics } and no bundle.
bundleShape line 50 · specs/consumers/context-bundle.sdp.md:50
{ scope, budget, declarations, used, tokenEstimate: { value, method }, leftOut, pack, members, boundary }, where declarations is the mode in force, pack is { id, title, framing } for a Pack scope and null otherwise, and tokenEstimate.method reads UTF-16 code units divided by four, an estimate.

no citation recorded

memberShape line 51 · specs/consumers/context-bundle.sdp.md:51
{ id, file, title, specKind, altitude, statedReadiness, floorReached, statedNextRung, holds, narrative, sections, questions, footing, declarations, examples, design, decisions, implementedBy, referencedBy, verifiers }, with file the member's carrier path; sections as the graph holds them, without intent.openQuestions; questions one row per open question in authored order, { index, question, blocking, key, address, line } with its fields, key absent and address null when it has none; footing as dependency footing (recipe 21) reports it; declarations the keys of the member's pinned declarations in Design order; design the counts of entries, declarations, open questions and blocking questions; decisions the decisions its design columns name; implementedBy and referencedBy as { id, claim, file, line, role, component }; and verifiers as { id, claim, enabled, file, line }. holds lists the member's stated-next-rung failures as the reader returns them, each with its clauseId and description, and with targets on a typed-dependency failure.

no citation recorded

exampleRow line 52 · specs/consumers/context-bundle.sdp.md:52
{ id, member, file, statedReadiness, enabled, steps } lists one example that refines or verifies the member, in id order, with member true and steps null when the example is itself a member of the bundle, its steps then sitting in its own member row.

no citation recorded

pointer line 53 · specs/consumers/context-bundle.sdp.md:53
{ line } replaces a cut entry that has no entry address, line being the line the location table records for it, or null when it records none; the entry's Spec and file are those of the row that holds it, and its place in the bundle names its path. A cut entry whose text names other entry addresses becomes a list of them, led by its own address when it has one and otherwise ended by its pointer.

no citation recorded

boundaryRows line 54 · specs/consumers/context-bundle.sdp.md:54
a Pack scope's boundary is the Pack design's; a Spec-list scope's boundary is every Spec outside the list one authored relation away from a listed Spec, in the same row shape.
footingCut line 55 · specs/consumers/context-bundle.sdp.md:55
{ refines, dependsOn, constrainedBy, decidedBy } replaces a member's footing at the footing cut, each a list of target ids in code-unit order, with a type that has no target left out.

no citation recorded

narrativeCut line 56 · specs/consumers/context-bundle.sdp.md:56
The narrative cut replaces a member's narrative with the entry addresses written in it, in order of first appearance and joined by single spaces, or with null when it holds none.
exampleCut line 57 · specs/consumers/context-bundle.sdp.md:57
The example cut replaces each entry of a member's behavior.examples, and its behavior.exampleSpace, with its pointer, and each example row's steps that are not null with the pointer of that example's behavior.examples.
questionCut line 58 · specs/consumers/context-bundle.sdp.md:58
The question cut replaces each non-blocking question in questions with its address, or with its pointer when it has no key, and with { pointer, links } when it has links, pointer being that address or pointer; blocking questions stay whole.
sectionCut line 59 · specs/consumers/context-bundle.sdp.md:59
The section cut replaces each section entry other than a pinned declaration with its entry address when it has one, and otherwise with its pointer.
declarationCut line 60 · specs/consumers/context-bundle.sdp.md:60
The declaration cut, taken only under declarations: "addresses", replaces each pinned declaration in its member's Design section with its entry address, or with its pointer when its key has none; the member's declarations keeps the keys.
leftOutLines line 61 · specs/consumers/context-bundle.sdp.md:61
One fixed line per cut taken, in cut order, makes up leftOut: Boundary details; ids kept per direction., Footing details; ids kept per relation type., Member narrative., Example step text, including member sections and example-space vocabulary., Non-blocking question text; addresses and links kept., Section entry values other than pinned declarations; addresses and lines kept. and Pinned declaration text; entry addresses kept.
budgetExceeded line 62 · specs/consumers/context-bundle.sdp.md:62
{ scope, budget, declarations, budgetExceeded: true, protectedLength, leftOut } is the whole result when the protected content alone exceeds the budget after every permitted cut, with protectedLength in the budget's unit.

no citation recorded

partShape line 63 · specs/consumers/context-bundle.sdp.md:63
a part is the bundle shape with part: { index, of } after declarations, where of is the number of parts; its members hold its run of members, its boundary holds the scope's boundary in part 1 and is null in every later part, and its used and tokenEstimate measure the part.
partDiagnostic line 64 · specs/consumers/context-bundle.sdp.md:64
a part above the number of parts returns { diagnostics: [{ scope: "part", problem: "The bundle has <of> parts." }] }, in the { scope, problem } row the recipe's other diagnostics use.
partsExceeded line 65 · specs/consumers/context-bundle.sdp.md:65
{ scope, budget, declarations, part: { index, of: null }, budgetExceeded: true, oversized: [{ item, length }], leftOut } is the whole result when an item exceeds the budget alone after every permitted cut, where item is "header" alone when the repeated header exceeds the budget, and otherwise a member id or "boundary", in scope order. For "header", length counts the code units of a part with part: { index: 1, of: 1 }, no members and a null boundary after every permitted cut; otherwise it counts a part that holds that item alone.

no citation recorded

Verification

Verifier bindings

  • spec:consumers.context-bundle.oversized-member-named · A member larger than the budget is named, and no part is returned · declared · example enabled · specs/consumers/context-bundle.oversized-member-named.sdp.md
  • spec:consumers.context-bundle.parts-cover-the-pack · A Pack too large for one bundle reads whole in parts · declared · example enabled · specs/consumers/context-bundle.parts-cover-the-pack.sdp.md
  • test:protocol.context-bundle-recipe · anchored · test anchor binding present · test/iteration-recipes.test.ts:772

Example space

  • budget · number · declared by a probe Pack of three members whose bundle exceeds the budget {budget} {sizes}
  • sizes · "while each member fits a part alone" | "and one member carries a blocking question longer than the budget" · declared by a probe Pack of three members whose bundle exceeds the budget {budget} {sizes}

Bound points

Examplebudgetsizes
spec:consumers.context-bundle.oversized-member-named10000"and one member carries a blocking question longer than the budget"
spec:consumers.context-bundle.parts-cover-the-pack10000"while each member fits a part alone"

Oracle binding: present · oracle:protocol.context-bundle-parts · test/self-hosting-bundle-parts.test.ts:55

Coverage

budget: 10000 · spec:consumers.context-bundle.oversized-member-named, spec:consumers.context-bundle.parts-cover-the-pack · not enumerable

sizes
Declared valueExamples
"while each member fits a part alone"spec:consumers.context-bundle.parts-cover-the-pack
"and one member carries a blocking question longer than the budget"spec:consumers.context-bundle.oversized-member-named

Unbound

  • budget: None
  • sizes: None
Design view

Requirement drawing

Requirement drawing for spec:consumers.context-bundle
  • E8: refines, verifies · declared
Requirement drawing for spec:consumers.context-bundleverifies · anchoredverifies · anchoredverifies · anchoredsatisfies · anchoredmodels · anchoredrefines · declaredrefines, verifies · declaredE8Intended Specsspec:consumers.context-bundleA context bundle iscomposed per invocationwithin a stated budget…consumers.context-bundledeclared SpecDeclared verifying examplesspec:consumers.context-bundle.oversized-member-namedA member larger than thebudget is named, and nopart is returned…consumers.context-bundle.oversized-member-nameddeclared Specspec:consumers.context-bundle.parts-cover-the-packA Pack too large for onebundle reads whole in parts…consumers.context-bundle.parts-cover-the-packdeclared SpecSatisfying or referencingunitsimpl:protocol.context-bundle-reciperealizes the context bundlein the shipped recipecatalog…protocol.context-bundle-recipeanchored codeTest or oracle bindings3 test bindings · anchored, folded3 test bindings · anchoredoracle:protocol.context-bundle-partsoracle:protocol.context-bundle-parts…protocol.context-bundle-partsanchored oracle bindingOutside the selected setspec:consumers.agent-surfaceAgents script a visibletyped graph…consumers.agent-surfacedeclared Spec
The diagram as text
  • spec:consumers.context-bundle: A context bundle is composed per invocation within a stated budget · declared Spec
  • spec:consumers.context-bundle.oversized-member-named: A member larger than the budget is named, and no part is returned · declared Spec
  • spec:consumers.context-bundle.parts-cover-the-pack: A Pack too large for one bundle reads whole in parts · declared Spec
  • spec:consumers.agent-surface: Agents script a visible typed graph · declared Spec
  • impl:protocol.context-bundle-recipe: realizes the context bundle in the shipped recipe catalog · anchored code · test/iteration-recipes.test.ts:765
  • oracle:protocol.context-bundle-parts: oracle:protocol.context-bundle-parts · anchored oracle binding · test/self-hosting-bundle-parts.test.ts:55
  • test:protocol.context-bundle-recipe: test:protocol.context-bundle-recipe · anchored test binding · binding present · test/iteration-recipes.test.ts:772
  • test:protocol.context-bundle.oversized-member-named: test:protocol.context-bundle.oversized-member-named · anchored test binding · binding present · test/self-hosting-bundle-parts.test.ts:148
  • test:protocol.context-bundle.parts-cover-the-pack: test:protocol.context-bundle.parts-cover-the-pack · anchored test binding · binding present · test/self-hosting-bundle-parts.test.ts:115
  • spec:consumers.context-bundle refines spec:consumers.agent-surface · declared
  • spec:consumers.context-bundle.oversized-member-named refines spec:consumers.context-bundle · declared
  • spec:consumers.context-bundle.oversized-member-named verifies spec:consumers.context-bundle · declared
  • spec:consumers.context-bundle.parts-cover-the-pack refines spec:consumers.context-bundle · declared
  • spec:consumers.context-bundle.parts-cover-the-pack verifies spec:consumers.context-bundle · declared
  • impl:protocol.context-bundle-recipe satisfies spec:consumers.context-bundle · anchored
  • oracle:protocol.context-bundle-parts models spec:consumers.context-bundle · anchored
  • test:protocol.context-bundle-recipe verifies spec:consumers.context-bundle · anchored
  • test:protocol.context-bundle.oversized-member-named verifies spec:consumers.context-bundle.oversized-member-named · anchored
  • test:protocol.context-bundle.parts-cover-the-pack verifies spec:consumers.context-bundle.parts-cover-the-pack · 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

  • spec:decisions.agent-front-door

    The front door is two entrances over one seam: the package exports the reader constructor, and the CLI carries a single evaluation sink that derives the graph in process, injects that same reader, and prints the body's pre-shaped return.

Runtime
  • impl:protocol.context-bundle-recipe · realizes the context bundle in the shipped recipe catalog · test/iteration-recipes.test.ts:765

    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.context-bundle
Relations of spec:consumers.context-bundlerefines · declareddependsOn · declareddecidedBy · declaredrefines · declaredverifies · declareddependsOn · declareddependsOn · declaredOutgoing refinesspec:consumers.agent-surfaceAgents script a visibletyped graph…consumers.agent-surfaceOutgoing dependsOnspec:consumers.agent-surface.design-recipesDesign work reads itsanswers from catalog recipes…consumers.agent-surface.design-recipesOutgoing decidedByspec:decisions.agent-front-doorThe agent front door is oneevaluation sink over theexported reader…decisions.agent-front-doorSubjectspec:consumers.context-bundleA context bundle iscomposed per invocationwithin a stated budget…consumers.context-bundleIncoming refinesspec:consumers.context-bundle.fold.Incoming.refines2 Incoming refines, folded…consumers.context-bundle.fold.Incoming.refinesIncoming dependsOnspec:consumers.delivery-session-on-rampDelivery sessions routework from current graphstate…consumers.delivery-session-on-rampspec:consumers.design-sliceA slice reads a Pack as onedesign, with thearchitecture it touches andwhat each member needs next…consumers.design-slice
The diagram as text
  • spec:consumers.agent-surface: Agents script a visible typed graph
  • spec:consumers.agent-surface.design-recipes: Design work reads its answers from catalog recipes
  • spec:consumers.context-bundle: A context bundle is composed per invocation within a stated budget
  • spec:consumers.context-bundle.oversized-member-named: A member larger than the budget is named, and no part is returned
  • spec:consumers.context-bundle.parts-cover-the-pack: A Pack too large for one bundle reads whole in parts
  • spec:consumers.delivery-session-on-ramp: Delivery sessions route work from current graph state
  • spec:consumers.design-slice: A slice reads a Pack as one design, with the architecture it touches and what each member needs next
  • spec:decisions.agent-front-door: The agent front door is one evaluation sink over the exported reader
  • spec:consumers.context-bundle decidedBy spec:decisions.agent-front-door · declared
  • spec:consumers.context-bundle dependsOn spec:consumers.agent-surface.design-recipes · declared
  • spec:consumers.context-bundle refines spec:consumers.agent-surface · declared
  • spec:consumers.delivery-session-on-ramp dependsOn spec:consumers.context-bundle · declared — the design loop composes each pass's reading material as a context bundle
  • spec:consumers.design-slice dependsOn spec:consumers.context-bundle · declared — a slice takes its scope as the bundle does, and builds a Spec list's boundary the same way
  • spec:consumers.context-bundle.oversized-member-named refines spec:consumers.context-bundle · declared
  • spec:consumers.context-bundle.parts-cover-the-pack refines spec:consumers.context-bundle · declared
  • spec:consumers.context-bundle.oversized-member-named verifies spec:consumers.context-bundle · declared
  • spec:consumers.context-bundle.parts-cover-the-pack verifies spec:consumers.context-bundle · declared
Mermaid source

Copyable source; the Studio draws static SVG.

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

Rests on

  • refines · spec:consumers.agent-surface · stated ready, floor ready
  • dependsOn · spec:consumers.agent-surface.design-recipes · stated ready, floor ready
  • decidedBy · spec:decisions.agent-front-door · stated ready, floor ready

Rested on by

Distance 1

  • spec:consumers.context-bundle.oversized-member-named

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.context-bundle.oversized-member-named

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.context-bundle.parts-cover-the-pack

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.context-bundle.parts-cover-the-pack

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.delivery-session-on-ramp

    Implementing units

    • impl:protocol.delivery-session-on-ramp · test/skills.test.ts:83

    Referencing units

    None.

    Enabled verifiers: test:protocol.delivery-session-on-ramp

    Packs: pack:self-hosting-v1

  • spec:consumers.design-slice

    Implementing units

    • impl:protocol.design-slice-recipe · test/self-hosting-design-slice.test.ts:148

    Referencing units

    • impl:protocol.studio-slice-answer · src/projections/studio/slice-answer.ts:1

    Enabled verifiers: spec:consumers.design-slice.chain, spec:consumers.design-slice.component-absent, spec:consumers.design-slice.component-differing, spec:consumers.design-slice.component-matching, spec:consumers.design-slice.component-unreadable, spec:consumers.design-slice.component-unrelated, spec:consumers.design-slice.decision-backlink, spec:consumers.design-slice.dependency-cycle, spec:consumers.design-slice.folded-example, spec:consumers.design-slice.independent-example, spec:consumers.design-slice.outside-components, spec:consumers.design-slice.outside-holding, spec:consumers.design-slice.outside-satisfied, spec:consumers.design-slice.outside-unbound, test:protocol.design-slice

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

Distance 2

  • spec:consumers.design-slice.chain

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.chain

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-absent

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-absent

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-differing

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-differing

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-matching

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-matching

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-unreadable

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-unreadable

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-unrelated

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-unrelated

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.decision-backlink

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.decision-backlink

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.dependency-cycle

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.dependency-cycle

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.folded-example

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.folded-example

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.independent-example

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.independent-example

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-components

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-components

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-holding

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-holding

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-satisfied

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-satisfied

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-unbound

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-unbound

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.graph-first-planning

    Implementing units

    • impl:protocol.graph-first-planning · test/skills.test.ts:290

    Referencing units

    None.

    Enabled verifiers: test:protocol.graph-first-planning

    Packs: pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.dependency

    Implementing units

    • impl:protocol.studio-slice-dependencies · src/projections/studio/diagrams/slice.ts:10

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-dependency

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.scoped-architecture

    Implementing units

    • impl:protocol.studio-slice-architecture · src/projections/studio/diagrams/slice.ts:219

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-architecture

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.slice-page

    Implementing units

    • impl:protocol.studio-slice-page · src/projections/studio/pages/slice-page.ts:25

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

Distance 3

  • spec:consumers.readiness-planner

    Implementing units

    • impl:protocol.statement-queue-recipe · test/self-hosting-readiness-planner.test.ts:74

    Referencing units

    None.

    Enabled verifiers: spec:consumers.readiness-planner.cycle-shares-a-round, spec:consumers.readiness-planner.decision-first, spec:consumers.readiness-planner.dependency-order, spec:consumers.readiness-planner.owner-question-holds

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.roadmap

    Implementing units

    • impl:protocol.roadmap-recipe · test/roadmap.test.ts:20

    Referencing units

    None.

    Enabled verifiers: spec:consumers.roadmap.blocking-part, spec:consumers.roadmap.buildable-part, spec:consumers.roadmap.built-work, spec:consumers.roadmap.design-part, spec:consumers.roadmap.drifting-part, spec:consumers.roadmap.missing-evidence, spec:consumers.roadmap.outside-parent, spec:consumers.roadmap.statement-order, spec:consumers.roadmap.statement-part, test:protocol.roadmap-recipe

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

Distance 4

  • spec:consumers.projections-model.roadmap-views

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.cycle-shares-a-round

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.cycle-shares-a-round

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.decision-first

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.decision-first

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.dependency-order

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.dependency-order

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.owner-question-holds

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.owner-question-holds

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.blocking-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.blocking-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.buildable-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.buildable-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.built-work

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.built-work

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.design-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.design-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.drifting-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.drifting-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.memo

    Implementing units

    • impl:protocol.roadmap-memo-recipe · test/roadmap.test.ts:27
    • impl:protocol.studio-roadmap-page · src/projections/studio/pages/roadmap-page.ts:168

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap-memo-recipe, test:protocol.studio-roadmap-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.missing-evidence

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.missing-evidence

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.outside-parent

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.outside-parent

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.statement-order

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.statement-order

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.statement-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.statement-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.owner-queue

    Implementing units

    • impl:protocol.studio-owner-queue · src/projections/studio/pages/queue-page.ts:9

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.owner-queue.dependency-first

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.roadmap-page

    Implementing units

    • impl:protocol.studio-roadmap-page · src/projections/studio/pages/roadmap-page.ts:168

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-roadmap-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit

    Implementing units

    • impl:protocol.upgrade-guide · test/upgrade-kit.test.ts:87

    Referencing units

    None.

    Enabled verifiers: test:protocol.upgrade-guide

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:protocol.roadmap-replaces-plans

    Implementing units

    • impl:protocol.roadmap-practice · test/check-self-hosting-gates.test.ts:52

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap-practice

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

Distance 5

  • spec:consumers.spec-studio.owner-queue.dependency-first

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-queue-dependency-first

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.upgrade-kit.capability-adoption

    Implementing units

    • impl:protocol.capability-adoption-recipe · test/upgrade-kit.test.ts:514

    Referencing units

    None.

    Enabled verifiers: spec:consumers.upgrade-kit.capability-adoption.counts-a-corpus

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.rule-key-proposal

    Implementing units

    • impl:protocol.rule-key-proposal-recipe · test/upgrade-kit.test.ts:742

    Referencing units

    None.

    Enabled verifiers: spec:consumers.upgrade-kit.rule-key-proposal.collision-and-unkeyable, spec:consumers.upgrade-kit.rule-key-proposal.proposal-applies-clean

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:protocol.delivery-record-cleanup

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmap, pack:self-hosting-v1

Distance 6

  • spec:consumers.upgrade-kit.capability-adoption.counts-a-corpus

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.capability-adoption.counts-a-corpus

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.rule-key-proposal.collision-and-unkeyable

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.rule-key-proposal.collision-and-unkeyable

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.rule-key-proposal.proposal-applies-clean

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.rule-key-proposal.proposal-applies-clean

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

Relations

Relation and directionOther endClaimReasonExercised keys
decidedBy · outgoingspec:decisions.agent-front-door
spec:decisions.agent-front-door · resolves
declaredNoneNone
dependsOn · outgoingspec:consumers.agent-surface.design-recipes
spec:consumers.agent-surface.design-recipes · resolves
declaredNoneNone
refines · outgoingspec:consumers.agent-surface
spec:consumers.agent-surface · resolves
declaredNoneNone
dependsOn · incomingspec:consumers.delivery-session-on-ramp
spec:consumers.delivery-session-on-ramp · resolves
declaredthe design loop composes each pass's reading material as a context bundleNone
dependsOn · incomingspec:consumers.design-slice
spec:consumers.design-slice · resolves
declareda slice takes its scope as the bundle does, and builds a Spec list's boundary the same wayNone
refines · incomingspec:consumers.context-bundle.oversized-member-named
spec:consumers.context-bundle.oversized-member-named · resolves
declaredNoneNone
refines · incomingspec:consumers.context-bundle.parts-cover-the-pack
spec:consumers.context-bundle.parts-cover-the-pack · resolves
declaredNoneNone
verifies · incomingspec:consumers.context-bundle.oversized-member-named
spec:consumers.context-bundle.oversized-member-named · resolves
declaredNoneoversizedItem
verifies · incomingspec:consumers.context-bundle.parts-cover-the-pack
spec:consumers.context-bundle.parts-cover-the-pack · resolves
declaredNoneparts, partBoundaries, partCuts, partHeader, sameParts

Bindings

Implementation binding: present

  • impl:protocol.context-bundle-recipe · realizes the context bundle in the shipped recipe catalog · test/iteration-recipes.test.ts:765 · role projection

Design reference: none

Verifier binding: present

  • spec:consumers.context-bundle.oversized-member-named · A member larger than the budget is named, and no part is returned · declared · specs/consumers/context-bundle.oversized-member-named.sdp.md · example enabled
  • spec:consumers.context-bundle.parts-cover-the-pack · A Pack too large for one bundle reads whole in parts · declared · specs/consumers/context-bundle.parts-cover-the-pack.sdp.md · example enabled
  • test:protocol.context-bundle-recipe · anchored · test/iteration-recipes.test.ts:772 · test anchor

Expected-outcome oracle: present

  • oracle:protocol.context-bundle-parts · test/self-hosting-bundle-parts.test.ts:55

Runtime observation: not tracked.

Run results: not recorded in the graph.

Findings

None.

7. A Pack is read from a named perspective

spec:consumers.review-perspectives

A Pack is read from a named perspective

spec:consumers.review-perspectivesUse Case / Behavior · featureready floor ready

Packs: pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

Design: 4 design entries · 1 pinned declaration · no decisions

Findings: no errors, no warnings

specs/consumers/review-perspectives.sdp.md

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

The original design gave every reader one reading surface, each reading from their own concern: the analyst, the domain engineer, the architect, the tester, the designer and the agent (docs/lineage/v0-design/04-authoring-surfaces.md §6). The first adopter iterates each capability's design through advisor lenses, its runtime platform, the domain, operations and the product, each a written list of the questions its field asks, run over the same Pack by the same pass brief (libar-platform/design/advisors/lenses/, libar-platform/design/advisors/task-pass.md). It asks for a lens to be a filter over the same capability that reorders and emphasizes questions, entries, examples and constraints and opens the same Specs, with no new Spec kind and no compulsory sequence of stages (libar-platform/docs/feedback/sdp-feedback-02.md, item 28). The Protocol takes the member filter and the order and leaves each member's content whole; emphasis inside a member stays the reader's.

The owner ruled the word: perspective. The Spec Studio keeps lens for its graph views, its Packs, capabilities, architecture, tests and evidence views, and discipline stays the filter by kind or section. The adopter's advisor lens is a reader's concern, not a view of the graph, so in the Protocol's terms it is a perspective.

Intent
actor
A reviewer or an agent who reads a Pack for one concern, such as the domain model, operations or the runtime platform.
problem
Every reading of a Pack shows every member in the same order with the same emphasis, so a reader with one concern sorts it by hand, and an adopter keeps its perspectives as prose briefs the graph cannot apply.
outcome
Let a reviewer read the same Pack from one perspective at a time, filtered and ordered for that perspective, without a new kind or a stage.
Behavior
rule.contentIntact line 22 · specs/consumers/review-perspectives.sdp.md:22
A perspective filters and orders a Pack's members and leaves each selected member's content intact; every row opens the same Spec, and the whole Pack stays one step away.

no example exercises it

rule line 23 · specs/consumers/review-perspectives.sdp.md:23
A perspective adds no kind, readiness, stage or sequence; reading a Pack from one perspective records nothing, and no perspective is required before another or before ready is stated.
rule line 24 · specs/consumers/review-perspectives.sdp.md:24
The corpus owns its perspectives and their questions; the Protocol supplies the filter and ships no list of perspectives.
rule line 25 · specs/consumers/review-perspectives.sdp.md:25
A perspective is corpus data: a JSON object the corpus keeps beside its briefs and passes to the perspective filter, a catalog recipe, through --params. The reader loads no perspective file, and no validator lists or checks perspectives, so no registry forms.
rule line 26 · specs/consumers/review-perspectives.sdp.md:26
A perspective selects members by Spec id or id prefix, kind, section presence, Design key with an optional value, question key, and authored relation type with a stated direction; it selects component layer or context only through the member's code unit bindings, satisfying or referencing, that the perspective names; it infers nothing from prose, paths or imports.
rule line 27 · specs/consumers/review-perspectives.sdp.md:27
A member selected by a Design key, including the layer and context keys a component design states, is selected on declared intent; a member selected through a binding's component is selected on anchored structure; each row names which, and the two are never merged into one architecture answer.
rule line 28 · specs/consumers/review-perspectives.sdp.md:28
Values within one selector are alternatives and different selectors combine as requirements; an unsupported selector is a diagnostic in the result, and a valid selector that matches nothing is an explicit empty result.
rule line 29 · specs/consumers/review-perspectives.sdp.md:29
Members keep the manifest's authored order unless the perspective gives an explicit priority order, authored order breaking ties; every selected member's blocking questions stay visible whatever else the perspective filters out.

7 unkeyed rules.

Design
perspectiveObject line 33 · specs/consumers/review-perspectives.sdp.md:33
{ "name": "models", "select": { "kinds": ["model"] } } selects the members of kind model. A perspective is { name, select, order } with select and order optional, and its selectors are ids, idPrefixes, kinds, sections, designKeys, questionKeys, relations and bindings, each optional; different selectors combine as requirements. An absent selector imposes no requirement, a present empty list matches no member, and an absent or empty select object selects every member. A designKeys item is { key, value } with value optional; a relations item is { type, direction, target } with direction out or in and target optional; bindings is { via, layers, contexts }, where via is required and lists satisfies or references, and absent layers or contexts impose no restriction. order lists Spec ids by priority, authored order breaking ties.

no citation recorded

perspectiveRecipe line 34 · specs/consumers/review-perspectives.sdp.md:34
recipe 37, the perspective filter, takes params.pack and params.perspective and returns { pack, perspective, totals: { members, selected }, diagnostics, selected, notSelected }.
perspectiveRows line 35 · specs/consumers/review-perspectives.sdp.md:35
each selected row is { id, matchedOn: [{ selector, value, claim }], blockingQuestions: [{ address, question }] } in the perspective's order and then authored order; claim is declared for a match on authored intent and anchored for a match through a binding; notSelected lists the remaining member ids in authored order.
perspectiveDiagnostics line 36 · specs/consumers/review-perspectives.sdp.md:36
an unknown selector, a value of the wrong type or a bindings selector with no via is a diagnostic row { selector, problem }, and the recipe still applies the selectors it understood.
Verification

Verifier bindings

  • test:protocol.perspective-filter-recipe · anchored · test anchor binding present · test/iteration-recipes.test.ts:760
Design view

Requirement drawing

  • Declared verifying examples: no declared verifying example.
Requirement drawing for spec:consumers.review-perspectives
Requirement drawing for spec:consumers.review-perspectivessatisfies · anchoredrefines · declaredverifies · anchoredIntended Specsspec:consumers.review-perspectivesA Pack is read from a namedperspective…consumers.review-perspectivesdeclared SpecSatisfying or referencingunitsimpl:protocol.perspective-filter-reciperealizes the perspectivefilter in the shippedrecipe catalogimpl:protocol.perspective-filter-recipeanchored codeTest or oracle bindingstest:protocol.perspective-filter-recipetest:protocol.perspective-filter-recipetest:protocol.perspective-filter-recipeanchored test binding ·binding presentOutside the selected setspec:consumers.projections-modelProjections fan out fromone graph without becomingtruth stores…consumers.projections-modeldeclared Spec
The diagram as text
  • spec:consumers.review-perspectives: A Pack is read from a named perspective · declared Spec
  • spec:consumers.projections-model: Projections fan out from one graph without becoming truth stores · declared Spec
  • impl:protocol.perspective-filter-recipe: realizes the perspective filter in the shipped recipe catalog · anchored code · test/iteration-recipes.test.ts:753
  • test:protocol.perspective-filter-recipe: test:protocol.perspective-filter-recipe · anchored test binding · binding present · test/iteration-recipes.test.ts:760
  • spec:consumers.review-perspectives refines spec:consumers.projections-model · declared
  • impl:protocol.perspective-filter-recipe satisfies spec:consumers.review-perspectives · anchored
  • test:protocol.perspective-filter-recipe verifies spec:consumers.review-perspectives · anchored
Mermaid source

Copyable source; the Studio draws static SVG.

Preferred and chosen syntax: requirementDiagram; exact refines, satisfies and verifies, with claim words in nodes and per-edge comments.

Decisions

No decision record named.

Runtime
  • impl:protocol.perspective-filter-recipe · realizes the perspective filter in the shipped recipe catalog · test/iteration-recipes.test.ts:753

    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.review-perspectives
Relations of spec:consumers.review-perspectivesdependsOn · declareddependsOn · declareddependsOn · declaredrefines · declareddependsOn · declaredOutgoing refinesspec:consumers.projections-modelProjections fan out fromone graph without becomingtruth stores…projections-modelOutgoing dependsOnspec:consumers.pack-designThe Pack context carriesthe Pack's design…pack-designSubjectspec:consumers.review-perspectivesA Pack is read from a namedperspective…review-perspectivesIncoming dependsOnspec:consumers.delivery-session-on-rampDelivery sessions routework from current graphstate…delivery-session-on-rampspec:consumers.design-sliceA slice reads a Pack as onedesign, with thearchitecture it touches andwhat each member needs next…design-slicespec:consumers.upgrade-kit.capability-adoptionCapability adoption countswhere each capability isused and where it couldapply…upgrade-kit.capability-adoption
The diagram as text
  • spec:consumers.delivery-session-on-ramp: Delivery sessions route work from current graph state
  • spec:consumers.design-slice: A slice reads a Pack as one design, with the architecture it touches and what each member needs next
  • spec:consumers.pack-design: The Pack context carries the Pack's design
  • spec:consumers.projections-model: Projections fan out from one graph without becoming truth stores
  • spec:consumers.review-perspectives: A Pack is read from a named perspective
  • spec:consumers.upgrade-kit.capability-adoption: Capability adoption counts where each capability is used and where it could apply
  • spec:consumers.review-perspectives dependsOn spec:consumers.pack-design · declared
  • spec:consumers.review-perspectives refines spec:consumers.projections-model · declared
  • spec:consumers.delivery-session-on-ramp dependsOn spec:consumers.review-perspectives · declared — the design loop narrows a Pack to one perspective's members
  • spec:consumers.design-slice dependsOn spec:consumers.review-perspectives · declared — a slice read for one concern takes the members a perspective selects
  • spec:consumers.upgrade-kit.capability-adoption dependsOn spec:consumers.review-perspectives · declared — perspectives are counted from the objects the caller passes
Mermaid source

Copyable source; the Studio draws static SVG.

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

Rests on

  • refines · spec:consumers.projections-model · stated ready, floor ready
  • dependsOn · spec:consumers.pack-design · stated ready, floor ready

Rested on by

Distance 1

  • spec:consumers.delivery-session-on-ramp

    Implementing units

    • impl:protocol.delivery-session-on-ramp · test/skills.test.ts:83

    Referencing units

    None.

    Enabled verifiers: test:protocol.delivery-session-on-ramp

    Packs: pack:self-hosting-v1

  • spec:consumers.design-slice

    Implementing units

    • impl:protocol.design-slice-recipe · test/self-hosting-design-slice.test.ts:148

    Referencing units

    • impl:protocol.studio-slice-answer · src/projections/studio/slice-answer.ts:1

    Enabled verifiers: spec:consumers.design-slice.chain, spec:consumers.design-slice.component-absent, spec:consumers.design-slice.component-differing, spec:consumers.design-slice.component-matching, spec:consumers.design-slice.component-unreadable, spec:consumers.design-slice.component-unrelated, spec:consumers.design-slice.decision-backlink, spec:consumers.design-slice.dependency-cycle, spec:consumers.design-slice.folded-example, spec:consumers.design-slice.independent-example, spec:consumers.design-slice.outside-components, spec:consumers.design-slice.outside-holding, spec:consumers.design-slice.outside-satisfied, spec:consumers.design-slice.outside-unbound, test:protocol.design-slice

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.capability-adoption

    Implementing units

    • impl:protocol.capability-adoption-recipe · test/upgrade-kit.test.ts:514

    Referencing units

    None.

    Enabled verifiers: spec:consumers.upgrade-kit.capability-adoption.counts-a-corpus

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

Distance 2

  • spec:consumers.design-slice.chain

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.chain

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-absent

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-absent

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-differing

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-differing

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-matching

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-matching

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-unreadable

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-unreadable

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-unrelated

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-unrelated

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.decision-backlink

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.decision-backlink

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.dependency-cycle

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.dependency-cycle

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.folded-example

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.folded-example

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.independent-example

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.independent-example

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-components

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-components

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-holding

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-holding

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-satisfied

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-satisfied

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-unbound

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-unbound

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.graph-first-planning

    Implementing units

    • impl:protocol.graph-first-planning · test/skills.test.ts:290

    Referencing units

    None.

    Enabled verifiers: test:protocol.graph-first-planning

    Packs: pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.dependency

    Implementing units

    • impl:protocol.studio-slice-dependencies · src/projections/studio/diagrams/slice.ts:10

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-dependency

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.scoped-architecture

    Implementing units

    • impl:protocol.studio-slice-architecture · src/projections/studio/diagrams/slice.ts:219

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-architecture

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.slice-page

    Implementing units

    • impl:protocol.studio-slice-page · src/projections/studio/pages/slice-page.ts:25

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.capability-adoption.counts-a-corpus

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.capability-adoption.counts-a-corpus

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

Distance 3

  • spec:consumers.readiness-planner

    Implementing units

    • impl:protocol.statement-queue-recipe · test/self-hosting-readiness-planner.test.ts:74

    Referencing units

    None.

    Enabled verifiers: spec:consumers.readiness-planner.cycle-shares-a-round, spec:consumers.readiness-planner.decision-first, spec:consumers.readiness-planner.dependency-order, spec:consumers.readiness-planner.owner-question-holds

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.roadmap

    Implementing units

    • impl:protocol.roadmap-recipe · test/roadmap.test.ts:20

    Referencing units

    None.

    Enabled verifiers: spec:consumers.roadmap.blocking-part, spec:consumers.roadmap.buildable-part, spec:consumers.roadmap.built-work, spec:consumers.roadmap.design-part, spec:consumers.roadmap.drifting-part, spec:consumers.roadmap.missing-evidence, spec:consumers.roadmap.outside-parent, spec:consumers.roadmap.statement-order, spec:consumers.roadmap.statement-part, test:protocol.roadmap-recipe

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

Distance 4

  • spec:consumers.projections-model.roadmap-views

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.cycle-shares-a-round

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.cycle-shares-a-round

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.decision-first

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.decision-first

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.dependency-order

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.dependency-order

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.owner-question-holds

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.owner-question-holds

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.blocking-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.blocking-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.buildable-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.buildable-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.built-work

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.built-work

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.design-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.design-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.drifting-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.drifting-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.memo

    Implementing units

    • impl:protocol.roadmap-memo-recipe · test/roadmap.test.ts:27
    • impl:protocol.studio-roadmap-page · src/projections/studio/pages/roadmap-page.ts:168

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap-memo-recipe, test:protocol.studio-roadmap-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.missing-evidence

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.missing-evidence

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.outside-parent

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.outside-parent

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.statement-order

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.statement-order

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.statement-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.statement-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.owner-queue

    Implementing units

    • impl:protocol.studio-owner-queue · src/projections/studio/pages/queue-page.ts:9

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.owner-queue.dependency-first

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.roadmap-page

    Implementing units

    • impl:protocol.studio-roadmap-page · src/projections/studio/pages/roadmap-page.ts:168

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-roadmap-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit

    Implementing units

    • impl:protocol.upgrade-guide · test/upgrade-kit.test.ts:87

    Referencing units

    None.

    Enabled verifiers: test:protocol.upgrade-guide

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:protocol.roadmap-replaces-plans

    Implementing units

    • impl:protocol.roadmap-practice · test/check-self-hosting-gates.test.ts:52

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap-practice

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

Distance 5

  • spec:consumers.spec-studio.owner-queue.dependency-first

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-queue-dependency-first

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.upgrade-kit.rule-key-proposal

    Implementing units

    • impl:protocol.rule-key-proposal-recipe · test/upgrade-kit.test.ts:742

    Referencing units

    None.

    Enabled verifiers: spec:consumers.upgrade-kit.rule-key-proposal.collision-and-unkeyable, spec:consumers.upgrade-kit.rule-key-proposal.proposal-applies-clean

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:protocol.delivery-record-cleanup

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmap, pack:self-hosting-v1

Distance 6

  • spec:consumers.upgrade-kit.rule-key-proposal.collision-and-unkeyable

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.rule-key-proposal.collision-and-unkeyable

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.rule-key-proposal.proposal-applies-clean

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.rule-key-proposal.proposal-applies-clean

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

Relations

Relation and directionOther endClaimReasonExercised keys
dependsOn · outgoingspec:consumers.pack-design
spec:consumers.pack-design · resolves
declaredNoneNone
refines · outgoingspec:consumers.projections-model
spec:consumers.projections-model · resolves
declaredNoneNone
dependsOn · incomingspec:consumers.delivery-session-on-ramp
spec:consumers.delivery-session-on-ramp · resolves
declaredthe design loop narrows a Pack to one perspective's membersNone
dependsOn · incomingspec:consumers.design-slice
spec:consumers.design-slice · resolves
declareda slice read for one concern takes the members a perspective selectsNone
dependsOn · incomingspec:consumers.upgrade-kit.capability-adoption
spec:consumers.upgrade-kit.capability-adoption · resolves
declaredperspectives are counted from the objects the caller passesNone

Bindings

Implementation binding: present

  • impl:protocol.perspective-filter-recipe · realizes the perspective filter in the shipped recipe catalog · test/iteration-recipes.test.ts:753 · role projection

Design reference: none

Verifier binding: present

  • test:protocol.perspective-filter-recipe · anchored · test/iteration-recipes.test.ts:760 · test anchor

Expected-outcome oracle: none

Runtime observation: not tracked.

Run results: not recorded in the graph.

Findings

None.

8. A change proposal is addressed, based and checked before it lands

spec:consumers.intent-composition.proposal

A change proposal is addressed, based and checked before it lands

spec:consumers.intent-composition.proposalContract · storyready floor ready

Packs: pack:design-iteration-v1, pack:design-management-v1, pack:self-hosting-v1

Design: 7 design entries · 2 pinned declarations · no decisions

Findings: no errors, no warnings

specs/consumers/intent-composition.proposal.sdp.md

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

The original design's patch loop made every change from a view reviewable and checked before it touched source. A patch named its target, the graph hash it was made against, a rationale, its operations and who proposed it; a CLI checked its schema and its base, applied it to a copy of the graph, ran the validators and only then rewrote the Spec files (docs/lineage/v0-design/02-system-architecture.md §2; 07-spec-studio-and-projections.md §6). The Protocol refused the patch and the codemod. A view composes scoped intent, an agent edits source as a person would, git records the edit and the same checks evaluate it. That edit model drops two things the patch loop gave: a proposed change a person can review before an agent applies it, and a guard against a proposal made against an older design.

The first adopter's agents already write proposals in that shape. A design pass returns findings that each name an entry address or a Spec section, state the gap, and propose exact text for a Spec with the entry it replaces or follows (libar-platform/design/advisors/task-pass.md), and its register tool applies a JSON patch only after checking all of it (libar-platform/design/advisors/register.md). This Spec states the reviewable half of the patch loop without the codemod. A proposal is a request that an agent applies as an ordinary edit, checked by sdp validate on a worktree before it merges. It also gives the Spec Studio's composing panel a shape to hand off.

Intent
problem
A proposed design change travels as free prose, so a reviewer cannot tell what it touches, which version of the design it read, or whether it still applies once the design has moved.
outcome
Give a proposed design change a reviewable shape: what it touches by Spec id or entry address, the commit it was read at, the change requested and why, checked on a worktree before merge.
Contract
rule line 25 · specs/consumers/intent-composition.proposal.sdp.md:25
A proposal is one JSON document on one schema, which a recipe takes as a parameter; a Markdown memo is a rendering of that document and never a second source of it.
rule line 26 · specs/consumers/intent-composition.proposal.sdp.md:26
A proposal names its scope as one or more Spec ids or entry addresses, each resolved before anything is applied: a Spec id through the reader's Spec context, an entry address through address resolution.
rule line 27 · specs/consumers/intent-composition.proposal.sdp.md:27
A proposal names the commit whose graph it was read against.
rule line 28 · specs/consumers/intent-composition.proposal.sdp.md:28
A proposal states the requested change in words an agent can apply, such as the exact text for an entry with the address it replaces or follows, a new open question with its flag, or a relation to declare or remove.
rule line 29 · specs/consumers/intent-composition.proposal.sdp.md:29
A proposal states its reason in one line.
rule line 30 · specs/consumers/intent-composition.proposal.sdp.md:30
The proposal check compares each change's scope between the proposal's base commit and the working tree through the design diff, entry by entry, and reports each change on its own row, so one changed scope never hides the state of another change; the check applies nothing and routes nothing.
rule line 31 · specs/consumers/intent-composition.proposal.sdp.md:31
Applying a proposal is an ordinary source edit by an agent or a person; no tool rewrites a carrier from it, and nothing is applied to a copy of the graph first.
rule line 32 · specs/consumers/intent-composition.proposal.sdp.md:32
A proposal carries no status, approval or verdict, and the graph records none; whether it was accepted is git history and the adopter's own record.
rule line 33 · specs/consumers/intent-composition.proposal.sdp.md:33
A proposal carries no proposer. Whoever hands it over is its author until it is applied, and then git authorship and co-author trailers are the record; the schema refuses the field.

9 unkeyed rules.

Design
proposalDocument line 37 · specs/consumers/intent-composition.proposal.sdp.md:37
{ "schema": "sdp-proposal/1", "base": "<commit>", "reason": "<one line>", "changes": [change] }, with schema, base, reason and a non-empty changes required and no other field.

no citation recorded

proposalChange line 38 · specs/consumers/intent-composition.proposal.sdp.md:38
{ "scope": ["<spec id or entry address>"], "request": "<words an agent can apply>", "text": "<exact entry text>", "replaces": "<entry address>", "follows": "<entry address>", "relation": { "action": "declare", "from": "<spec id>", "type": "dependsOn", "target": "<spec id>" }, "reason": "<one line>" }, with scope non-empty and request required, replaces and follows exclusive, action either declare or remove, from naming the relation's source Spec, and no other field.

no citation recorded

proposalSchemaFile line 39 · specs/consumers/intent-composition.proposal.sdp.md:39
the package ships the document's JSON Schema as schemas/sdp-proposal-1.schema.json, so an agent can use it as a structured-output schema; the check recipe validates the same shape itself, and a test holds the two to the same accepted and refused samples.
checkRecipe line 40 · specs/consumers/intent-composition.proposal.sdp.md:40
recipe 38, the proposal check, takes params.proposal and params.base, the base graph, and returns { schemaProblems: [{ path, problem }], base, diagnostics, totals: { changes, moved, unresolved }, changes }, with the design diff's diagnostics for the Specs it compares; when the document breaks the schema or the base graph is missing it returns the problems and no change rows.
checkedScope line 41 · specs/consumers/intent-composition.proposal.sdp.md:41
the check resolves and compares the deduplicated union of scope, replaces, follows and relation.from, and a change row's scope reports that union, so an entry a change replaces or follows cannot move unseen.
checkRows line 42 · specs/consumers/intent-composition.proposal.sdp.md:42
each change row is { index, scope: [{ ref, resolvesAtHead, resolvesAtBase, moved }], moved, relationTarget }; an item's moved is true when its Spec is added or removed between the two graphs, and otherwise, for an entry address, when the entry's value is added, removed or changed, an order-only move leaving it false, or, for a whole Spec, when any of its parts changed or moved in order; the row's moved is true when any item's is; relationTarget is { ref, resolvesAtHead } for a declared relation and null otherwise.
incomparableScope line 43 · specs/consumers/intent-composition.proposal.sdp.md:43
an item outside the common schema, or an otherwise unmoved whole-Spec item whose order across rules and flows one graph does not keep, carries comparable: false and a reason in place of moved; its row carries comparable: false and a null moved unless another item moved.
Verification

Verifier bindings

  • test:protocol.proposal-schema-and-recipe · anchored · test anchor binding present · test/iteration-recipes.test.ts:1517
Design view

Requirement drawing

Requirement drawing for spec:consumers.intent-composition.proposal
Requirement drawing for spec:consumers.intent-composition.proposalsatisfies · anchoredsatisfies · anchoredmodels · anchoredrefines · declaredrefines · declaredrefines, verifies · declaredverifies · anchoredverifies · anchoredIntended Specsspec:consumers.intent-composition.proposalA change proposal isaddressed, based andchecked before it lands…consumers.intent-composition.proposaldeclared Specspec:consumers.intent-composition.proposal.memoRecipe 49 renders a changeproposal as the Markdownmemo a person reviews…consumers.intent-composition.proposal.memodeclared SpecDeclared verifying examplesspec:consumers.intent-composition.proposal.memo.sharedRecipe 49 and the composingpanel write one memo forone proposal…consumers.intent-composition.proposal.memo.shareddeclared SpecSatisfying or referencingunits4 satisfying units · anchored, folded4 satisfying units ·anchoredTest or oracle bindingsoracle:protocol.studio-memooracle:protocol.studio-memo…protocol.studio-memoanchored oracle bindingtest:protocol.proposal-schema-and-recipetest:protocol.proposal-schema-and-recipe…protocol.proposal-schema-and-recipeanchored test binding ·binding presenttest:protocol.studio-memo-sharedtest:protocol.studio-memo-shared…protocol.studio-memo-sharedanchored test binding ·binding presentOutside the selected setspec:consumers.intent-compositionComposed intent hands offon one proposal shape…consumers.intent-compositiondeclared Spec
The diagram as text
  • spec:consumers.intent-composition.proposal: A change proposal is addressed, based and checked before it lands · declared Spec
  • spec:consumers.intent-composition.proposal.memo: Recipe 49 renders a change proposal as the Markdown memo a person reviews · declared Spec
  • spec:consumers.intent-composition.proposal.memo.shared: Recipe 49 and the composing panel write one memo for one proposal · declared Spec
  • spec:consumers.intent-composition: Composed intent hands off on one proposal shape · declared Spec
  • impl:protocol.proposal-memo-recipe: realizes the catalog proposal memo through its verbatim body check · anchored code · test/recipes.test.ts:7298
  • impl:protocol.proposal-schema-and-recipe: realizes the shipped proposal schema and proposal check in the recipe catalog · anchored code · test/iteration-recipes.test.ts:1510
  • impl:protocol.studio-proposal-contract: browser proposal shape and schema checks · anchored code · src/studio-elements/proposal.ts:1
  • impl:protocol.studio-proposal-memo: renders proposal fields verbatim with fences that outgrow their content · anchored code · src/studio-elements/memo.ts:13
  • oracle:protocol.studio-memo: oracle:protocol.studio-memo · anchored oracle binding · test/studio-s5.test.ts:262
  • test:protocol.proposal-schema-and-recipe: test:protocol.proposal-schema-and-recipe · anchored test binding · binding present · test/iteration-recipes.test.ts:1517
  • test:protocol.studio-memo-shared: test:protocol.studio-memo-shared · anchored test binding · binding present · test/studio-s5.test.ts:272
  • spec:consumers.intent-composition.proposal refines spec:consumers.intent-composition · declared
  • spec:consumers.intent-composition.proposal.memo refines spec:consumers.intent-composition.proposal · declared
  • spec:consumers.intent-composition.proposal.memo.shared refines spec:consumers.intent-composition.proposal.memo · declared
  • spec:consumers.intent-composition.proposal.memo.shared verifies spec:consumers.intent-composition.proposal.memo · declared
  • impl:protocol.proposal-memo-recipe satisfies spec:consumers.intent-composition.proposal.memo · anchored
  • impl:protocol.proposal-schema-and-recipe satisfies spec:consumers.intent-composition.proposal · anchored
  • impl:protocol.studio-proposal-contract satisfies spec:consumers.intent-composition.proposal · anchored
  • impl:protocol.studio-proposal-memo satisfies spec:consumers.intent-composition.proposal.memo · anchored
  • oracle:protocol.studio-memo models spec:consumers.intent-composition.proposal.memo · anchored
  • test:protocol.proposal-schema-and-recipe verifies spec:consumers.intent-composition.proposal · anchored
  • test:protocol.studio-memo-shared verifies spec:consumers.intent-composition.proposal.memo.shared · 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

No decision record named.

Runtime
  • component:protocol.studio-elements · optional browser behavior and proposal handoff · src/studio-elements/index.ts:13 · layer edge · context protocol

    Uses

    • component:protocol.projections · read-only output, layout and owned publication · src/projections/design-review.ts:29 · layer edge · context protocol
    • component:protocol.reader · the typed graph contract and body evaluator · src/reader/reader.ts:671 · layer application · context protocol
  • impl:protocol.proposal-schema-and-recipe · realizes the shipped proposal schema and proposal check in the recipe catalog · test/iteration-recipes.test.ts:1510

    Uses

    None.

  • impl:protocol.studio-proposal-contract · browser proposal shape and schema checks · src/studio-elements/proposal.ts:1

    Component: component:protocol.studio-elements · optional browser behavior and proposal handoff · src/studio-elements/index.ts:13 · layer edge · context protocol

    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.intent-composition.proposal
Relations of spec:consumers.intent-composition.proposaldependsOn · declareddependsOn · declareddependsOn · declaredrefines · declareddependsOn · declaredrefines · declaredOutgoing refinesspec:consumers.intent-compositionComposed intent hands offon one proposal shape…intent-compositionOutgoing dependsOnspec:consumers.agent-surface.address-and-cycle-recipesAddress resolution anddependency cycles stayexecutable graph recipes…agent-surface.address-and-cycle-recipesspec:consumers.design-diffDesigns are comparedbetween a base commit andthe working tree at entrygrain…design-diffspec:consumers.edit-modelViews compose scoped intentinstead of patchingcanonical source…edit-modelSubjectspec:consumers.intent-composition.proposalA change proposal isaddressed, based andchecked before it lands…intent-composition.proposalIncoming refinesspec:consumers.intent-composition.proposal.memoRecipe 49 renders a changeproposal as the Markdownmemo a person reviews…intent-composition.proposal.memoIncoming dependsOnspec:consumers.intent-composition.proposal.fold.Incoming.dependsOn5 Incoming dependsOn, folded…intent-composition.proposal.fold.Incoming.dependsOn
The diagram as text
  • spec:consumers.agent-surface.address-and-cycle-recipes: Address resolution and dependency cycles stay executable graph recipes
  • spec:consumers.delivery-session-on-ramp: Delivery sessions route work from current graph state
  • spec:consumers.design-diff: Designs are compared between a base commit and the working tree at entry grain
  • spec:consumers.edit-model: Views compose scoped intent instead of patching canonical source
  • spec:consumers.intent-composition: Composed intent hands off on one proposal shape
  • spec:consumers.intent-composition.proposal: A change proposal is addressed, based and checked before it lands
  • spec:consumers.intent-composition.proposal.memo: Recipe 49 renders a change proposal as the Markdown memo a person reviews
  • spec:consumers.obsidian-vault.iteration: A design pass is followed and answered from the vault
  • spec:consumers.spec-studio.intent-panel: A composing panel on every page gathers scoped intent for an agent
  • spec:consumers.upgrade-kit.rule-key-proposal: The rule-key proposal keys every unkeyed rule as a change proposal
  • spec:protocol.roadmap-replaces-plans: The Protocol reads its next work from its roadmap and keeps its delivery record in git and its pull requests
  • spec:consumers.intent-composition.proposal dependsOn spec:consumers.agent-surface.address-and-cycle-recipes · declared — the check resolves entry-address scopes through address resolution
  • spec:consumers.intent-composition.proposal dependsOn spec:consumers.design-diff · declared
  • spec:consumers.intent-composition.proposal dependsOn spec:consumers.edit-model · declared
  • spec:consumers.intent-composition.proposal refines spec:consumers.intent-composition · declared
  • spec:consumers.delivery-session-on-ramp dependsOn spec:consumers.intent-composition.proposal · declared — the design loop hands its findings back as a change proposal checked against its base
  • spec:consumers.obsidian-vault.iteration dependsOn spec:consumers.intent-composition.proposal · declared — intent composed in the vault hands off on the one proposal contract
  • spec:consumers.spec-studio.intent-panel dependsOn spec:consumers.intent-composition.proposal · declared — the panel hands off a change proposal
  • spec:consumers.upgrade-kit.rule-key-proposal dependsOn spec:consumers.intent-composition.proposal · declared — the recipe writes a change proposal in the shape the proposal check reads
  • spec:protocol.roadmap-replaces-plans dependsOn spec:consumers.intent-composition.proposal · declared — a review's findings against Specs travel as a checked change proposal
  • spec:consumers.intent-composition.proposal.memo refines spec:consumers.intent-composition.proposal · declared
Mermaid source

Copyable source; the Studio draws static SVG.

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

Rests on

  • refines · spec:consumers.intent-composition · stated ready, floor ready
  • dependsOn · spec:consumers.agent-surface.address-and-cycle-recipes · stated ready, floor ready
  • dependsOn · spec:consumers.design-diff · stated ready, floor ready
  • dependsOn · spec:consumers.edit-model · stated ready, floor ready

Rested on by

Distance 1

  • spec:consumers.delivery-session-on-ramp

    Implementing units

    • impl:protocol.delivery-session-on-ramp · test/skills.test.ts:83

    Referencing units

    None.

    Enabled verifiers: test:protocol.delivery-session-on-ramp

    Packs: pack:self-hosting-v1

  • spec:consumers.intent-composition.proposal.memo

    Implementing units

    • impl:protocol.proposal-memo-recipe · test/recipes.test.ts:7298
    • impl:protocol.studio-proposal-memo · src/studio-elements/memo.ts:13

    Referencing units

    None.

    Enabled verifiers: spec:consumers.intent-composition.proposal.memo.shared

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.obsidian-vault.iteration

    Implementing units

    • impl:protocol.vault-sync · src/projections/vault/sync.ts:98
    • impl:protocol.vault-text · src/projections/vault/text.ts:30
    • impl:protocol.vault-watch · src/cli/vault-command.ts:219

    Referencing units

    None.

    Enabled verifiers: spec:consumers.obsidian-vault.iteration.watch-rewrites-changed-notes, spec:consumers.obsidian-vault.iteration.watch-source-anchor

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.intent-panel

    Implementing units

    • impl:protocol.studio-compose · src/studio-elements/compose.ts:13
    • impl:protocol.studio-frame · src/projections/studio/pages/frame.ts:6
    • impl:protocol.studio-intent-panel · src/studio-elements/intent-panel.ts:51
    • impl:protocol.studio-intent-panel-element · src/studio-elements/intent-panel-element.ts:14
    • impl:protocol.studio-scenario-editor · src/studio-elements/scenario-editor.ts:17

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.intent-panel.refresh-keeps-intents, test:protocol.studio-intent-handoff

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.upgrade-kit.rule-key-proposal

    Implementing units

    • impl:protocol.rule-key-proposal-recipe · test/upgrade-kit.test.ts:742

    Referencing units

    None.

    Enabled verifiers: spec:consumers.upgrade-kit.rule-key-proposal.collision-and-unkeyable, spec:consumers.upgrade-kit.rule-key-proposal.proposal-applies-clean

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:protocol.roadmap-replaces-plans

    Implementing units

    • impl:protocol.roadmap-practice · test/check-self-hosting-gates.test.ts:52

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap-practice

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

Distance 2

  • spec:consumers.graph-first-planning

    Implementing units

    • impl:protocol.graph-first-planning · test/skills.test.ts:290

    Referencing units

    None.

    Enabled verifiers: test:protocol.graph-first-planning

    Packs: pack:self-hosting-v1

  • spec:consumers.intent-composition.proposal.memo.shared

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-memo-shared

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.obsidian-vault.iteration.watch-rewrites-changed-notes

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.iteration.watch-rewrites-changed-notes

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.obsidian-vault.iteration.watch-source-anchor

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.consumers.obsidian-vault.iteration.watch-source-anchor

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.memo

    Implementing units

    • impl:protocol.roadmap-memo-recipe · test/roadmap.test.ts:27
    • impl:protocol.studio-roadmap-page · src/projections/studio/pages/roadmap-page.ts:168

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap-memo-recipe, test:protocol.studio-roadmap-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.components

    Implementing units

    • component:protocol.studio-elements · src/studio-elements/index.ts:13
    • impl:protocol.studio-compose · src/studio-elements/compose.ts:13
    • impl:protocol.studio-diagram-element · src/studio-elements/diagram.ts:23
    • impl:protocol.studio-filter · src/studio-elements/filter.ts:25
    • impl:protocol.studio-intent-panel-element · src/studio-elements/intent-panel-element.ts:14
    • impl:protocol.studio-maturity-map · src/projections/studio/pages/maturity-map.ts:7
    • impl:protocol.studio-pack-page · src/projections/studio/pages/pack-page.ts:68
    • impl:protocol.studio-scenario-editor · src/studio-elements/scenario-editor.ts:17
    • impl:protocol.studio-search-results · src/studio-elements/search-results.ts:95
    • impl:protocol.studio-spec-structure · src/projections/studio/pages/spec-structure.ts:44
    • impl:protocol.studio-verification-panels · src/projections/studio/pages/spec-verification.ts:74

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-intent-handoff

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.intent-panel.refresh-keeps-intents

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-intents-refresh

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.verification-panels

    Implementing units

    • impl:protocol.studio-run-rows · src/projections/studio/pages/run-rows.ts:69
    • impl:protocol.studio-verification-panels · src/projections/studio/pages/spec-verification.ts:74

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.verification-panels.rule-coverage, test:protocol.studio-panels

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.studio-on-ramp

    Implementing units

    • impl:protocol.studio-on-ramp · test/skills.test.ts:1693

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-on-ramp

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.upgrade-kit.rule-key-proposal.collision-and-unkeyable

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.rule-key-proposal.collision-and-unkeyable

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.rule-key-proposal.proposal-applies-clean

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.rule-key-proposal.proposal-applies-clean

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.vault-on-ramp

    Implementing units

    • impl:protocol.vault-on-ramp · test/skills.test.ts:1995

    Referencing units

    None.

    Enabled verifiers: test:protocol.vault-on-ramp

    Packs: pack:obsidian-vault-v1, pack:self-hosting-v1

  • spec:protocol.delivery-record-cleanup

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmap, pack:self-hosting-v1

Distance 3

  • spec:consumers.readiness-planner

    Implementing units

    • impl:protocol.statement-queue-recipe · test/self-hosting-readiness-planner.test.ts:74

    Referencing units

    None.

    Enabled verifiers: spec:consumers.readiness-planner.cycle-shares-a-round, spec:consumers.readiness-planner.decision-first, spec:consumers.readiness-planner.dependency-order, spec:consumers.readiness-planner.owner-question-holds

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.roadmap

    Implementing units

    • impl:protocol.roadmap-recipe · test/roadmap.test.ts:20

    Referencing units

    None.

    Enabled verifiers: spec:consumers.roadmap.blocking-part, spec:consumers.roadmap.buildable-part, spec:consumers.roadmap.built-work, spec:consumers.roadmap.design-part, spec:consumers.roadmap.drifting-part, spec:consumers.roadmap.missing-evidence, spec:consumers.roadmap.outside-parent, spec:consumers.roadmap.statement-order, spec:consumers.roadmap.statement-part, test:protocol.roadmap-recipe

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagrams

    Implementing units

    • impl:protocol.studio-architecture-diagrams · src/projections/studio/diagrams/architecture.ts:4
    • impl:protocol.studio-diagram-element · src/studio-elements/diagram.ts:23
    • impl:protocol.studio-diagram-model · src/projections/studio/diagrams/model.ts:1
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73
    • impl:protocol.studio-relation-diagrams · src/projections/studio/diagrams/bands.ts:10

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.diagrams.folds-by-context, spec:consumers.spec-studio.diagrams.folds-by-layer, spec:consumers.spec-studio.diagrams.within-bound, test:protocol.studio-diagram-core

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.page-elements

    Implementing units

    • component:protocol.studio-elements · src/studio-elements/index.ts:13
    • impl:protocol.studio-copy · src/studio-elements/copy.ts:22
    • impl:protocol.studio-expander · src/studio-elements/expander.ts:16
    • impl:protocol.studio-filter · src/studio-elements/filter.ts:25
    • impl:protocol.studio-search-form · src/studio-elements/search.ts:18
    • impl:protocol.studio-search-results · src/studio-elements/search-results.ts:95
    • impl:protocol.studio-stamp · src/studio-elements/stamp.ts:30

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-copy-source, test:protocol.studio-page-elements

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.roadmap-page

    Implementing units

    • impl:protocol.studio-roadmap-page · src/projections/studio/pages/roadmap-page.ts:168

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-roadmap-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.verification-panels.rule-coverage

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-rule-coverage

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

Distance 4

  • spec:consumers.design-slice

    Implementing units

    • impl:protocol.design-slice-recipe · test/self-hosting-design-slice.test.ts:148

    Referencing units

    • impl:protocol.studio-slice-answer · src/projections/studio/slice-answer.ts:1

    Enabled verifiers: spec:consumers.design-slice.chain, spec:consumers.design-slice.component-absent, spec:consumers.design-slice.component-differing, spec:consumers.design-slice.component-matching, spec:consumers.design-slice.component-unreadable, spec:consumers.design-slice.component-unrelated, spec:consumers.design-slice.decision-backlink, spec:consumers.design-slice.dependency-cycle, spec:consumers.design-slice.folded-example, spec:consumers.design-slice.independent-example, spec:consumers.design-slice.outside-components, spec:consumers.design-slice.outside-holding, spec:consumers.design-slice.outside-satisfied, spec:consumers.design-slice.outside-unbound, test:protocol.design-slice

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.projections-model.roadmap-views

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.cycle-shares-a-round

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.cycle-shares-a-round

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.decision-first

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.decision-first

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.dependency-order

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.dependency-order

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.owner-question-holds

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.owner-question-holds

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.blocking-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.blocking-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.buildable-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.buildable-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.built-work

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.built-work

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.design-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.design-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.drifting-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.drifting-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.missing-evidence

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.missing-evidence

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.outside-parent

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.outside-parent

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.statement-order

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.statement-order

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.statement-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.statement-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds

    Implementing units

    • impl:protocol.studio-architecture-lens · src/projections/studio/pages/architecture-page.ts:50
    • impl:protocol.studio-capability-diagrams · src/projections/studio/diagrams/capability.ts:101
    • impl:protocol.studio-diagram-layout · src/projections/studio/diagrams/layout.ts:140
    • impl:protocol.studio-diagram-source · src/projections/studio/diagrams/mermaid.ts:13
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73
    • impl:protocol.studio-maturity-map · src/projections/studio/pages/maturity-map.ts:7
    • impl:protocol.studio-requirement-diagram · src/projections/studio/diagrams/requirement.ts:12
    • impl:protocol.studio-slice-architecture · src/projections/studio/diagrams/slice.ts:219
    • impl:protocol.studio-slice-dependencies · src/projections/studio/diagrams/slice.ts:10

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-catalog

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.edge-routing

    Implementing units

    • impl:protocol.studio-diagram-routing · src/projections/studio/diagrams/routing.ts:38
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-core

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.legibility

    Implementing units

    • impl:protocol.studio-diagram-element · src/studio-elements/diagram.ts:23
    • impl:protocol.studio-diagram-layout · src/projections/studio/diagrams/layout.ts:140
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-core

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.mermaid-source

    Implementing units

    • impl:protocol.studio-diagram-source · src/projections/studio/diagrams/mermaid.ts:13
    • impl:protocol.studio-diagrams · src/projections/studio/diagrams/svg.ts:73

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-core

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagrams.folds-by-context

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-folds-context

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.diagrams.folds-by-layer

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-folds-layer

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.diagrams.within-bound

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-diagram-within-bound

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.architecture

    Implementing units

    • impl:protocol.studio-architecture-lens · src/projections/studio/pages/architecture-page.ts:50

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.lenses.architecture.planned-apart, test:protocol.studio-architecture-maturity-requirement

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.owner-queue

    Implementing units

    • impl:protocol.studio-owner-queue · src/projections/studio/pages/queue-page.ts:9

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.owner-queue.dependency-first

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.slice-page

    Implementing units

    • impl:protocol.studio-slice-page · src/projections/studio/pages/slice-page.ts:25

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.spec-page

    Implementing units

    • impl:protocol.studio-requirement-view · src/projections/studio/pages/requirement-view.ts:8
    • impl:protocol.studio-spec-page · src/projections/studio/pages/spec-page.ts:201
    • impl:protocol.studio-spec-structure · src/projections/studio/pages/spec-structure.ts:44

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.spec-page.cited-declaration, test:protocol.studio-architecture-maturity-requirement, test:protocol.studio-panels

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.upgrade-kit

    Implementing units

    • impl:protocol.upgrade-guide · test/upgrade-kit.test.ts:87

    Referencing units

    None.

    Enabled verifiers: test:protocol.upgrade-guide

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

Distance 5

  • spec:consumers.design-slice.chain

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.chain

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-absent

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-absent

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-differing

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-differing

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-matching

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-matching

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-unreadable

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-unreadable

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-unrelated

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-unrelated

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.decision-backlink

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.decision-backlink

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.dependency-cycle

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.dependency-cycle

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.folded-example

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.folded-example

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.independent-example

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.independent-example

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-components

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-components

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-holding

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-holding

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-satisfied

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-satisfied

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-unbound

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-unbound

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.capability-map-page

    Implementing units

    • impl:protocol.studio-capabilities-page · src/projections/studio/pages/capabilities-page.ts:78
    • impl:protocol.studio-filter · src/studio-elements/filter.ts:25
    • impl:protocol.studio-frame · src/projections/studio/pages/frame.ts:6
    • impl:protocol.studio-index-page · src/projections/studio/pages/index-page.ts:8

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-capabilities

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.capability-tree

    Implementing units

    • impl:protocol.studio-capability-diagrams · src/projections/studio/diagrams/capability.ts:101
    • impl:protocol.studio-diagram-source · src/projections/studio/diagrams/mermaid.ts:13

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-capabilities

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.dependency

    Implementing units

    • impl:protocol.studio-slice-dependencies · src/projections/studio/diagrams/slice.ts:10

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-dependency

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.maturity-picture

    Implementing units

    • impl:protocol.studio-maturity-map · src/projections/studio/pages/maturity-map.ts:7

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-maturity-requirement

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.requirement-trace

    Implementing units

    • impl:protocol.studio-requirement-diagram · src/projections/studio/diagrams/requirement.ts:12
    • impl:protocol.studio-requirement-view · src/projections/studio/pages/requirement-view.ts:8

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-maturity-requirement, test:protocol.studio-diagram-core

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.scoped-architecture

    Implementing units

    • impl:protocol.studio-slice-architecture · src/projections/studio/diagrams/slice.ts:219

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-architecture

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.export

    Implementing units

    • impl:protocol.studio-diagram-element · src/studio-elements/diagram.ts:23
    • impl:protocol.studio-expander · src/studio-elements/expander.ts:16
    • impl:protocol.studio-pack-export · src/projections/studio/pages/export-page.ts:35
    • impl:protocol.studio-pack-page · src/projections/studio/pages/pack-page.ts:68

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.export.self-contained, test:protocol.studio-intent-handoff

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.architecture.planned-apart

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-planned-apart

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.lenses.architecture.unit-register

    Implementing units

    • impl:protocol.studio-unit-register · src/projections/studio/pages/architecture-register.ts:7

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-maturity-requirement

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.owner-queue.dependency-first

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-queue-dependency-first

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.spec-page.cited-declaration

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-cited-declaration

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.spec-page.core

    Implementing units

    • impl:protocol.studio-spec-page · src/projections/studio/pages/spec-page.ts:201

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-pages

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.structural-mermaid

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:design-management-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.capability-adoption

    Implementing units

    • impl:protocol.capability-adoption-recipe · test/upgrade-kit.test.ts:514

    Referencing units

    None.

    Enabled verifiers: spec:consumers.upgrade-kit.capability-adoption.counts-a-corpus

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

Distance 6

  • spec:consumers.spec-studio.export.self-contained

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-export-contained

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.pack-page.maturity-map

    Implementing units

    • impl:protocol.studio-maturity-map · src/projections/studio/pages/maturity-map.ts:7

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-architecture-maturity-requirement, test:protocol.studio-panels

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.upgrade-kit.capability-adoption.counts-a-corpus

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.capability-adoption.counts-a-corpus

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

Relations

Relation and directionOther endClaimReasonExercised keys
dependsOn · outgoingspec:consumers.agent-surface.address-and-cycle-recipes
spec:consumers.agent-surface.address-and-cycle-recipes · resolves
declaredthe check resolves entry-address scopes through address resolutionNone
dependsOn · outgoingDesigns are compared between a base commit and the working tree at entry grain
spec:consumers.design-diff · resolves
declaredNoneNone
dependsOn · outgoingspec:consumers.edit-model
spec:consumers.edit-model · resolves
declaredNoneNone
refines · outgoingspec:consumers.intent-composition
spec:consumers.intent-composition · resolves
declaredNoneNone
dependsOn · incomingspec:consumers.delivery-session-on-ramp
spec:consumers.delivery-session-on-ramp · resolves
declaredthe design loop hands its findings back as a change proposal checked against its baseNone
dependsOn · incomingspec:consumers.obsidian-vault.iteration
spec:consumers.obsidian-vault.iteration · resolves
declaredintent composed in the vault hands off on the one proposal contractNone
dependsOn · incomingspec:consumers.spec-studio.intent-panel
spec:consumers.spec-studio.intent-panel · resolves
declaredthe panel hands off a change proposalNone
dependsOn · incomingspec:consumers.upgrade-kit.rule-key-proposal
spec:consumers.upgrade-kit.rule-key-proposal · resolves
declaredthe recipe writes a change proposal in the shape the proposal check readsNone
dependsOn · incomingspec:protocol.roadmap-replaces-plans
spec:protocol.roadmap-replaces-plans · resolves
declareda review's findings against Specs travel as a checked change proposalNone
refines · incomingspec:consumers.intent-composition.proposal.memo
spec:consumers.intent-composition.proposal.memo · resolves
declaredNoneNone

Bindings

Implementation binding: present

  • impl:protocol.proposal-schema-and-recipe · realizes the shipped proposal schema and proposal check in the recipe catalog · test/iteration-recipes.test.ts:1510 · role contract
  • impl:protocol.studio-proposal-contract · browser proposal shape and schema checks · src/studio-elements/proposal.ts:1 · role contract · component component:protocol.studio-elements · layer edge · context protocol

Design reference: none

Verifier binding: present

  • test:protocol.proposal-schema-and-recipe · anchored · test/iteration-recipes.test.ts:1517 · test anchor

Expected-outcome oracle: none

Runtime observation: not tracked.

Run results: not recorded in the graph.

Findings

None.

9. Enrichment keeps one Spec while its detail changes

spec:model.enrichment-lifecycle

Enrichment keeps one Spec while its detail changes

spec:model.enrichment-lifecycleDomain Model · featureready floor ready

Packs: pack:design-iteration-v1, pack:self-hosting-v1

Design: 2 design entries · no pinned declarations · no decisions

Findings: no errors, no warnings

specs/model/enrichment-lifecycle.sdp.md

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

Intent
outcome
Keep a Spec useful after implementation without copying its detail into a second artifact that drifts from it.
Model
enrichment lifecycle line 18 · specs/model/enrichment-lifecycle.sdp.md:18
The same Spec gains and may later slim typed detail without changing identity or moving truth into another artifact type.
distillation boundary line 19 · specs/model/enrichment-lifecycle.sdp.md:19
A Design entry may leave its Spec once the Spec is implemented with a verifier and a bound artifact carries the entry: a pinned declaration whose realizing unit exists, or a bound example. Prose that explains why always stays, so each explanation keeps one home, and implemented code alone justifies neither keeping nor deleting detail.
slimming candidate line 20 · specs/model/enrichment-lifecycle.sdp.md:20
A Design entry past the distillation boundary. A recipe reports the candidates and never deletes one; removing an entry stays the author's edit.
Design
slimmingRecipe line 24 · specs/model/enrichment-lifecycle.sdp.md:24
recipe 39, slimming candidates, takes an optional params.pack and returns { totals: { specs, potentialCandidates }, rows, leftOut }, each row { spec, key, line, declaration, implementations, verifiers } for a pinned declaration on a Spec that carries both implemented and has-verifier.
slimmingScope line 25 · specs/model/enrichment-lifecycle.sdp.md:25
rows are potential candidates the author compares with the bound artifacts, because a binding names a whole Spec and the graph proves no entry-level realization for a declaration or an example; leftOut states both limits, and prose entries are never candidates.
Verification

Verifier bindings

  • test:protocol.slimming-recipe · anchored · test anchor binding present · test/curation-recipes.test.ts:39
Design view

Requirement drawing

  • Declared verifying examples: no declared verifying example.
Requirement drawing for spec:model.enrichment-lifecycle
Requirement drawing for spec:model.enrichment-lifecyclesatisfies · anchoredrefines · declaredverifies · anchoredIntended Specsspec:model.enrichment-lifecycleEnrichment keeps one Specwhile its detail changes…model.enrichment-lifecycledeclared SpecSatisfying or referencingunitsimpl:protocol.slimming-recipeasserts realization of theshipped slimming-candidatesrecipeimpl:protocol.slimming-recipeanchored codeTest or oracle bindingstest:protocol.slimming-recipetest:protocol.slimming-recipetest:protocol.slimming-recipeanchored test binding ·binding presentOutside the selected setspec:model.core-modelThe Protocol modelsdelivery with oneenrichable Spec…model.core-modeldeclared Spec
The diagram as text
  • spec:model.enrichment-lifecycle: Enrichment keeps one Spec while its detail changes · declared Spec
  • spec:model.core-model: The Protocol models delivery with one enrichable Spec · declared Spec
  • impl:protocol.slimming-recipe: asserts realization of the shipped slimming-candidates recipe · anchored code · test/curation-recipes.test.ts:26
  • test:protocol.slimming-recipe: test:protocol.slimming-recipe · anchored test binding · binding present · test/curation-recipes.test.ts:39
  • spec:model.enrichment-lifecycle refines spec:model.core-model · declared
  • impl:protocol.slimming-recipe satisfies spec:model.enrichment-lifecycle · anchored
  • test:protocol.slimming-recipe verifies spec:model.enrichment-lifecycle · anchored
Mermaid source

Copyable source; the Studio draws static SVG.

Preferred and chosen syntax: requirementDiagram; exact refines, satisfies and verifies, with claim words in nodes and per-edge comments.

Decisions

No decision record named.

Runtime
  • impl:protocol.slimming-recipe · asserts realization of the shipped slimming-candidates recipe · test/curation-recipes.test.ts:26

    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:model.enrichment-lifecycle
Relations of spec:model.enrichment-lifecycledependsOn · declareddependsOn · declaredrefines · declaredOutgoing refinesspec:model.core-modelThe Protocol modelsdelivery with oneenrichable Spec…model.core-modelOutgoing dependsOnspec:extraction.contract-declarationsPinned declarations give anadopter a derived module totypecheck…extraction.contract-declarationsSubjectspec:model.enrichment-lifecycleEnrichment keeps one Specwhile its detail changes…model.enrichment-lifecycleIncoming dependsOnspec:consumers.delivery-session-on-rampDelivery sessions routework from current graphstate…consumers.delivery-session-on-ramp
The diagram as text
  • spec:consumers.delivery-session-on-ramp: Delivery sessions route work from current graph state
  • spec:extraction.contract-declarations: Pinned declarations give an adopter a derived module to typecheck
  • spec:model.core-model: The Protocol models delivery with one enrichable Spec
  • spec:model.enrichment-lifecycle: Enrichment keeps one Spec while its detail changes
  • spec:model.enrichment-lifecycle dependsOn spec:extraction.contract-declarations · declared — a slimming candidate is a pinned declaration
  • spec:model.enrichment-lifecycle refines spec:model.core-model · declared
  • spec:consumers.delivery-session-on-ramp dependsOn spec:model.enrichment-lifecycle · declared — the close guidance reads its distillation boundary for Design entries
Mermaid source

Copyable source; the Studio draws static SVG.

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

Rests on

  • refines · spec:model.core-model · stated ready, floor ready
  • dependsOn · spec:extraction.contract-declarations · stated ready, floor ready

Rested on by

Distance 1

  • spec:consumers.delivery-session-on-ramp

    Implementing units

    • impl:protocol.delivery-session-on-ramp · test/skills.test.ts:83

    Referencing units

    None.

    Enabled verifiers: test:protocol.delivery-session-on-ramp

    Packs: pack:self-hosting-v1

Distance 2

  • spec:consumers.graph-first-planning

    Implementing units

    • impl:protocol.graph-first-planning · test/skills.test.ts:290

    Referencing units

    None.

    Enabled verifiers: test:protocol.graph-first-planning

    Packs: pack:self-hosting-v1

Distance 3

  • spec:consumers.readiness-planner

    Implementing units

    • impl:protocol.statement-queue-recipe · test/self-hosting-readiness-planner.test.ts:74

    Referencing units

    None.

    Enabled verifiers: spec:consumers.readiness-planner.cycle-shares-a-round, spec:consumers.readiness-planner.decision-first, spec:consumers.readiness-planner.dependency-order, spec:consumers.readiness-planner.owner-question-holds

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.roadmap

    Implementing units

    • impl:protocol.roadmap-recipe · test/roadmap.test.ts:20

    Referencing units

    None.

    Enabled verifiers: spec:consumers.roadmap.blocking-part, spec:consumers.roadmap.buildable-part, spec:consumers.roadmap.built-work, spec:consumers.roadmap.design-part, spec:consumers.roadmap.drifting-part, spec:consumers.roadmap.missing-evidence, spec:consumers.roadmap.outside-parent, spec:consumers.roadmap.statement-order, spec:consumers.roadmap.statement-part, test:protocol.roadmap-recipe

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

Distance 4

  • spec:consumers.design-slice

    Implementing units

    • impl:protocol.design-slice-recipe · test/self-hosting-design-slice.test.ts:148

    Referencing units

    • impl:protocol.studio-slice-answer · src/projections/studio/slice-answer.ts:1

    Enabled verifiers: spec:consumers.design-slice.chain, spec:consumers.design-slice.component-absent, spec:consumers.design-slice.component-differing, spec:consumers.design-slice.component-matching, spec:consumers.design-slice.component-unreadable, spec:consumers.design-slice.component-unrelated, spec:consumers.design-slice.decision-backlink, spec:consumers.design-slice.dependency-cycle, spec:consumers.design-slice.folded-example, spec:consumers.design-slice.independent-example, spec:consumers.design-slice.outside-components, spec:consumers.design-slice.outside-holding, spec:consumers.design-slice.outside-satisfied, spec:consumers.design-slice.outside-unbound, test:protocol.design-slice

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.projections-model.roadmap-views

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.cycle-shares-a-round

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.cycle-shares-a-round

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.decision-first

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.decision-first

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.dependency-order

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.dependency-order

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.readiness-planner.owner-question-holds

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.readiness-planner.owner-question-holds

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.blocking-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.blocking-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.buildable-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.buildable-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.built-work

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.built-work

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.design-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.design-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.drifting-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.drifting-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.memo

    Implementing units

    • impl:protocol.roadmap-memo-recipe · test/roadmap.test.ts:27
    • impl:protocol.studio-roadmap-page · src/projections/studio/pages/roadmap-page.ts:168

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap-memo-recipe, test:protocol.studio-roadmap-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.missing-evidence

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.missing-evidence

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.outside-parent

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.outside-parent

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.statement-order

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.statement-order

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.roadmap.statement-part

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap.statement-part

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.owner-queue

    Implementing units

    • impl:protocol.studio-owner-queue · src/projections/studio/pages/queue-page.ts:9

    Referencing units

    None.

    Enabled verifiers: spec:consumers.spec-studio.owner-queue.dependency-first

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.roadmap-page

    Implementing units

    • impl:protocol.studio-roadmap-page · src/projections/studio/pages/roadmap-page.ts:168

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-roadmap-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit

    Implementing units

    • impl:protocol.upgrade-guide · test/upgrade-kit.test.ts:87

    Referencing units

    None.

    Enabled verifiers: test:protocol.upgrade-guide

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:protocol.roadmap-replaces-plans

    Implementing units

    • impl:protocol.roadmap-practice · test/check-self-hosting-gates.test.ts:52

    Referencing units

    None.

    Enabled verifiers: test:protocol.roadmap-practice

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

Distance 5

  • spec:consumers.design-slice.chain

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.chain

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-absent

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-absent

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-differing

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-differing

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-matching

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-matching

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-unreadable

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-unreadable

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.component-unrelated

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.component-unrelated

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.decision-backlink

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.decision-backlink

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.dependency-cycle

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.dependency-cycle

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.folded-example

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.folded-example

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.independent-example

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.independent-example

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-components

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-components

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-holding

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-holding

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-satisfied

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-satisfied

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.design-slice.outside-unbound

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.design-slice.outside-unbound

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.dependency

    Implementing units

    • impl:protocol.studio-slice-dependencies · src/projections/studio/diagrams/slice.ts:10

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-dependency

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.diagram-kinds.scoped-architecture

    Implementing units

    • impl:protocol.studio-slice-architecture · src/projections/studio/diagrams/slice.ts:219

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-architecture

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.spec-studio.owner-queue.dependency-first

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-queue-dependency-first

    Packs: pack:self-hosting-v1, pack:spec-studio-v1

  • spec:consumers.spec-studio.slice-page

    Implementing units

    • impl:protocol.studio-slice-page · src/projections/studio/pages/slice-page.ts:25

    Referencing units

    None.

    Enabled verifiers: test:protocol.studio-slice-page

    Packs: pack:roadmaps-and-slices-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.capability-adoption

    Implementing units

    • impl:protocol.capability-adoption-recipe · test/upgrade-kit.test.ts:514

    Referencing units

    None.

    Enabled verifiers: spec:consumers.upgrade-kit.capability-adoption.counts-a-corpus

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.rule-key-proposal

    Implementing units

    • impl:protocol.rule-key-proposal-recipe · test/upgrade-kit.test.ts:742

    Referencing units

    None.

    Enabled verifiers: spec:consumers.upgrade-kit.rule-key-proposal.collision-and-unkeyable, spec:consumers.upgrade-kit.rule-key-proposal.proposal-applies-clean

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:protocol.delivery-record-cleanup

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:roadmap, pack:self-hosting-v1

Distance 6

  • spec:consumers.upgrade-kit.capability-adoption.counts-a-corpus

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.capability-adoption.counts-a-corpus

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.rule-key-proposal.collision-and-unkeyable

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.rule-key-proposal.collision-and-unkeyable

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

  • spec:consumers.upgrade-kit.rule-key-proposal.proposal-applies-clean

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: test:protocol.rule-key-proposal.proposal-applies-clean

    Packs: pack:adopter-speed-v1, pack:self-hosting-v1

Relations

Relation and directionOther endClaimReasonExercised keys
dependsOn · outgoingspec:extraction.contract-declarations
spec:extraction.contract-declarations · resolves
declareda slimming candidate is a pinned declarationNone
refines · outgoingspec:model.core-model
spec:model.core-model · resolves
declaredNoneNone
dependsOn · incomingspec:consumers.delivery-session-on-ramp
spec:consumers.delivery-session-on-ramp · resolves
declaredthe close guidance reads its distillation boundary for Design entriesNone

Bindings

Implementation binding: present

  • impl:protocol.slimming-recipe · asserts realization of the shipped slimming-candidates recipe · test/curation-recipes.test.ts:26

Design reference: none

Verifier binding: present

  • test:protocol.slimming-recipe · anchored · test/curation-recipes.test.ts:39 · test anchor

Expected-outcome oracle: none

Runtime observation: not tracked.

Run results: not recorded in the graph.

Findings

None.

10. File-level imports show where curation is missing

spec:consumers.impact-graph.curation-assist

File-level imports show where curation is missing

spec:consumers.impact-graph.curation-assistUse Case / Behavior · featureready floor ready

Packs: pack:design-iteration-v1, pack:self-hosting-v1

Design: 7 design entries · 4 pinned declarations · 1 decision

Findings: no errors, no warnings

specs/consumers/impact-graph.curation-assist.sdp.md

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

Gen 1 of this tool, @libar-dev/architect, derived a mechanical import graph beside its curated one and used it to show authors where curation was missing: load-bearing modules no anchor covered, coverage by package, and designed modules no code realized yet. The idea held; the build did not. It hard-coded the repository's layout into the engine, read TypeScript only, and mixed both graphs in one query handle. A review of gen 1 found that the file-level layer gave most of its curation value and that only symbol queries need a symbol identity, which the impact graph's symbol-reach child holds open, so the file-level layer stands on its own.

Intent
actor
An author curating anchors across a codebase, or a design pass over a large redesign.
problem
Nothing tells an author which load-bearing files no anchor covers, where anchored uses and the code's imports disagree, or which component designs no code realizes yet, so curation gaps surface only when someone reads the code.
outcome
Report from file-level imports where anchors and component designs are missing or drifting, as advice that never authors intent.
Behavior
rule line 25 · specs/consumers/impact-graph.curation-assist.sdp.md:25
The layer reads file-level import edges from a per-language adapter and identifies each file by its repository-relative path, so it needs no symbol identity.
rule line 26 · specs/consumers/impact-graph.curation-assist.sdp.md:26
Every import relationship it derives is inferred; the imports file's schema and the recipe's external-inferred-input label carry that claim for all of them at once, so no relationship carries its own. The relationships stay apart from the curated graph: no uses, memberOf, satisfies or delivery fact derives from them, and a query of the curated graph never reads them unless the caller asks.
rule line 27 · specs/consumers/impact-graph.curation-assist.sdp.md:27
It reports the files with the highest import fan-in that no anchor covers, the anchored uses edges between two components whose files share no import, the imports between two anchored components that no uses states, and the component designs no component: anchor realizes yet.
rule line 28 · specs/consumers/impact-graph.curation-assist.sdp.md:28
Every report is advice: it refuses nothing, fails no validation and authors no anchor, and an author who agrees edits an anchor or a Spec as usual.
rule line 29 · specs/consumers/impact-graph.curation-assist.sdp.md:29
The engine reads no repository layout convention: source roots and module resolution come from the adapter's configuration, and a file belongs to a component only when it holds that component: anchor or a code anchor memberOf it, never through a path pattern in the engine.
rule line 30 · specs/consumers/impact-graph.curation-assist.sdp.md:30
The TypeScript adapter reads imports through the compiler library extraction already depends on; another language arrives as another adapter.
rule line 31 · specs/consumers/impact-graph.curation-assist.sdp.md:31
The adapter runs outside extraction and outside sdp q: sdp build, given the adapter's configuration, writes the import edges to generated/imports.json, sorted and without a timestamp, and the curation recipe reads that file through --params, so no query derives imports and no validator sees an inferred edge.
rule line 32 · specs/consumers/impact-graph.curation-assist.sdp.md:32
The imports configuration accepts optional root-relative exclude paths matching a file or directory subtree, refuses unknown keys, and records exclusions in its output so curation distinguishes deliberate omissions from missing input.
rule line 33 · specs/consumers/impact-graph.curation-assist.sdp.md:33
The recipe labels the file as external inferred input and reports a file present on one side only; it states nothing in the graph's name.
rule line 34 · specs/consumers/impact-graph.curation-assist.sdp.md:34
The adapter follows re-exports through barrel files, so a uses that reaches a component through an index file counts as backed by an import.
rule line 35 · specs/consumers/impact-graph.curation-assist.sdp.md:35
Load-bearing is a ranked list, not a threshold: the recipe reports each uncovered file's import fan-in and fan-out, takes a limit, and leaves the cut to the caller.

11 unkeyed rules.

Design
importsFlag line 39 · specs/consumers/impact-graph.curation-assist.sdp.md:39
sdp build --imports PATH names the adapter configuration, a JSON object { "adapter": "typescript", "tsconfig": "tsconfig.json", "roots": ["src"], "exclude": ["src/generated"] } with root-relative paths, where exclude is optional and each of its paths names a file or a directory subtree, and a key outside these four is refused; without the flag the build writes no imports file and leaves an existing one untouched.

no citation recorded

importsFile line 40 · specs/consumers/impact-graph.curation-assist.sdp.md:40
{ "schema": "sdp-imports/1", "adapter": "typescript", "exclude": ["src/generated"], "files": [{ "file": "src/a.ts", "imports": ["src/b.ts"] }] } in generated/imports.json, files and imports sorted in code-unit order, paths root-relative with POSIX separators, exclude recording the configuration's exclusions in that form and sorted, every file the adapter reads under the configured roots and outside the exclusions listed even when it imports nothing, and imports outside the roots or under an exclusion left out. The schema and the recipe's external inferred input label give every listed relationship the inferred claim.

no citation recorded

barrelImports line 41 · specs/consumers/impact-graph.curation-assist.sdp.md:41
when a file imports a barrel that re-exports another file, its imports lists the barrel and every file the barrel's re-exports reach, so the list is already the backing a uses check reads; a barrel under an exclusion is left out of the list while the files reached through it stay.
importForms line 42 · specs/consumers/impact-graph.curation-assist.sdp.md:42
the TypeScript adapter reads the .ts, .cts, .mts and .tsx files under the configured roots and the module references the compiler resolves in them: import and export-from declarations, type-only and side-effect imports included, import x = require(...), and import(...) calls and import types with a literal specifier; a computed specifier and a plain require(...) call are not read.
curationRecipe line 43 · specs/consumers/impact-graph.curation-assist.sdp.md:43
recipe 40, the curation report, takes params.imports, the imports file's object, and params.limit, 20 by default, and returns { input, totals, uncovered, usesWithoutImport, importsWithoutUses, unrealizedComponents, oneSided }.
curationRows line 44 · specs/consumers/impact-graph.curation-assist.sdp.md:44
uncovered rows are { file, fanIn, fanOut } for files no anchor sits in, ranked by fan-in then path and cut at limit; usesWithoutImport rows are { from, to, fromComponent, toComponent }; importsWithoutUses rows are { fromComponent, toComponent, imports, sample: { from, to } }; unrealizedComponents rows are { spec, componentId } for component designs with no resolving anchored satisfies edge from the planned component: unit to the design, so an existing id without that binding stays unrealized.

no citation recorded

curationInput line 45 · specs/consumers/impact-graph.curation-assist.sdp.md:45
input is { label: "external inferred input", schema, adapter, exclude, files }, with exclude echoing the imports file's exclusions, and oneSided lists anchored source files the imports file does not list and imports-file entries outside every anchored component, so a stale or partial file shows.

no citation recorded

Verification

Verifier bindings

  • test:protocol.curation-imports · anchored · test anchor binding present · test/curation-imports.test.ts:17
  • test:protocol.curation-recipe · anchored · test anchor binding present · test/curation-recipes.test.ts:44
Design view

Requirement drawing

  • Declared verifying examples: no declared verifying example.
Requirement drawing for spec:consumers.impact-graph.curation-assist
The diagram as text
  • spec:consumers.impact-graph.curation-assist: File-level imports show where curation is missing · declared Spec
  • spec:consumers.impact-graph: Mechanical code structure stays inferred and apart from curated intent · declared Spec
  • impl:protocol.build-imports: opt-in imports publication in the build command · anchored code · src/cli/build-command.ts:243
  • impl:protocol.curation-recipe: asserts the curation report over external inferred imports · anchored code · test/curation-recipes.test.ts:32
  • impl:protocol.typescript-imports: TypeScript file imports and barrel reach for external curation input · anchored code · src/adapters/typescript-imports.ts:7
  • test:protocol.curation-imports: test:protocol.curation-imports · anchored test binding · binding present · test/curation-imports.test.ts:17
  • test:protocol.curation-recipe: test:protocol.curation-recipe · anchored test binding · binding present · test/curation-recipes.test.ts:44
  • spec:consumers.impact-graph.curation-assist refines spec:consumers.impact-graph · declared
  • impl:protocol.build-imports satisfies spec:consumers.impact-graph.curation-assist · anchored
  • impl:protocol.curation-recipe satisfies spec:consumers.impact-graph.curation-assist · anchored
  • impl:protocol.typescript-imports satisfies spec:consumers.impact-graph.curation-assist · anchored
  • test:protocol.curation-imports verifies spec:consumers.impact-graph.curation-assist · anchored
  • test:protocol.curation-recipe verifies spec:consumers.impact-graph.curation-assist · anchored
Mermaid source

Copyable source; the Studio draws static SVG.

Preferred and chosen syntax: requirementDiagram; exact refines, satisfies and verifies, with claim words in nodes and per-edge comments.

Decisions

  • spec:decisions.architectural-annotation

    Architectural significance is annotated on the anchor of the unit that realizes it. A code anchor may carry role, the architectural pattern the unit plays; a component: anchor may additionally carry layer, one of edge, application, domain, adapter, or infrastructure, and context, its bounded context. The component: anchor is anchored architecture: it is the declared component, and there is no separate architecture file, because the anchor sits where the component is realized. It is not the original design's declared Component that could exist before code; an unrealized component lives in Specs and never as an invented CodeNode. A role is a free, corpus-owned vocabulary whose taxonomy the census renders with counts from the graph; service, decider, projection, read-model, codec, contract, barrel, and utility are the lineage set, not a closed list. layer is a closed set, and a value outside it is an envelope error; layer or context on a non-component anchor is an envelope error. All three attributes are optional, and omission is lawful.

Runtime
  • component:protocol.adapters · external runtime and source adapters · src/adapters/vitest.ts:23 · layer adapter · context protocol

    Uses

    • component:protocol.runner · provider-neutral example execution · src/runner/index.ts:99 · layer application · context protocol
  • component:protocol.cli · entry points, shared build and publication · src/cli/build-command.ts:32 · layer edge · context protocol

    Uses

    • component:protocol.adapters · external runtime and source adapters · src/adapters/vitest.ts:23 · layer adapter · context protocol
    • component:protocol.codegen · contracts and registrar output · src/codegen/contracts.ts:633 · layer application · context protocol
    • component:protocol.extract · the carrier and source pipeline · src/extract/index.ts:192 · layer application · context protocol
    • component:protocol.graph · the one graph and its semantic decisions · src/graph/schema.ts:34 · layer domain · context protocol
    • component:protocol.import · canonical conversion with a fidelity boundary · src/import/import.ts:45 · layer application · context protocol
    • component:protocol.model · the authored contracts and stable ids · src/model/anchors.ts:100 · layer domain · context protocol
    • component:protocol.projections · read-only output, layout and owned publication · src/projections/design-review.ts:29 · layer edge · context protocol
    • component:protocol.reader · the typed graph contract and body evaluator · src/reader/reader.ts:671 · layer application · context protocol
    • component:protocol.validate · one finding currency and ordered checks · src/validate/validators.ts:72 · layer domain · context protocol
  • impl:protocol.build-imports · opt-in imports publication in the build command · src/cli/build-command.ts:243

    Component: component:protocol.cli · entry points, shared build and publication · src/cli/build-command.ts:32 · layer edge · context protocol

    Uses

    None.

  • impl:protocol.curation-recipe · asserts the curation report over external inferred imports · test/curation-recipes.test.ts:32

    Uses

    None.

  • impl:protocol.typescript-imports · TypeScript file imports and barrel reach for external curation input · src/adapters/typescript-imports.ts:7

    Component: component:protocol.adapters · external runtime and source adapters · src/adapters/vitest.ts:23 · layer adapter · context protocol

    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.impact-graph.curation-assist
Relations of spec:consumers.impact-graph.curation-assistrefines · declareddecidedBy · declareddependsOn · declaredOutgoing refinesspec:consumers.impact-graphMechanical code structurestays inferred and apartfrom curated intent…consumers.impact-graphOutgoing dependsOnspec:model.planned-architectureComponents are designedahead of their code…model.planned-architectureOutgoing decidedByspec:decisions.architectural-annotationArchitectural significanceis annotated where it isrealized…decisions.architectural-annotationSubjectspec:consumers.impact-graph.curation-assistFile-level imports showwhere curation is missing…consumers.impact-graph.curation-assist
The diagram as text
  • spec:consumers.impact-graph: Mechanical code structure stays inferred and apart from curated intent
  • spec:consumers.impact-graph.curation-assist: File-level imports show where curation is missing
  • spec:decisions.architectural-annotation: Architectural significance is annotated where it is realized
  • spec:model.planned-architecture: Components are designed ahead of their code
  • spec:consumers.impact-graph.curation-assist decidedBy spec:decisions.architectural-annotation · declared
  • spec:consumers.impact-graph.curation-assist dependsOn spec:model.planned-architecture · declared — the report uses the component-design convention to identify unrealized planned components
  • spec:consumers.impact-graph.curation-assist refines spec:consumers.impact-graph · declared
Mermaid source

Copyable source; the Studio draws static SVG.

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

Rests on

  • refines · spec:consumers.impact-graph · stated ready, floor ready
  • dependsOn · spec:model.planned-architecture · stated ready, floor ready
  • decidedBy · spec:decisions.architectural-annotation · stated ready, floor ready

Rested on by

No Spec rests on this Spec.

Relations

Relation and directionOther endClaimReasonExercised keys
decidedBy · outgoingspec:decisions.architectural-annotation
spec:decisions.architectural-annotation · resolves
declaredNoneNone
dependsOn · outgoingspec:model.planned-architecture
spec:model.planned-architecture · resolves
declaredthe report uses the component-design convention to identify unrealized planned componentsNone
refines · outgoingMechanical code structure stays inferred and apart from curated intent
spec:consumers.impact-graph · resolves
declaredNoneNone

Bindings

Implementation binding: present

  • impl:protocol.build-imports · opt-in imports publication in the build command · src/cli/build-command.ts:243 · role publisher · component component:protocol.cli · layer edge · context protocol
  • impl:protocol.curation-recipe · asserts the curation report over external inferred imports · test/curation-recipes.test.ts:32
  • impl:protocol.typescript-imports · TypeScript file imports and barrel reach for external curation input · src/adapters/typescript-imports.ts:7 · role adapter · component component:protocol.adapters · layer adapter · context protocol

Design reference: none

Verifier binding: present

  • test:protocol.curation-imports · anchored · test/curation-imports.test.ts:17 · test anchor
  • test:protocol.curation-recipe · anchored · test/curation-recipes.test.ts:44 · test anchor

Expected-outcome oracle: none

Runtime observation: not tracked.

Run results: not recorded in the graph.

Findings

None.

11. Mechanical code structure stays inferred and apart from curated intent

spec:consumers.impact-graph

Mechanical code structure stays inferred and apart from curated intent

spec:consumers.impact-graphUse Case / Behavior · featureready floor ready

Packs: pack:design-iteration-v1, pack:self-hosting-v1

Design: no design entries · no pinned declarations · no decisions

Findings: no errors, no warnings

specs/consumers/impact-graph.sdp.md

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

File-level import structure, keyed by repository-relative path, is designed in spec:consumers.impact-graph.curation-assist; exhaustive symbol reach is designed in spec:consumers.impact-graph.symbol-reach, which holds the symbol-identity question. This parent promises the stance that inferred structure stays apart from curated intent. Symbol reach is the deferred child's promise alone.

Intent
outcome
Let mechanically derived import and symbol structure inform impact and curation without ever standing in for curated intent.
Behavior
rule.inferredApart line 18 · specs/consumers/impact-graph.sdp.md:18
Mechanical import and symbol structure derives under the inferred claim and stays apart from the sparse curated graph; no curated edge, binding or delivery fact derives from it.

no example exercises it

0 unkeyed rules.

Verification

Verifier bindings

  • test:protocol.curation-imports · anchored · test anchor binding present · test/curation-imports.test.ts:17
Design view

Requirement drawing

  • Declared verifying examples: no declared verifying example.
Requirement drawing for spec:consumers.impact-graph

Scroll horizontally to read the whole drawing.

Requirement drawing for spec:consumers.impact-graphsatisfies · anchoredsatisfies · anchoredsatisfies · anchoredsatisfies · anchoredrefines · declaredrefines · declaredrefines · declaredverifies · anchoredverifies · anchoredverifies · anchoredIntended Specsspec:consumers.impact-graphMechanical code structurestays inferred and apartfrom curated intent…consumers.impact-graphdeclared Specspec:consumers.impact-graph.curation-assistFile-level imports showwhere curation is missing…consumers.impact-graph.curation-assistdeclared Specspec:consumers.impact-graph.symbol-reachExhaustive symbol reachwaits for alanguage-neutral identity…consumers.impact-graph.symbol-reachdeclared Spec · no satisfyingbindingSatisfying or referencingunitsimpl:protocol.build-importsopt-in imports publicationin the build command…protocol.build-importsanchored codeimpl:protocol.curation-recipeasserts the curation reportover external inferredimportsimpl:protocol.curation-recipeanchored codeimpl:protocol.typescript-importsTypeScript file imports andbarrel reach for externalcuration input…protocol.typescript-importsanchored codeTest or oracle bindingstest:protocol.curation-importstest:protocol.curation-imports…protocol.curation-importsanchored test binding ·binding presenttest:protocol.curation-recipetest:protocol.curation-recipetest:protocol.curation-recipeanchored test binding ·binding presentOutside the selected setspec:consumers.projections-modelProjections fan out fromone graph without becomingtruth stores…consumers.projections-modeldeclared Spec
The diagram as text
  • spec:consumers.impact-graph: Mechanical code structure stays inferred and apart from curated intent · declared Spec
  • spec:consumers.impact-graph.curation-assist: File-level imports show where curation is missing · declared Spec
  • spec:consumers.impact-graph.symbol-reach: Exhaustive symbol reach waits for a language-neutral identity · declared Spec · no satisfying binding
  • spec:consumers.projections-model: Projections fan out from one graph without becoming truth stores · declared Spec
  • impl:protocol.build-imports: opt-in imports publication in the build command · anchored code · src/cli/build-command.ts:243
  • impl:protocol.curation-recipe: asserts the curation report over external inferred imports · anchored code · test/curation-recipes.test.ts:32
  • impl:protocol.typescript-imports: TypeScript file imports and barrel reach for external curation input · anchored code · src/adapters/typescript-imports.ts:7
  • test:protocol.curation-imports: test:protocol.curation-imports · anchored test binding · binding present · test/curation-imports.test.ts:17
  • test:protocol.curation-recipe: test:protocol.curation-recipe · anchored test binding · binding present · test/curation-recipes.test.ts:44
  • spec:consumers.impact-graph refines spec:consumers.projections-model · declared
  • spec:consumers.impact-graph.curation-assist refines spec:consumers.impact-graph · declared
  • spec:consumers.impact-graph.symbol-reach refines spec:consumers.impact-graph · declared
  • impl:protocol.build-imports satisfies spec:consumers.impact-graph.curation-assist · anchored
  • impl:protocol.curation-recipe satisfies spec:consumers.impact-graph.curation-assist · anchored
  • impl:protocol.typescript-imports satisfies spec:consumers.impact-graph.curation-assist · anchored
  • impl:protocol.typescript-imports satisfies spec:consumers.impact-graph · anchored
  • test:protocol.curation-imports verifies spec:consumers.impact-graph.curation-assist · anchored
  • test:protocol.curation-imports verifies spec:consumers.impact-graph · anchored
  • test:protocol.curation-recipe verifies spec:consumers.impact-graph.curation-assist · anchored
Mermaid source

Copyable source; the Studio draws static SVG.

Preferred and chosen syntax: requirementDiagram; exact refines, satisfies and verifies, with claim words in nodes and per-edge comments.

Decisions

No decision record named.

Runtime
  • component:protocol.adapters · external runtime and source adapters · src/adapters/vitest.ts:23 · layer adapter · context protocol

    Uses

    • component:protocol.runner · provider-neutral example execution · src/runner/index.ts:99 · layer application · context protocol
  • impl:protocol.typescript-imports · TypeScript file imports and barrel reach for external curation input · src/adapters/typescript-imports.ts:7

    Component: component:protocol.adapters · external runtime and source adapters · src/adapters/vitest.ts:23 · layer adapter · context protocol

    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.impact-graph
Relations of spec:consumers.impact-graphrefines · declareddependsOn · declaredrefines · declaredrefines · declaredOutgoing refinesspec:consumers.projections-modelProjections fan out fromone graph without becomingtruth stores…consumers.projections-modelOutgoing dependsOnspec:extraction.derive-graphCarrier reification derivesthe one graph…extraction.derive-graphSubjectspec:consumers.impact-graphMechanical code structurestays inferred and apartfrom curated intent…consumers.impact-graphIncoming refinesspec:consumers.impact-graph.curation-assistFile-level imports showwhere curation is missing…consumers.impact-graph.curation-assistspec:consumers.impact-graph.symbol-reachExhaustive symbol reachwaits for alanguage-neutral identity…consumers.impact-graph.symbol-reach
The diagram as text
  • spec:consumers.impact-graph: Mechanical code structure stays inferred and apart from curated intent
  • spec:consumers.impact-graph.curation-assist: File-level imports show where curation is missing
  • spec:consumers.impact-graph.symbol-reach: Exhaustive symbol reach waits for a language-neutral identity
  • spec:consumers.projections-model: Projections fan out from one graph without becoming truth stores
  • spec:extraction.derive-graph: Carrier reification derives the one graph
  • spec:consumers.impact-graph dependsOn spec:extraction.derive-graph · declared
  • spec:consumers.impact-graph refines spec:consumers.projections-model · declared
  • spec:consumers.impact-graph.curation-assist refines spec:consumers.impact-graph · declared
  • spec:consumers.impact-graph.symbol-reach refines spec:consumers.impact-graph · declared
Mermaid source

Copyable source; the Studio draws static SVG.

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

Rests on

  • refines · spec:consumers.projections-model · stated ready, floor ready
  • dependsOn · spec:extraction.derive-graph · stated ready, floor ready

Rested on by

Distance 1

  • spec:consumers.impact-graph.curation-assist

    Implementing units

    • impl:protocol.build-imports · src/cli/build-command.ts:243
    • impl:protocol.curation-recipe · test/curation-recipes.test.ts:32
    • impl:protocol.typescript-imports · src/adapters/typescript-imports.ts:7

    Referencing units

    None.

    Enabled verifiers: test:protocol.curation-imports, test:protocol.curation-recipe

    Packs: pack:design-iteration-v1, pack:self-hosting-v1

  • spec:consumers.impact-graph.symbol-reach

    Implementing units

    None.

    Referencing units

    None.

    Enabled verifiers: None

    Packs: pack:self-hosting-v1

Relations

Relation and directionOther endClaimReasonExercised keys
dependsOn · outgoingspec:extraction.derive-graph
spec:extraction.derive-graph · resolves
declaredNoneNone
refines · outgoingspec:consumers.projections-model
spec:consumers.projections-model · resolves
declaredNoneNone
refines · incomingFile-level imports show where curation is missing
spec:consumers.impact-graph.curation-assist · resolves
declaredNoneNone
refines · incomingspec:consumers.impact-graph.symbol-reach
spec:consumers.impact-graph.symbol-reach · resolves
declaredNoneNone

Bindings

Implementation binding: present

  • impl:protocol.typescript-imports · TypeScript file imports and barrel reach for external curation input · src/adapters/typescript-imports.ts:7 · role adapter · component component:protocol.adapters · layer adapter · context protocol

Design reference: none

Verifier binding: present

  • test:protocol.curation-imports · anchored · test/curation-imports.test.ts:17 · test anchor

Expected-outcome oracle: none

Runtime observation: not tracked.

Run results: not recorded in the graph.

Findings

None.