problemAn authored relation may carry its reason
spec:model.relation-reasonsPacks: 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
- 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
ruleline 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.
ruleline 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
verifieslists, which the rule-coverage recipe reads. ruleline 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.
ruleline 26 ·specs/model/relation-reasons.sdp.md:26- In the envelope a relation target is a plain Spec id or an object with
targetand optionalreason; a declaredverifiesobject may also carryexercises. 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. ruleline 27 ·specs/model/relation-reasons.sdp.md:27- A reason on
supersedessays what the newer decision replaces, and a reason on arefinesfrom one decision to another says which part of the older decision the newer one narrows. ruleline 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.
ruleline 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,toandreasonbeside 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
envelopeTargetline 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 declaredverifiesobject may also carryexercises, and an object with another key, an empty reason, or a reason on two lines is refused; an object carrying onlytargetreads as the plain id. builderArgumentline 34 ·specs/model/relation-reasons.sdp.md:34- each TypeScript relation builder takes an optional second argument,
dependsOn(target, { reason }), withverifies(target, { reason, exercises })also taking the rule keys, and a builder called without it writes a plain declared relation. edgeReasonline 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. gherkinRelationsline 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.
intendedMentionsline 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 returnsintended, the unbacked pairs a row matches with its reason, kept apart from the remaining pairs, andstaleIntended, 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:24External run evidence from
test/authoring-grammar.test.tsTest anchors:
test:protocol.authoring-grammar. Specs verified by those bindings: spec:model.open-question-fields, spec:model.relation-reasons, spec:model.rule-keys.Run 1: external run evidence from vitest 4.1.10
Build: CI 380 · Branch: feature/roadmap-and-slices-v0 · Commit: 34909918bf0be0e849959644401797191cae379f · Start: 2026-10-22T17:40:31.456Z · Stop: 2026-10-22T17:42:16.171Z
Name Suite Result Duration normalizes TypeScript keys and locates keyed and unkeyed rules rule keys passed 74.83 ms normalizes Markdown keys and locates keyed and unkeyed rules rule keys passed 17.53 ms normalizes Gherkin keys and locates keyed and unkeyed rules rule keys passed 6.86 ms accepts keys on every Behavior entry rule keys passed 1.99 ms accepts keys on every Rule entry rule keys passed 1.89 ms accepts keys on every Workflow entry rule keys passed 1.82 ms accepts keys on every Contract entry rule keys passed 1.19 ms keeps the TypeScript field order when it keys flows and rules rule keys passed 4.94 ms reports every repeated key in TypeScript rule keys passed 4.11 ms reports every repeated key in Markdown rule keys passed 4.89 ms reports every repeated key in Gherkin rule keys passed 1.07 ms reports duplicate keys across rules and flows at both sites rule keys passed 1.22 ms refuses malformed marker [#Bad] Text. in all carriers rule keys passed 6.13 ms refuses malformed marker [#bad-key] Text. in all carriers rule keys passed 4.41 ms refuses malformed marker [#] Text. in all carriers rule keys passed 4.5 ms refuses malformed marker [#key]Text. in all carriers rule keys passed 3.64 ms refuses malformed marker [#key] Text. in all carriers rule keys passed 5.2 ms refuses malformed marker [#key] in all carriers rule keys passed 4.24 ms omits ruleKeys when no rule is keyed and keeps Design Review rule text unchanged rule keys passed 4.27 ms carries an optional runtime reason relation attributes passed 0.43 ms carries an optional runtime reason relation attributes passed 0.33 ms carries an optional runtime reason relation attributes passed 0.2 ms carries an optional runtime reason relation attributes passed 0.17 ms carries an optional runtime reason relation attributes passed 0.27 ms carries an optional runtime reason relation attributes passed 0.21 ms carries exercises only from a declared verifies relation relation attributes passed 4.67 ms reads a target-only refines object as the plain id relation attributes passed 9.3 ms reads a target-only dependsOn object as the plain id relation attributes passed 8.73 ms reads a target-only constrainedBy object as the plain id relation attributes passed 5.38 ms reads a target-only decidedBy object as the plain id relation attributes passed 5.8 ms reads a target-only verifies object as the plain id relation attributes passed 15.44 ms reads a target-only supersedes object as the plain id relation attributes passed 5.68 ms accepts mixed Markdown target forms and TypeScript second arguments relation attributes passed 3.05 ms refuses invalid relation options {reason: ""} relation attributes passed 1.72 ms refuses invalid relation options {reason: "one\ntwo"} relation attributes passed 2.13 ms refuses invalid relation options {strength: "hard"} relation attributes passed 1.63 ms refuses invalid relation options {exercises: ["first"]} relation attributes passed 1.73 ms refuses invalid Markdown relation options {reason: ""} relation attributes passed 1.6 ms refuses invalid Markdown relation options {reason: "one\ntwo"} relation attributes passed 0.54 ms refuses invalid Markdown relation options {aspect: "shape"} relation attributes passed 0.48 ms refuses invalid Markdown relation options {exercises: [first]} relation attributes passed 0.47 ms refuses invalid Markdown relation options {target: spec:probe.parent, reason: "x"} relation attributes passed 0.93 ms refuses malformed exercises [] relation attributes passed 1.62 ms refuses malformed exercises ["first", "first"] relation attributes passed 1.5 ms refuses malformed exercises ["Bad"] relation attributes passed 1.39 ms refuses malformed exercises "first" relation attributes passed 1.29 ms refuses a duplicate target across plain and object forms relation attributes passed 5.06 ms refuses a duplicate target shared by plain and target-only forms relation attributes passed 3.15 ms maps Gherkin exercises to the default or explicit verified target relation attributes passed 1.6 ms refuses invalid Gherkin exercises @exercises.Bad relation attributes passed 0.64 ms refuses invalid Gherkin exercises @exercises.first @exercises.first relation attributes passed 0.4 ms refuses invalid Gherkin exercises @exercises.first @verifies.spec:probe.parent @verifies.spec:probe.other relation attributes passed 0.39 ms refuses Gherkin exercises on a Feature or example space relation attributes passed 1.91 ms refuses Gherkin exercises on an otherwise lawful example-space scenario grammar boundary checks passed 0.6 ms refuses a malformed or near-miss exercises tag @exercises grammar boundary checks passed 0.49 ms refuses a malformed or near-miss exercises tag @exercise.first grammar boundary checks passed 0.39 ms keeps the carrier finding caps after common normalization grammar boundary checks passed 4.38 ms keeps collection order for rule keys when only some entries carry a line grammar boundary checks passed 0.21 ms keeps relation finding lines after serialization reorders edges grammar boundary checks passed 1.92 ms refuses exercises on an anchored verifies edge grammar boundary checks passed 0.84 ms refuses an unknown relation property even when its name is inherited grammar boundary checks passed 0.57 ms carries the fields through Markdown, serialization and the reader with exact lines question fields passed 2.84 ms records TypeScript fields at their properties and leaves absent fields absent question fields passed 3.01 ms refuses invalid Markdown field - decider: Owner at its line question fields passed 0.63 ms refuses invalid Markdown field - decider: at its line question fields passed 0.53 ms refuses invalid Markdown field - decider: owner - decider: delegated at its line question fields passed 0.59 ms refuses invalid Markdown field - links: at its line question fields passed 0.51 ms refuses invalid Markdown field - links: spec:probe.parent, spec:probe.parent at its line question fields passed 0.45 ms refuses invalid Markdown field - provisional: at its line question fields passed 0.46 ms refuses invalid Markdown field - trigger: at its line question fields passed 0.42 ms refuses invalid Markdown field - status: waiting at its line question fields passed 0.41 ms refuses invalid Markdown field - decider: owner at its line question fields passed 0.49 ms refuses invalid Markdown field - decider: owner continuation at its line question fields passed 0.45 ms refuses a trigger on a non-blocking question and a field outside a question question fields passed 4.8 ms refuses invalid TypeScript field decider: "Owner" question fields passed 1.98 ms refuses invalid TypeScript field links: [] question fields passed 1.79 ms refuses invalid TypeScript field links: ["spec:probe.parent", "spec:probe.parent"] question fields passed 5.77 ms refuses invalid TypeScript field provisional: "one\ntwo" question fields passed 4.65 ms refuses invalid TypeScript field trigger: "A caller." question fields passed 1.76 ms refuses invalid TypeScript field status: "waiting" question fields passed 1.64 ms refuses invalid TypeScript field decider: "owner", decider: "delegated" question fields passed 1.37 ms refuses invalid TypeScript field decider: selectOwner() question fields passed 1.61 ms refuses invalid TypeScript field links: [ref("spec:probe.parent")] question fields passed 1.56 ms refuses invalid TypeScript field links: ["spec:probe.parent", ...others] question fields passed 1.57 ms checks every link as a complete token and groups unbacked pairs with prose question fields passed 2.14 ms keeps readiness dependent on the blocking flag alone question fields passed 4.18 ms preserves rule and flow keys, all question fields, reasons and exercises TypeScript import passed 8.9 ms - 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:6587External run evidence from
test/recipes.test.tsTest anchors:
test:protocol.address-and-cycle-recipes,test:protocol.answer-shape-recipes,test:protocol.authoring-grammar-recipes,test:protocol.authoring-recipes,test:protocol.capability-epics,test:protocol.capability-map,test:protocol.design-recipes,test:protocol.recipe-parameters,test:protocol.register-recipes. Specs verified by those bindings: spec:consumers.agent-surface.address-and-cycle-recipes, spec:consumers.agent-surface.answer-shapes, spec:consumers.agent-surface.authoring-recipes, spec:consumers.agent-surface.design-recipes, spec:consumers.agent-surface.recipe-parameters, spec:consumers.agent-surface.register-recipes, spec:consumers.capability-map, spec:extraction.contract-declarations, spec:model.open-question-fields, spec:model.relation-reasons, spec:model.rule-keys, spec:protocol.capability-epics.Run 1: external run evidence from vitest 4.1.10
Build: CI 380 · Branch: feature/roadmap-and-slices-v0 · Commit: 34909918bf0be0e849959644401797191cae379f · Start: 2026-10-22T17:40:31.456Z · Stop: 2026-10-22T17:42:16.171Z
Name Suite Result Duration cites each recipe that a Spec names by number and heading under the catalog's number the agent-surface recipe corpus passed 213.54 ms pairs every documented recipe with exactly one fenced body the agent-surface recipe corpus passed 0.81 ms keeps self-hosting and adopter invocation forms distinct the agent-surface recipe corpus passed 4.35 ms teaches parameters as data and keeps the on-ramps naming the CLI verbs and recipes the agent-surface recipe corpus passed 3.84 ms keeps every body plain JavaScript with a return the agent-surface recipe corpus passed 5.18 ms runs every body through the front door without throwing the agent-surface recipe corpus passed 4864.59 ms returns the non-example build backlog and audits excluded example evidence the agent-surface recipe corpus passed 74.13 ms returns a drift alarm of code-bound specs below ready, with the floor named the agent-surface recipe corpus passed 63.42 ms returns one spec's guarantees with its relations and verifier bindings the agent-surface recipe corpus passed 26.84 ms keeps hostile changed filenames as inert JSON data the agent-surface recipe corpus passed 40.2 ms returns the complete diff-to-at-risk bridge the agent-surface recipe corpus passed 52.87 ms names a changed identity-only unit as unlinked, never coverage-unknown or dropped the agent-surface recipe corpus passed 74.55 ms returns a pack's review backbone with its verifier gaps the agent-surface recipe corpus passed 53.36 ms returns concept matches carrying the fields that matched the agent-surface recipe corpus passed 97.83 ms returns readiness divergence as an array, where empty is lawful the agent-surface recipe corpus passed 128.59 ms returns the warn-level signals as data rather than as a gate the agent-surface recipe corpus passed 73.52 ms returns promotion preflight without conferring a readiness edit the agent-surface recipe corpus passed 32.89 ms names the next rung's unmet clause and the dependency that breaks it on a probe the agent-surface recipe corpus passed 3.63 ms keeps declared examples distinct from enabled verifier bindings the agent-surface recipe corpus passed 243.11 ms returns the complete non-ready ladder grouped by family the agent-surface recipe corpus passed 85.21 ms distinguishes a passing current floor from a blocked or clear stated next rung the agent-surface recipe corpus passed 1.73 ms returns every committed structural component with non-empty membership the agent-surface recipe corpus passed 57.07 ms returns exact component uses fan-in and fan-out from the structural oracle the agent-surface recipe corpus passed 36.72 ms returns a component structural neighborhood and an exact absent shape the agent-surface recipe corpus passed 57.12 ms reports census structural coverage from graph and report ground truth the agent-surface recipe corpus passed 32.63 ms reports graph-side upper bounds for every shipped projection root the agent-surface recipe corpus passed 35.68 ms returns the architecture map of every live component with recomputed fan-in and fan-out the agent-surface recipe corpus passed 66.26 ms explains the shared policy and adapter collaborations from graph intent and binding claims the agent-surface recipe corpus passed 71.08 ms retains local uses and their claims without counting a component as its own dependency the agent-surface recipe corpus passed 108.03 ms preserves an unresolved responsibility without inventing its design the agent-surface recipe corpus passed 104.03 ms keeps a dangling component row and surfaces unresolved uses edges the agent-surface recipe corpus passed 94.74 ms preserves an unresolved architecture-map member when memberOf outlives the node the agent-surface recipe corpus passed 126.1 ms returns the decision map ranked by live shaping fan-in the agent-surface recipe corpus passed 66.23 ms returns a planning-slice neighborhood and an exact absent shape the agent-surface recipe corpus passed 109.75 ms returns non-empty bidirectional dependencies for the binding-grain planning slice the agent-surface recipe corpus passed 50.88 ms returns planning-slice implementations, never abstractions the agent-surface recipe corpus passed 48.26 ms preserves an unresolved component row when memberOf outlives the node the agent-surface recipe corpus passed 115.85 ms reports derived design columns beside the existing backlog fields the agent-surface recipe corpus passed 0.91 ms groups backlog rows under lawful Object.prototype path segments the agent-surface recipe corpus passed 65.08 ms groups lower-ladder rows under lawful Object.prototype path segments the agent-surface recipe corpus passed 50.37 ms groups decided subjects under lawful Object.prototype path segments the agent-surface recipe corpus passed 44.22 ms lists key families across the corpus in key, Spec and section order with the documented sample register recipe semantics passed 91.93 ms lists Design and UI key families without a row cap, preserving values, lines and overlapping prefixes register recipe semantics passed 9.14 ms diagnoses an unresolved Pack member without returning a partial register register recipe semantics passed 2.01 ms diagnoses malformed key-family parameters without a register: {"prefixes":[]} register recipe semantics passed 40.51 ms diagnoses malformed key-family parameters without a register: {"prefixes":[""]} register recipe semantics passed 39.18 ms diagnoses malformed key-family parameters without a register: {"prefixes":["a","a"]} register recipe semantics passed 57.21 ms diagnoses malformed key-family parameters without a register: {"prefixes":"limit"} register recipe semantics passed 44.46 ms diagnoses malformed key-family parameters without a register: {"pack":"pack:absent"} register recipe semantics passed 37.73 ms diagnoses malformed key-family parameters without a register: {"specs":["spec:absent"]} register recipe semantics passed 54.73 ms diagnoses malformed key-family parameters without a register: {"specs":"bad"} register recipe semantics passed 45.75 ms diagnoses malformed key-family parameters without a register: {"pack":"pack:self-hosting-v1","specs":[]} register recipe semantics passed 69.9 ms runs recipe 20 as written in default output register recipe semantics passed 102.17 ms runs recipe 21 as written in default output register recipe semantics passed 55.05 ms runs recipe 22 as written in default output register recipe semantics passed 91.83 ms runs recipe 23 as written in default output register recipe semantics passed 111.17 ms runs recipe 24 as written in default output register recipe semantics passed 78.19 ms runs recipe 25 as written in default output register recipe semantics passed 39.83 ms runs recipe 26 as written in default output register recipe semantics passed 35.69 ms runs recipe 27 as written in default output register recipe semantics passed 40.73 ms runs recipe 28 as written in default output register recipe semantics passed 28.53 ms runs recipe 29 as written in default output register recipe semantics passed 28.55 ms runs recipe 30 as written in default output register recipe semantics passed 113.58 ms runs recipe 31 as written in default output register recipe semantics passed 39.91 ms runs recipe 32 as written in default output register recipe semantics passed 27.27 ms renders long JSON values with the same default text bound as strings register recipe semantics passed 7.28 ms registers an omitted blocking flag through a TypeScript carrier register recipe semantics passed 3.03 ms searches coined keys of every value shape through a TypeScript carrier register recipe semantics passed 2.71 ms searches strings inside a matching coined list or object key register recipe semantics passed 2.2 ms searches a null coined-key value in the reader graph register recipe semantics passed 1.75 ms keeps register counts under totals and top-level plural nouns as arrays register recipe semantics passed 821.5 ms pins whole-token matching for 'retry' in 'entry' / 'retry' register recipe semantics passed 1.24 ms pins whole-token matching for 'retry' in 'entry' / 'retryable' register recipe semantics passed 0.4 ms pins whole-token matching for 'retry' in 'entry' / 'retry-worker' register recipe semantics passed 0.35 ms pins whole-token matching for 'retry' in 'retryWorker' / 'unrelated' register recipe semantics passed 0.32 ms pins whole-token matching for 'Retry' in 'entry' / 'RETRY.' register recipe semantics passed 0.32 ms pins whole-token matching for 'retry worker' in 'retryWorker' / 'retry-worker' register recipe semantics passed 0.33 ms pins whole-token matching for 'retry worker' in 'entry' / 'worker retry' register recipe semantics passed 0.36 ms pins whole-token matching for 'retry worker' in 'entry' / 'retry the worker' register recipe semantics passed 0.29 ms pins whole-token matching for 'server' in 'entry' / 'HTTPServer' register recipe semantics passed 0.43 ms pins whole-token matching for 'v' in 'entry' / 'v2' register recipe semantics passed 0.33 ms registers every authored question, blocking Specs first register recipe semantics passed 81.67 ms reports one-hop footing of all four types, including unresolved targets register recipe semantics passed 116.61 ms audits mention pairs, skips fences, and preserves full ids and direction register recipe semantics passed 1.37 ms resolves entry mentions and retains every token and pair location through a probe root register recipe semantics passed 8.35 ms reads the whole mention token through an underscore as malformed, never the existing prefix register recipe semantics passed 0.8 ms reads the whole mention token through a slash as malformed, never the existing prefix register recipe semantics passed 0.5 ms reads the whole mention token through a comma as malformed, never the existing prefix register recipe semantics passed 9.19 ms reads the whole mention token through an underscore and a letter as malformed, never the existing prefix register recipe semantics passed 0.75 ms reads the whole mention token through a slash and a letter as malformed, never the existing prefix register recipe semantics passed 0.49 ms reads the whole mention token through a comma and a letter as malformed, never the existing prefix register recipe semantics passed 0.48 ms reads the whole mention token through a letter outside ASCII as malformed, never the existing prefix register recipe semantics passed 0.48 ms reads the whole mention token through an escaped underscore as malformed, never the existing prefix register recipe semantics passed 3.54 ms reads the whole mention token through a combining mark as malformed, never the existing prefix register recipe semantics passed 0.6 ms reads the whole mention token through a combining mark after an entry key as malformed, never the existing prefix register recipe semantics passed 0.54 ms reads the whole mention token through a zero-width space as malformed, never the existing prefix register recipe semantics passed 0.45 ms reads the whole mention token through fullwidth connector punctuation as malformed, never the existing prefix register recipe semantics passed 0.45 ms reads the whole mention token through a NUL as malformed, never the existing prefix register recipe semantics passed 0.42 ms reads the whole mention token through an escape character as malformed, never the existing prefix register recipe semantics passed 3.48 ms reads the whole mention token through a delete character as malformed, never the existing prefix register recipe semantics passed 0.57 ms reads the whole mention token through a C1 control character as malformed, never the existing prefix register recipe semantics passed 0.47 ms reads the whole mention token through a hyphenated entry key as malformed, never the existing prefix register recipe semantics passed 0.44 ms reads the whole mention token through an entry suffix with no key as malformed, never the existing prefix register recipe semantics passed 0.47 ms reads the whole mention token through an entry suffix outside design and ui as malformed, never the existing prefix register recipe semantics passed 0.44 ms reads the clean id through Markdown punctuation: a sentence dot register recipe semantics passed 3.84 ms reads the clean id through Markdown punctuation: a comma register recipe semantics passed 0.64 ms reads the clean id through Markdown punctuation: a colon register recipe semantics passed 0.49 ms reads the clean id through Markdown punctuation: a closing parenthesis register recipe semantics passed 0.51 ms reads the clean id through Markdown punctuation: bold register recipe semantics passed 0.49 ms reads the clean id through Markdown punctuation: emphasis register recipe semantics passed 0.46 ms reads the clean id through Markdown punctuation: strikethrough register recipe semantics passed 0.43 ms reads the clean id through Markdown punctuation: backticks register recipe semantics passed 0.41 ms reads the clean id through Markdown punctuation: ASCII double quotes register recipe semantics passed 0.45 ms reads the clean id through Markdown punctuation: ASCII single quotes register recipe semantics passed 0.41 ms reads the clean id through Markdown punctuation: typographic double quotes register recipe semantics passed 0.83 ms reads the clean id through Markdown punctuation: typographic single quotes register recipe semantics passed 0.44 ms reads the clean id through Markdown punctuation: an em dash register recipe semantics passed 0.38 ms reads the clean id through Markdown punctuation: an en dash register recipe semantics passed 0.36 ms reads the clean id through Markdown punctuation: an ellipsis register recipe semantics passed 0.41 ms reads the clean id through Markdown punctuation: an escaped star register recipe semantics passed 0.45 ms reads the clean id through Markdown punctuation: an escaped exclamation mark register recipe semantics passed 0.47 ms reads the clean id through Markdown punctuation: U+0085 register recipe semantics passed 0.42 ms reads the clean id through Markdown punctuation: a no-break space register recipe semantics passed 0.44 ms reads the clean id through Markdown punctuation: a tab register recipe semantics passed 0.45 ms reads the clean id through Markdown punctuation: an arrow register recipe semantics passed 0.48 ms reads a placeholder or a bare prefix as prose, not a mention register recipe semantics passed 0.45 ms scans nested arrays in examples while skipping object fences by position register recipe semantics passed 3.07 ms addresses only lawful Design and UI entry keys in search results register recipe semantics passed 1.09 ms scopes mentions by the mentioning Spec only register recipe semantics passed 3.21 ms reports malformed open questions without counting them: "one question" register recipe semantics passed 2.52 ms reports malformed open questions without counting them: {} register recipe semantics passed 0.29 ms reports malformed open questions without counting them: 42 register recipe semantics passed 0.26 ms reports malformed open questions without counting them: {"blocking":true} register recipe semantics passed 0.26 ms reports malformed open questions without counting them: null register recipe semantics passed 0.21 ms reports malformed open questions without counting them: "" register recipe semantics passed 0.23 ms reports malformed open questions without counting them: {"question":"valid","blocking":"yes"} register recipe semantics passed 0.22 ms reports malformed open questions without counting them: {"question":"valid","blocking":null} register recipe semantics passed 0.28 ms reports malformed open questions without counting them: {"question":"valid"} register recipe semantics passed 0.34 ms reports an off-grammar question key as malformed: {"question":"valid","key":"AggregateReach"} register recipe semantics passed 0.5 ms reports an off-grammar question key as malformed: {"question":"valid","key":"aggregate-reach"} register recipe semantics passed 0.3 ms reports an off-grammar question key as malformed: {"question":"valid","key":""} register recipe semantics passed 0.29 ms reports an off-grammar question key as malformed: {"question":"valid","key":7} register recipe semantics passed 0.26 ms reports an off-grammar question key as malformed: {"question":"valid","key":null} register recipe semantics passed 0.29 ms reports an off-grammar question key as malformed: {"question":"valid","blocking":true} register recipe semantics passed 0.29 ms searches whole tokens, coined keys, narrative and fence steps register recipe semantics passed 9.63 ms lists every pinned declaration this corpus holds register recipe semantics passed 212.89 ms reads spans of any run length and skips every entry that pins nothing register recipe semantics passed 7.15 ms resolves the catalog's addresses on this corpus as written address resolution and dependency cycles passed 75.33 ms reports this corpus's dependency cycles as an independent reachability check finds them address resolution and dependency cycles passed 82.92 ms reports the probe's one set and one self-dependent Spec, and nothing for a Spec that only reaches a set address resolution and dependency cycles passed 6.38 ms reports a self-loop inside a larger set only with that set address resolution and dependency cycles passed 3.61 ms walks targets in code-unit order, so of two tied shortest cycles the first target's is reported address resolution and dependency cycles passed 2.43 ms walks a chain of 10,000 Specs and one cycle of 5,000 without recursing address resolution and dependency cycles passed 211.99 ms resolves an inherited property name only where the Spec authors it as a key address resolution and dependency cycles passed 4.43 ms resolves the design's probe addresses with one row and one reason each address resolution and dependency cycles passed 3.17 ms resolves a keyed question, refuses description in Design and UI, and keeps repeats address resolution and dependency cycles passed 9.75 ms registers a keyed question with its key and an unkeyed one with a null key address resolution and dependency cycles passed 3.09 ms audits a question address against the target's open question keys address resolution and dependency cycles passed 2.01 ms addresses a keyed question's text and matches its key, never the key as a row address resolution and dependency cycles passed 6.51 ms returns one row per Studio member with four independent facts design references and the architecture taxonomy passed 151.01 ms lists a referencing unit beside the realizing units without conferring implemented design references and the architecture taxonomy passed 177.28 ms lists the reader beside each Studio member that depends on it, with its realizing units design references and the architecture taxonomy passed 58.06 ms derives builds-on from the member's relations without conferring a fact on it design references and the architecture taxonomy passed 184.39 ms returns the role, layer, and context taxonomy from the code units alone design references and the architecture taxonomy passed 41.05 ms counts references as edges apart from the units that carry them design references and the architecture taxonomy passed 86.84 ms creates each taxonomy bucket once, however many units share the value design references and the architecture taxonomy passed 76.57 ms declares and checks only its indexed parameter names first: 1 recipe parameters and the shipped recipe files passed 0.79 ms declares and checks only its indexed parameter names first: 2 recipe parameters and the shipped recipe files passed 0.48 ms declares and checks only its indexed parameter names first: 3 recipe parameters and the shipped recipe files passed 0.45 ms declares and checks only its indexed parameter names first: 4 recipe parameters and the shipped recipe files passed 0.46 ms declares and checks only its indexed parameter names first: 5 recipe parameters and the shipped recipe files passed 0.42 ms declares and checks only its indexed parameter names first: 6 recipe parameters and the shipped recipe files passed 0.4 ms declares and checks only its indexed parameter names first: 7 recipe parameters and the shipped recipe files passed 0.42 ms declares and checks only its indexed parameter names first: 8 recipe parameters and the shipped recipe files passed 0.41 ms declares and checks only its indexed parameter names first: 9 recipe parameters and the shipped recipe files passed 0.48 ms declares and checks only its indexed parameter names first: 10 recipe parameters and the shipped recipe files passed 0.37 ms declares and checks only its indexed parameter names first: 11 recipe parameters and the shipped recipe files passed 0.34 ms declares and checks only its indexed parameter names first: 12 recipe parameters and the shipped recipe files passed 0.44 ms declares and checks only its indexed parameter names first: 13 recipe parameters and the shipped recipe files passed 0.39 ms declares and checks only its indexed parameter names first: 14 recipe parameters and the shipped recipe files passed 0.42 ms declares and checks only its indexed parameter names first: 15 recipe parameters and the shipped recipe files passed 0.37 ms declares and checks only its indexed parameter names first: 16 recipe parameters and the shipped recipe files passed 0.37 ms declares and checks only its indexed parameter names first: 17 recipe parameters and the shipped recipe files passed 0.39 ms declares and checks only its indexed parameter names first: 18 recipe parameters and the shipped recipe files passed 0.34 ms declares and checks only its indexed parameter names first: 19 recipe parameters and the shipped recipe files passed 0.38 ms declares and checks only its indexed parameter names first: 20 recipe parameters and the shipped recipe files passed 0.35 ms declares and checks only its indexed parameter names first: 21 recipe parameters and the shipped recipe files passed 0.34 ms declares and checks only its indexed parameter names first: 22 recipe parameters and the shipped recipe files passed 0.39 ms declares and checks only its indexed parameter names first: 23 recipe parameters and the shipped recipe files passed 0.39 ms declares and checks only its indexed parameter names first: 24 recipe parameters and the shipped recipe files passed 0.39 ms declares and checks only its indexed parameter names first: 25 recipe parameters and the shipped recipe files passed 0.42 ms declares and checks only its indexed parameter names first: 26 recipe parameters and the shipped recipe files passed 0.4 ms declares and checks only its indexed parameter names first: 27 recipe parameters and the shipped recipe files passed 0.44 ms declares and checks only its indexed parameter names first: 28 recipe parameters and the shipped recipe files passed 0.4 ms declares and checks only its indexed parameter names first: 29 recipe parameters and the shipped recipe files passed 0.43 ms declares and checks only its indexed parameter names first: 30 recipe parameters and the shipped recipe files passed 0.4 ms declares and checks only its indexed parameter names first: 31 recipe parameters and the shipped recipe files passed 0.38 ms declares and checks only its indexed parameter names first: 32 recipe parameters and the shipped recipe files passed 0.39 ms declares and checks only its indexed parameter names first: 33 recipe parameters and the shipped recipe files passed 0.39 ms declares and checks only its indexed parameter names first: 34 recipe parameters and the shipped recipe files passed 0.42 ms declares and checks only its indexed parameter names first: 35 recipe parameters and the shipped recipe files passed 0.41 ms declares and checks only its indexed parameter names first: 36 recipe parameters and the shipped recipe files passed 0.41 ms declares and checks only its indexed parameter names first: 37 recipe parameters and the shipped recipe files passed 0.41 ms declares and checks only its indexed parameter names first: 38 recipe parameters and the shipped recipe files passed 0.42 ms declares and checks only its indexed parameter names first: 39 recipe parameters and the shipped recipe files passed 0.42 ms declares and checks only its indexed parameter names first: 40 recipe parameters and the shipped recipe files passed 0.42 ms declares and checks only its indexed parameter names first: 41 recipe parameters and the shipped recipe files passed 0.44 ms declares and checks only its indexed parameter names first: 42 recipe parameters and the shipped recipe files passed 0.54 ms declares and checks only its indexed parameter names first: 43 recipe parameters and the shipped recipe files passed 0.37 ms declares and checks only its indexed parameter names first: 44 recipe parameters and the shipped recipe files passed 0.44 ms declares and checks only its indexed parameter names first: 45 recipe parameters and the shipped recipe files passed 0.42 ms declares and checks only its indexed parameter names first: 46 recipe parameters and the shipped recipe files passed 0.44 ms declares and checks only its indexed parameter names first: 47 recipe parameters and the shipped recipe files passed 0.38 ms declares and checks only its indexed parameter names first: 48 recipe parameters and the shipped recipe files passed 0.41 ms declares and checks only its indexed parameter names first: 49 recipe parameters and the shipped recipe files passed 0.39 ms declares and checks only its indexed parameter names first: 50 recipe parameters and the shipped recipe files passed 0.39 ms declares and checks only its indexed parameter names first: 51 recipe parameters and the shipped recipe files passed 0.41 ms declares and checks only its indexed parameter names first: 52 recipe parameters and the shipped recipe files passed 0.4 ms declares and checks only its indexed parameter names first: 53 recipe parameters and the shipped recipe files passed 0.41 ms declares and checks only its indexed parameter names first: 54 recipe parameters and the shipped recipe files passed 0.47 ms declares and checks only its indexed parameter names first: 55 recipe parameters and the shipped recipe files passed 0.42 ms returns only the unknown-name answer before reading recipe inputs: 1 recipe parameters and the shipped recipe files passed 51.01 ms returns only the unknown-name answer before reading recipe inputs: 2 recipe parameters and the shipped recipe files passed 52.58 ms returns only the unknown-name answer before reading recipe inputs: 3 recipe parameters and the shipped recipe files passed 100.63 ms returns only the unknown-name answer before reading recipe inputs: 4 recipe parameters and the shipped recipe files passed 91.08 ms returns only the unknown-name answer before reading recipe inputs: 5 recipe parameters and the shipped recipe files passed 47.65 ms returns only the unknown-name answer before reading recipe inputs: 6 recipe parameters and the shipped recipe files passed 43.57 ms returns only the unknown-name answer before reading recipe inputs: 7 recipe parameters and the shipped recipe files passed 58.12 ms returns only the unknown-name answer before reading recipe inputs: 8 recipe parameters and the shipped recipe files passed 51.43 ms returns only the unknown-name answer before reading recipe inputs: 9 recipe parameters and the shipped recipe files passed 39.48 ms returns only the unknown-name answer before reading recipe inputs: 10 recipe parameters and the shipped recipe files passed 39.28 ms returns only the unknown-name answer before reading recipe inputs: 11 recipe parameters and the shipped recipe files passed 38.46 ms returns only the unknown-name answer before reading recipe inputs: 12 recipe parameters and the shipped recipe files passed 35.14 ms returns only the unknown-name answer before reading recipe inputs: 13 recipe parameters and the shipped recipe files passed 30.1 ms returns only the unknown-name answer before reading recipe inputs: 14 recipe parameters and the shipped recipe files passed 24.97 ms returns only the unknown-name answer before reading recipe inputs: 15 recipe parameters and the shipped recipe files passed 49.06 ms returns only the unknown-name answer before reading recipe inputs: 16 recipe parameters and the shipped recipe files passed 34.98 ms returns only the unknown-name answer before reading recipe inputs: 17 recipe parameters and the shipped recipe files passed 40.63 ms returns only the unknown-name answer before reading recipe inputs: 18 recipe parameters and the shipped recipe files passed 47.48 ms returns only the unknown-name answer before reading recipe inputs: 19 recipe parameters and the shipped recipe files passed 32.12 ms returns only the unknown-name answer before reading recipe inputs: 20 recipe parameters and the shipped recipe files passed 29.38 ms returns only the unknown-name answer before reading recipe inputs: 21 recipe parameters and the shipped recipe files passed 35.4 ms returns only the unknown-name answer before reading recipe inputs: 22 recipe parameters and the shipped recipe files passed 35.22 ms returns only the unknown-name answer before reading recipe inputs: 23 recipe parameters and the shipped recipe files passed 30.44 ms returns only the unknown-name answer before reading recipe inputs: 24 recipe parameters and the shipped recipe files passed 44.73 ms returns only the unknown-name answer before reading recipe inputs: 25 recipe parameters and the shipped recipe files passed 35.84 ms returns only the unknown-name answer before reading recipe inputs: 26 recipe parameters and the shipped recipe files passed 35.92 ms returns only the unknown-name answer before reading recipe inputs: 27 recipe parameters and the shipped recipe files passed 37.36 ms returns only the unknown-name answer before reading recipe inputs: 28 recipe parameters and the shipped recipe files passed 34.43 ms returns only the unknown-name answer before reading recipe inputs: 29 recipe parameters and the shipped recipe files passed 37.29 ms returns only the unknown-name answer before reading recipe inputs: 30 recipe parameters and the shipped recipe files passed 34.53 ms returns only the unknown-name answer before reading recipe inputs: 31 recipe parameters and the shipped recipe files passed 37.03 ms returns only the unknown-name answer before reading recipe inputs: 32 recipe parameters and the shipped recipe files passed 36.83 ms returns only the unknown-name answer before reading recipe inputs: 33 recipe parameters and the shipped recipe files passed 32.3 ms returns only the unknown-name answer before reading recipe inputs: 34 recipe parameters and the shipped recipe files passed 35.47 ms returns only the unknown-name answer before reading recipe inputs: 35 recipe parameters and the shipped recipe files passed 29.61 ms returns only the unknown-name answer before reading recipe inputs: 36 recipe parameters and the shipped recipe files passed 24.05 ms returns only the unknown-name answer before reading recipe inputs: 37 recipe parameters and the shipped recipe files passed 26.88 ms returns only the unknown-name answer before reading recipe inputs: 38 recipe parameters and the shipped recipe files passed 27.56 ms returns only the unknown-name answer before reading recipe inputs: 39 recipe parameters and the shipped recipe files passed 36.86 ms returns only the unknown-name answer before reading recipe inputs: 40 recipe parameters and the shipped recipe files passed 35.16 ms returns only the unknown-name answer before reading recipe inputs: 41 recipe parameters and the shipped recipe files passed 37.01 ms returns only the unknown-name answer before reading recipe inputs: 42 recipe parameters and the shipped recipe files passed 35.48 ms returns only the unknown-name answer before reading recipe inputs: 43 recipe parameters and the shipped recipe files passed 37.25 ms returns only the unknown-name answer before reading recipe inputs: 44 recipe parameters and the shipped recipe files passed 33.94 ms returns only the unknown-name answer before reading recipe inputs: 45 recipe parameters and the shipped recipe files passed 36.1 ms returns only the unknown-name answer before reading recipe inputs: 46 recipe parameters and the shipped recipe files passed 35.61 ms returns only the unknown-name answer before reading recipe inputs: 47 recipe parameters and the shipped recipe files passed 36.31 ms returns only the unknown-name answer before reading recipe inputs: 48 recipe parameters and the shipped recipe files passed 37.58 ms returns only the unknown-name answer before reading recipe inputs: 49 recipe parameters and the shipped recipe files passed 35.48 ms returns only the unknown-name answer before reading recipe inputs: 50 recipe parameters and the shipped recipe files passed 53.29 ms returns only the unknown-name answer before reading recipe inputs: 51 recipe parameters and the shipped recipe files passed 27.25 ms returns only the unknown-name answer before reading recipe inputs: 52 recipe parameters and the shipped recipe files passed 36.52 ms returns only the unknown-name answer before reading recipe inputs: 53 recipe parameters and the shipped recipe files passed 38.97 ms returns only the unknown-name answer before reading recipe inputs: 54 recipe parameters and the shipped recipe files passed 36.76 ms returns only the unknown-name answer before reading recipe inputs: 55 recipe parameters and the shipped recipe files passed 36.94 ms diagnoses wrong subject names, mixed known names and ordered unknown names through shipped bodies recipe parameters and the shipped recipe files passed 104.45 ms reads and names each parameter, with a fallback only when the contract supplies one recipe parameters and the shipped recipe files passed 8.38 ms ships every catalog body as dist/recipes/NN-slug.js, byte for byte recipe parameters and the shipped recipe files passed 8.03 ms runs every shipped file, read whole, to the answer its catalog body gives recipe parameters and the shipped recipe files passed 6717.44 ms refuses a catalog whose bodies and headings do not pair, rather than guess a file name recipe parameters and the shipped recipe files passed 1.71 ms reads a CRLF catalog as its LF bodies, and refuses a catalog with no recipe before publishing recipe parameters and the shipped recipe files passed 17.69 ms removes only completed recipe files the catalog no longer owes, never another run's temporary file recipe parameters and the shipped recipe files passed 0.66 ms passes recipe 4 its changed files from a file named with @PATH recipe parameters and the shipped recipe files passed 44.98 ms resolves the addresses recipe 25 receives as data recipe parameters and the shipped recipe files passed 58.78 ms reads the Pack the Pack recipes review from params.pack recipe parameters and the shipped recipe files passed 205.22 ms returns the Pack design of every corpus Pack as the raw graph states it design recipes passed 749.92 ms returns the probe Pack's design exactly, member by member design recipes passed 9.73 ms reaches every Spec resting on the corpus sample, by a shortest path of real edges design recipes passed 342.59 ms walks a dependency chain inbound only, once per Spec, and keeps a reference apart design recipes passed 1.76 ms registers every corpus decision with its supersession, subjects and keyed questions design recipes passed 71.82 ms registers a supersedes pair both ways and a decision that shapes nothing design recipes passed 1.4 ms carries a relation's reason beside the relation in recipes 3, 19, 21 and 31 design recipes passed 1.56 ms registers narrowing decisions both ways and excludes refinement by other kinds design recipes passed 0.55 ms keeps the decoder in reader without adding crossings against the lawful notation alternative design recipes passed 125.17 ms reports the corpus's architecture crossings as the raw edges state them design recipes passed 70.26 ms names a crossing of two contexts and of two layers, and skips what cannot cross design recipes passed 0.79 ms resolves every keyed corpus entry to its value and the line the location table records entry lines in entry search and address resolution passed 179.39 ms gives each corpus entry-search row the line of a located entry and null otherwise entry lines in entry search and address resolution passed 173.89 ms never gives a nested entry the line of a literal top-level key its path spells entry lines in entry search and address resolution passed 3.85 ms counts a verifying Spec of another kind as a verifier, never as an example, in the Pack design entry lines in entry search and address resolution passed 2.27 ms gives a string-form open question the line its question[n] row records, as the object form entry lines in entry search and address resolution passed 2.46 ms counts equal layers and contexts between distinct components even without crossings answers that fit passed 0.36 ms returns guarantee entries and complete unit and verifier locations from context answers that fit passed 4.73 ms reports directions relative to an impacted Pack answers that fit passed 0.74 ms indexes exactly the present recipes with names, parameters and uses answers that fit passed 3.7 ms runs a shipped body wrapped inside a caller's filter answers that fit passed 98.75 ms keeps impact totals and puts both edge directions in the summary answers that fit passed 2.43 ms keeps the reader's Pack value in summary, full and selected-member answers answers that fit passed 11.46 ms reports both next rungs when the stated rung is below the floor answers that fit passed 0.56 ms reports no next rung at ready answers that fit passed 37.39 ms reports gap exemptions and every omitted warning beyond the first 25 answers that fit passed 1.41 ms lists only defined unimplemented designs and keeps exclusions and references answers that fit passed 0.88 ms registers fields and counts deferrals apart from design holds authoring grammar recipes passed 3.39 ms lists intended mentions apart and preserves the validator's warnings authoring grammar recipes passed 8.29 ms matches rule keys beside their text without searching the derived map authoring grammar recipes passed 2.45 ms locates unkeyed rule text and question field text authoring grammar recipes passed 3.44 ms resolves rule addresses and preserves every parsed part of a miss authoring grammar recipes passed 2.85 ms counts rule coverage from bound examples and reports unbound intent beside it authoring grammar recipes passed 4.82 ms reports missing rule-coverage scopes and accepts a scope with no rules authoring grammar recipes passed 2.94 ms runs the catalog body in the evaluator without a module loader entry citations recipe passed 0.74 ms orders a declaration's citing files and lines independently of input order entry citations recipe passed 0.54 ms joins declarations and other cited entries, including uncited declarations entry citations recipe passed 0.69 ms includes absent Specs and malformed tokens only in the corpus unresolved list entry citations recipe passed 1.07 ms returns diagnostics without findings for {"pack":"pack:missing"} entry citations recipe passed 0.69 ms returns diagnostics without findings for {"specs":["spec:missing"]} entry citations recipe passed 0.42 ms returns diagnostics without findings for {"specs":"spec:probe.cited"} entry citations recipe passed 0.32 ms returns diagnostics without findings for {"pack":"pack:probe.citations","specs":[]} entry citations recipe passed 0.36 ms returns diagnostics without findings for {"severity":"fatal"} entry citations recipe passed 0.34 ms returns diagnostics without findings for {"severity":null} entry citations recipe passed 0.75 ms reads an absent table as empty, and accepts an empty Spec scope entry citations recipe passed 0.64 ms adds recorded component fields, references, member roles and exact crossing-use counts Studio architecture and example-space recipe additions passed 97.49 ms runs shipped recipe 44 over every decoded space and refuses bad scopes Studio architecture and example-space recipe additions passed 407.84 ms runs recipe 45 as shipped and reports missing and malformed CTRF metadata not recorded passed 535.5 ms recipe 49 renders the panel memo from its catalog body and refuses a malformed document not recorded passed 69.85 ms reports text-preserving rule and flow key changes apart from rewording not recorded passed 6.76 ms preserves a removed keyed rule address beside new unkeyed text not recorded passed 1.93 ms preserves a removed keyed flow address beside new unkeyed text not recorded passed 1.67 ms distinguishes removed unkeyed rule base positions from head positions not recorded passed 2.38 ms distinguishes removed unkeyed flow base positions from head positions not recorded passed 1.8 ms retains every diamond edge and intermediate node while counting each descendant once the capability map recipe passed 0.87 ms returns summary/full parity with explicit omissions for scope {} the capability map recipe passed 1.4 ms returns summary/full parity with explicit omissions for scope {"epic":"spec:probe.epic"} the capability map recipe passed 1 ms normalizes prose and unflagged questions while preserving authored indices the capability map recipe passed 0.35 ms retains null titles in serialized node and epic rows when a title degrades the capability map recipe passed 0.6 ms reports a self-refining epic as a cycle without making it its own parent epic the capability map recipe passed 0.3 ms uses the outside unreached parent as root rather than its child cycle group the capability map recipe passed 0.42 ms selects an epic of kind behavior without changing its kind the capability map recipe passed 0.4 ms selects an epic of kind workflow without changing its kind the capability map recipe passed 0.24 ms selects an epic of kind example without changing its kind the capability map recipe passed 0.22 ms selects an epic of kind rule without changing its kind the capability map recipe passed 0.2 ms selects an epic of kind constraint without changing its kind the capability map recipe passed 0.18 ms selects an epic of kind model without changing its kind the capability map recipe passed 0.18 ms selects an epic of kind decision without changing its kind the capability map recipe passed 0.19 ms selects an epic of kind contract without changing its kind the capability map recipe passed 0.2 ms reads node evidence and ordered questions directly, including examples and decisions as parents the capability map recipe passed 0.66 ms represents a missing floor as none and keeps the epic's evidence outside its rollup the capability map recipe passed 0.42 ms counts stated rungs separately from reached floors without lending a bound example's facts to its epic the capability map recipe passed 0.89 ms keeps nested and overlapping memberships and outside parents when selecting one epic the capability map recipe passed 1.07 ms traverses only declared refinement and never infers ancestry from other graph structure the capability map recipe passed 0.56 ms reports cycles, self-links and unresolved or non-Spec endpoints separately from parameter failures the capability map recipe passed 0.65 ms limits damage to edges touching a selected epic scope and terminates reached cycles the capability map recipe passed 0.44 ms keeps overlapping unreached root scopes unique and exposes an empty corpus the capability map recipe passed 0.52 ms refuses invalid parameters without a map: { epic: null } the capability map recipe passed 0.24 ms refuses invalid parameters without a map: { epic: 1 } the capability map recipe passed 0.14 ms refuses invalid parameters without a map: { epic: [] } the capability map recipe passed 0.1 ms refuses invalid parameters without a map: { epic: 'spec:probe.absent' } the capability map recipe passed 0.09 ms refuses invalid parameters without a map: { epic: 'spec:probe.plain' } the capability map recipe passed 0.09 ms refuses invalid parameters without a map: { epic: 'impl:probe.non-spec' } the capability map recipe passed 0.11 ms refuses invalid parameters without a map: { detail: 'true' } the capability map recipe passed 0.09 ms refuses invalid parameters without a map: { detail: 1 } the capability map recipe passed 0.09 ms refuses invalid parameters without a map: { detail: null } the capability map recipe passed 0.09 ms refuses invalid parameters without a map: { epic: 1, detail: 'x' } the capability map recipe passed 0.16 ms checks unknown names before known values the capability map recipe passed 0.15 ms answers deterministically in code-unit id order even when graph arrays are reversed the capability map recipe passed 1.41 ms reaches every Spec from the intended epic owners while preserving kinds and overlapping refinement the Protocol's capability epics passed 196.63 ms keeps refinement and dependency from spec:extraction.build-pipeline to spec:extraction.derive-graph the Protocol's capability epics passed 3.01 ms keeps refinement and dependency from spec:validation.corpus-rules to spec:consumers.agent-surface the Protocol's capability epics passed 4.22 ms keeps refinement and dependency from spec:validation.architecture-constraints to spec:validation.corpus-rules the Protocol's capability epics passed 3.84 ms keeps refinement and dependency from spec:validation.external-registers to spec:validation.corpus-rules the Protocol's capability epics passed 1.69 ms keeps every ready statement at the ready floor and leaves the drift alarm empty the Protocol's capability epics passed 63.69 ms runs the catalog body over the arc Pack through the CLI and keeps its summary totals the shipped design slice passed 322.71 ms runs the roadmap and its memo from the catalog over a named Pack not recorded passed 372.97 ms pins the adopter roadmap and its forward memo over the worked example not recorded passed 38.84 ms
Design view
Requirement drawing
- Declared verifying examples: no declared verifying example.
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
- Prose belongs to typed graph owners
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:6597Uses
None.
impl:protocol.authoring-normalization· normalizes rule markers and question fields after carrier reification ·src/extract/authoring-normalization.ts:8Component:
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
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:33impl: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:76impl: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:8impl:protocol.studio-spec-page·src/projections/studio/pages/spec-page.ts:201impl: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
- 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
- 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
Distance 2
- spec:carrier.markdown-parser
Implementing units
impl:protocol.markdown-parser·src/extract/markdown.ts:37impl: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:167impl: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
- 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
- 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:27impl: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
- 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:23impl:protocol.studio-expander·src/studio-elements/expander.ts:16impl:protocol.studio-pack-export·src/projections/studio/pages/export-page.ts:35impl: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
- 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
- spec:consumers.spec-studio.spec-page.cited-declaration
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-cited-declaration
- spec:consumers.spec-studio.verification-panels
Implementing units
impl:protocol.studio-run-rows·src/projections/studio/pages/run-rows.ts:69impl: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
- 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
- spec:consumers.upgrade-kit.capability-adoption.counts-a-corpus
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.capability-adoption.counts-a-corpus
- 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
Distance 3
- spec:carrier.gherkin-authoring
Implementing units
impl:protocol.gherkin-authoring·src/extract/gherkin.ts:1323impl: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:120impl: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:117impl:protocol.markdown-yaml-policy·src/extract/markdown-yaml-policy.ts:33impl: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
- 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
- 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
- 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:6597impl:protocol.reader·src/reader/reader.ts:687
Enabled verifiers: test:protocol.answer-shape-recipes
- spec:consumers.agent-surface.example-space-coverage
Implementing units
impl:protocol.example-space-coverage-recipe·test/studio-s1.test.ts:856impl: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:167impl:protocol.agent-surface-cli·src/cli/sdp.ts:94impl:protocol.build-args·src/cli/build-args.ts:11impl: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
- 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
- spec:consumers.engine-provenance
Implementing units
impl:protocol.build-artifacts·src/cli/build-artifacts.ts:182impl:protocol.engine-provenance-cli·src/cli/sdp.ts:102
Referencing units
None.
Enabled verifiers: test:protocol.engine-provenance
- spec:consumers.gherkin-view
Implementing units
impl:protocol.gherkin-kind-policy·src/extract/gherkin-kind-honesty.ts:6impl:protocol.gherkin-view·src/projections/gherkin-view.ts:19impl: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:1510impl: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:98impl:protocol.vault-text·src/projections/vault/text.ts:30impl: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
- 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
- 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
- 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
- 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
- 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
- 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
- spec:consumers.spec-studio.verification-panels.rule-coverage
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-rule-coverage
- 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
- 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
- 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
- spec:validation.corpus-rules
Implementing units
impl:protocol.corpus-rule-runner·src/cli/corpus-rules.ts:65impl:protocol.corpus-rules·src/cli/validate-view-command.ts:79impl: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:93impl: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
- spec:validation.external-registers.unknown-and-retired
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.external-registers.unknown-and-retired
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:45impl:protocol.import-fidelity·src/import/markdown-fidelity.ts:102impl:protocol.sdp-import·src/cli/import-command.ts:71impl:protocol.sdp-import-core·src/import/import.ts:58impl:protocol.sdp-import-markdown-emit·src/import/emit-markdown.ts:253impl:protocol.sdp-import-publish·src/cli/import-publish.ts:23impl: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:261impl: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
- spec:consumers.agent-surface.example-space-coverage.uncovered-literal
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-coverage-literal
- spec:consumers.command-line.generate-check-failure
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.command-line.generate-check-failure
- spec:consumers.command-line.generate-writes-every-root
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.command-line.generate-writes-every-root
- spec:consumers.command-line.verb-help-touches-nothing
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.command-line.verb-help-touches-nothing
- spec:consumers.context-bundle.oversized-member-named
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.context-bundle.oversized-member-named
- spec:consumers.context-bundle.parts-cover-the-pack
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.context-bundle.parts-cover-the-pack
- spec:consumers.design-slice.chain
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.chain
- spec:consumers.design-slice.component-absent
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.component-absent
- spec:consumers.design-slice.component-differing
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.component-differing
- spec:consumers.design-slice.component-matching
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.component-matching
- spec:consumers.design-slice.component-unreadable
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.component-unreadable
- spec:consumers.design-slice.component-unrelated
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.component-unrelated
- spec:consumers.design-slice.decision-backlink
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.decision-backlink
- spec:consumers.design-slice.dependency-cycle
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.dependency-cycle
- spec:consumers.design-slice.folded-example
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.folded-example
- spec:consumers.design-slice.independent-example
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.independent-example
- spec:consumers.design-slice.outside-components
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.outside-components
- spec:consumers.design-slice.outside-holding
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.outside-holding
- spec:consumers.design-slice.outside-satisfied
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.outside-satisfied
- spec:consumers.design-slice.outside-unbound
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.design-slice.outside-unbound
- spec:consumers.intent-composition.proposal.memo
Implementing units
impl:protocol.proposal-memo-recipe·test/recipes.test.ts:7298impl:protocol.studio-proposal-memo·src/studio-elements/memo.ts:13
Referencing units
None.
Enabled verifiers: spec:consumers.intent-composition.proposal.memo.shared
- 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
- 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
- spec:consumers.projections-model.roadmap-views
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
- spec:consumers.readiness-planner.cycle-shares-a-round
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.readiness-planner.cycle-shares-a-round
- spec:consumers.readiness-planner.decision-first
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.readiness-planner.decision-first
- spec:consumers.readiness-planner.dependency-order
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.readiness-planner.dependency-order
- spec:consumers.readiness-planner.owner-question-holds
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.readiness-planner.owner-question-holds
- spec:consumers.roadmap.blocking-part
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.roadmap.blocking-part
- spec:consumers.roadmap.buildable-part
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.roadmap.buildable-part
- spec:consumers.roadmap.built-work
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.roadmap.built-work
- spec:consumers.roadmap.design-part
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.roadmap.design-part
- spec:consumers.roadmap.drifting-part
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.roadmap.drifting-part
- spec:consumers.roadmap.missing-evidence
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.roadmap.missing-evidence
- spec:consumers.roadmap.outside-parent
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.roadmap.outside-parent
- spec:consumers.roadmap.statement-order
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.roadmap.statement-order
- spec:consumers.roadmap.statement-part
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.roadmap.statement-part
- 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
- 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
- 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
- spec:consumers.spec-studio.intent-panel
Implementing units
impl:protocol.studio-compose·src/studio-elements/compose.ts:13impl:protocol.studio-frame·src/projections/studio/pages/frame.ts:6impl:protocol.studio-intent-panel·src/studio-elements/intent-panel.ts:51impl:protocol.studio-intent-panel-element·src/studio-elements/intent-panel-element.ts:14impl: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
- 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
- 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
- spec:consumers.spec-studio.publisher.watch.matches-plain-run
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-watch-plain
- spec:consumers.spec-studio.sharing
Implementing units
impl:protocol.stamp-command·src/cli/stamp-command.ts:8impl:protocol.studio-preview-workflow·test/studio-s4.test.ts:742impl:protocol.studio-stamp·src/studio-elements/stamp.ts:30
Referencing units
None.
Enabled verifiers: spec:consumers.spec-studio.sharing.stamp-written-apart
- 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
- 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
- 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
- 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
- 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:33impl:protocol.open-section-order·src/extract/serialize.ts:105impl:protocol.pack-coherence·src/validate/validators.ts:1102impl:protocol.pack-design-page·src/projections/design-review-pages.ts:120impl:protocol.pack-member-order·src/extract/derive.ts:153impl: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:38impl:protocol.open-section-order·src/extract/serialize.ts:105impl:protocol.prose-mentions·src/validate/validators.ts:1370impl:protocol.register-recipes·test/recipes.test.ts:2057impl:protocol.sdp-import-markdown-emit·src/import/emit-markdown.ts:253impl:protocol.stable-ids·src/ids.ts:173impl: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
- spec:validation.corpus-rules.error-finding-fails
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.validation.corpus-rules.error-finding-fails
- spec:validation.corpus-rules.malformed-finding-fails
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.validation.corpus-rules.malformed-finding-fails
- 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
- 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:108impl:protocol.example-space-decoding·src/notation/example-space.ts:473impl:protocol.executable-contracts·src/codegen/contracts.ts:647impl:protocol.key-markers·src/extract/key-markers.ts:136impl:protocol.open-section-order·src/extract/serialize.ts:105impl:protocol.sdp-import-markdown-emit·src/import/emit-markdown.ts:253impl: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
- spec:consumers.intent-composition.proposal.memo.shared
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-memo-shared
- spec:consumers.pack-design
Implementing units
impl:protocol.pack-design·src/reader/reader.ts:499
Referencing units
None.
Enabled verifiers: test:protocol.pack-design
- spec:consumers.spec-studio.components
Implementing units
component:protocol.studio-elements·src/studio-elements/index.ts:13impl:protocol.studio-compose·src/studio-elements/compose.ts:13impl:protocol.studio-diagram-element·src/studio-elements/diagram.ts:23impl:protocol.studio-filter·src/studio-elements/filter.ts:25impl:protocol.studio-intent-panel-element·src/studio-elements/intent-panel-element.ts:14impl:protocol.studio-maturity-map·src/projections/studio/pages/maturity-map.ts:7impl:protocol.studio-pack-page·src/projections/studio/pages/pack-page.ts:68impl:protocol.studio-scenario-editor·src/studio-elements/scenario-editor.ts:17impl:protocol.studio-search-results·src/studio-elements/search-results.ts:95impl:protocol.studio-spec-structure·src/projections/studio/pages/spec-structure.ts:44impl:protocol.studio-verification-panels·src/projections/studio/pages/spec-verification.ts:74
Referencing units
None.
Enabled verifiers: test:protocol.studio-intent-handoff
- 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
- spec:consumers.spec-studio.glossary-page.same-word-twice
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-glossary-same-word-twice
- spec:consumers.spec-studio.intent-panel.refresh-keeps-intents
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-intents-refresh
- 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
- spec:consumers.spec-studio.lenses.tests.coverage-row
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-tests-coverage-row
- spec:consumers.spec-studio.owner-queue.dependency-first
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-queue-dependency-first
- spec:consumers.spec-studio.sharing.stamp-written-apart
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-stamp-apart
- spec:consumers.spec-studio.shell
Implementing units
impl:protocol.studio-code-spans·src/projections/studio/pages/code-spans.ts:9impl:protocol.studio-frame·src/projections/studio/pages/frame.ts:6impl:protocol.studio-html·src/projections/studio/pages/html.ts:8impl:protocol.studio-text·src/projections/studio/pages/text.ts:7
Referencing units
None.
Enabled verifiers: test:protocol.studio-pages
- 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:499impl: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:5979impl:protocol.entry-locations·src/extract/derive.ts:78impl:protocol.reader·src/reader/reader.ts:687
Referencing units
impl:protocol.pack-design·src/reader/reader.ts:499
Enabled verifiers: test:protocol.entry-locations
- 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:6597impl: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:6597impl:protocol.authoring-normalization·src/extract/authoring-normalization.ts:8impl: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
- 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
- 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
- spec:validation.architecture-constraints.unstated-layer-unclassified
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.validation.architecture-constraints.unstated-layer-unclassified
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
- 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
- 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
- spec:carrier.step-keys.malformed-marker-refused
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.step-keys.malformed-marker-refused
- spec:carrier.step-keys.renamed-key-breaks
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.step-keys.renamed-key-breaks
- spec:carrier.step-keys.repeated-key-refused
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.step-keys.repeated-key-refused
- 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
- spec:carrier.step-keys.reworded-unkeyed-step-breaks
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.step-keys.reworded-unkeyed-step-breaks
- 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
- 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
- spec:consumers.design-review
Implementing units
impl:protocol.design-review·src/projections/design-review.ts:44impl: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
- spec:consumers.obsidian-vault.bases
Implementing units
impl:protocol.vault-bases·src/projections/vault/bases.ts:43impl:protocol.vault-notes·src/projections/vault/notes.ts:45
Referencing units
None.
Enabled verifiers: spec:consumers.obsidian-vault.bases.views-match-sources
- 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:9impl:protocol.studio-command·src/cli/studio-command.ts:106impl: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
- 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
- spec:consumers.spec-studio.diagram-kinds.requirement-trace
Implementing units
impl:protocol.studio-requirement-diagram·src/projections/studio/diagrams/requirement.ts:12impl: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
- spec:consumers.spec-studio.diagrams
Implementing units
impl:protocol.studio-architecture-diagrams·src/projections/studio/diagrams/architecture.ts:4impl:protocol.studio-diagram-element·src/studio-elements/diagram.ts:23impl:protocol.studio-diagram-model·src/projections/studio/diagrams/model.ts:1impl:protocol.studio-diagrams·src/projections/studio/diagrams/svg.ts:73impl: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
- 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
- spec:consumers.spec-studio.lenses
Implementing units
impl:protocol.studio-architecture-lens·src/projections/studio/pages/architecture-page.ts:50impl:protocol.studio-evidence-lens·src/projections/studio/pages/evidence-page.ts:3impl:protocol.studio-frame·src/projections/studio/pages/frame.ts:6impl:protocol.studio-tests-lens·src/projections/studio/pages/tests-page.ts:34
Referencing units
None.
Enabled verifiers: test:protocol.studio-lenses
- spec:consumers.spec-studio.navigation
Implementing units
impl:protocol.studio-frame·src/projections/studio/pages/frame.ts:6impl: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
- 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
- spec:consumers.spec-studio.page-elements
Implementing units
component:protocol.studio-elements·src/studio-elements/index.ts:13impl:protocol.studio-copy·src/studio-elements/copy.ts:22impl:protocol.studio-expander·src/studio-elements/expander.ts:16impl:protocol.studio-filter·src/studio-elements/filter.ts:25impl:protocol.studio-search-form·src/studio-elements/search.ts:18impl:protocol.studio-search-results·src/studio-elements/search-results.ts:95impl:protocol.studio-stamp·src/studio-elements/stamp.ts:30
Referencing units
None.
Enabled verifiers: test:protocol.studio-copy-source, test:protocol.studio-page-elements
- spec:consumers.spec-studio.publisher
Implementing units
impl:protocol.build-pipeline-emit·src/cli/build-command.ts:251impl:protocol.studio-command·src/cli/studio-command.ts:106impl:protocol.studio-page-catalog·src/projections/studio/pages/index.ts:21impl:protocol.studio-paths·src/projections/studio/paths.ts:2impl:protocol.studio-publish·src/projections/studio/publish.ts:24
Referencing units
None.
Enabled verifiers: test:protocol.studio-data, test:protocol.studio-publisher
- spec:consumers.spec-studio.search
Implementing units
impl:protocol.studio-concept-match·src/reader/concept-match.ts:43impl:protocol.studio-search-page·src/projections/studio/pages/search-page.ts:5impl: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
- 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
- spec:decisions.roadmap-priority
Implementing units
None.
Referencing units
impl:protocol.pack-aggregate·src/model/pack.ts:23impl:protocol.pack-member-order·src/extract/derive.ts:153
Enabled verifiers: None
- spec:extraction.entry-citations
Implementing units
impl:protocol.entry-address-resolution·src/graph/entry-address.ts:6impl:protocol.entry-citation-reader·src/reader/entry-citations.ts:19impl:protocol.entry-citation-recipe·test/recipes.test.ts:7008impl: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
- spec:extraction.executable-contracts
Implementing units
impl:protocol.example-space·src/graph/example-space.ts:117impl: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
- spec:extraction.runnable-modules
Implementing units
component:protocol.codegen·src/codegen/contracts.ts:633component:protocol.testing·src/testing/index.ts:38impl:protocol.example-testing-helpers·src/testing/index.ts:50impl: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
- spec:model.design-maturity
Implementing units
impl:protocol.pack-design·src/reader/reader.ts:499
Referencing units
None.
Enabled verifiers: test:protocol.pack-design
- 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
- 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:3568impl:protocol.entry-locations·src/extract/derive.ts:78impl:protocol.key-markers·src/extract/key-markers.ts:136impl:protocol.open-section-order·src/extract/serialize.ts:105impl:protocol.prose-mentions·src/validate/validators.ts:1370impl:protocol.register-recipes·test/recipes.test.ts:2057impl:protocol.sdp-import-markdown-emit·src/import/emit-markdown.ts:253impl:protocol.spec-sections·src/model/sections.ts:138impl: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
- 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
- spec:validation.prose-mentions
Implementing units
impl:protocol.entry-address-resolution·src/graph/entry-address.ts:6impl: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
Distance 7
- spec:consumers.binding-language-views
Implementing units
impl:protocol.binding-language-index-table·src/projections/design-review-pages.ts:201impl: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
- spec:consumers.obsidian-vault.notes
Implementing units
impl:protocol.vault-notes·src/projections/vault/notes.ts:45impl:protocol.vault-sections·src/projections/vault/sections.ts:10impl: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
- spec:consumers.spec-studio.capability-map-page
Implementing units
impl:protocol.studio-capabilities-page·src/projections/studio/pages/capabilities-page.ts:78impl:protocol.studio-filter·src/studio-elements/filter.ts:25impl:protocol.studio-frame·src/projections/studio/pages/frame.ts:6impl:protocol.studio-index-page·src/projections/studio/pages/index-page.ts:8
Referencing units
None.
Enabled verifiers: test:protocol.studio-capabilities
- spec:consumers.spec-studio.data.inputs.both-given
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-inputs-both-given
- spec:consumers.spec-studio.data.inputs.graph-only
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-graph-only
- spec:consumers.spec-studio.diagram-kinds
Implementing units
impl:protocol.studio-architecture-lens·src/projections/studio/pages/architecture-page.ts:50impl:protocol.studio-capability-diagrams·src/projections/studio/diagrams/capability.ts:101impl:protocol.studio-diagram-layout·src/projections/studio/diagrams/layout.ts:140impl:protocol.studio-diagram-source·src/projections/studio/diagrams/mermaid.ts:13impl:protocol.studio-diagrams·src/projections/studio/diagrams/svg.ts:73impl:protocol.studio-maturity-map·src/projections/studio/pages/maturity-map.ts:7impl:protocol.studio-requirement-diagram·src/projections/studio/diagrams/requirement.ts:12impl:protocol.studio-slice-architecture·src/projections/studio/diagrams/slice.ts:219impl:protocol.studio-slice-dependencies·src/projections/studio/diagrams/slice.ts:10
Referencing units
None.
Enabled verifiers: test:protocol.studio-diagram-catalog
- spec:consumers.spec-studio.diagram-kinds.edge-routing
Implementing units
impl:protocol.studio-diagram-routing·src/projections/studio/diagrams/routing.ts:38impl:protocol.studio-diagrams·src/projections/studio/diagrams/svg.ts:73
Referencing units
None.
Enabled verifiers: test:protocol.studio-diagram-core
- spec:consumers.spec-studio.diagram-kinds.legibility
Implementing units
impl:protocol.studio-diagram-element·src/studio-elements/diagram.ts:23impl:protocol.studio-diagram-layout·src/projections/studio/diagrams/layout.ts:140impl:protocol.studio-diagrams·src/projections/studio/diagrams/svg.ts:73
Referencing units
None.
Enabled verifiers: test:protocol.studio-diagram-core
- spec:consumers.spec-studio.diagram-kinds.mermaid-source
Implementing units
impl:protocol.studio-diagram-source·src/projections/studio/diagrams/mermaid.ts:13impl:protocol.studio-diagrams·src/projections/studio/diagrams/svg.ts:73
Referencing units
None.
Enabled verifiers: test:protocol.studio-diagram-core
- spec:consumers.spec-studio.diagrams.folds-by-context
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-diagram-folds-context
- spec:consumers.spec-studio.diagrams.folds-by-layer
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-diagram-folds-layer
- spec:consumers.spec-studio.diagrams.within-bound
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-diagram-within-bound
- 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
- 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
- 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
- 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
- spec:consumers.spec-studio.runs-page
Implementing units
impl:protocol.studio-run-rows·src/projections/studio/pages/run-rows.ts:69impl: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
- spec:consumers.wholesale-view-rewrite
Implementing units
impl:protocol.build-pipeline-emit·src/cli/build-command.ts:251impl: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
- spec:extraction.entry-citations.code-comment-cites-declaration
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.entry-citations.code-comment-cites-declaration
- spec:extraction.entry-citations.test-title-cites-declaration
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.entry-citations.test-title-cites-declaration
- spec:extraction.entry-citations.unanchored-file-unread
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.entry-citations.unanchored-file-unread
- spec:extraction.entry-citations.unresolved-citation
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.entry-citations.unresolved-citation
- spec:extraction.example-runner
Implementing units
component:protocol.adapters·src/adapters/vitest.ts:23component:protocol.runner·src/runner/index.ts:99impl:protocol.example-runner·src/runner/index.ts:108impl: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
- spec:model.term-addresses.malformed-term-marker-refused
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.term-addresses.malformed-term-marker-refused
- spec:model.term-addresses.repeated-term-key-refused
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.term-addresses.repeated-term-key-refused
- spec:model.term-addresses.typescript-term-imports-keyed
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.term-addresses.typescript-term-imports-keyed
- spec:model.term-addresses.unknown-term-key-refused
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.term-addresses.unknown-term-key-refused
- spec:validation.diagnostic-rendering
Implementing units
impl:protocol.diagnostic-rendering-cli·src/cli/output.ts:23impl:protocol.diagnostic-rendering-design-review·src/projections/design-review-context.ts:208impl:protocol.validate-summary·src/cli/validate-view-command.ts:23impl: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:21impl: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:14impl: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:191impl:protocol.vault-notes·src/projections/vault/notes.ts:45impl: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
- 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
- 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
- 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
- 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
- spec:consumers.spec-studio.diagram-kinds.capability-tree
Implementing units
impl:protocol.studio-capability-diagrams·src/projections/studio/diagrams/capability.ts:101impl:protocol.studio-diagram-source·src/projections/studio/diagrams/mermaid.ts:13
Referencing units
None.
Enabled verifiers: test:protocol.studio-capabilities
- 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
- spec:consumers.spec-studio.diff-page.changed-entry
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-diff-changed-entry
- spec:consumers.spec-studio.lenses.architecture.planned-apart
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-architecture-planned-apart
- 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
- spec:consumers.structural-mermaid
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
- 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
- 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
- spec:consumers.obsidian-vault.failed-extraction-recovered
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.consumers.obsidian-vault.failed-extraction-recovered
- spec:consumers.obsidian-vault.fresh-vault
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.consumers.obsidian-vault.fresh-vault
- spec:consumers.obsidian-vault.hidden-file-refused
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.consumers.obsidian-vault.hidden-file-refused
- spec:consumers.obsidian-vault.interrupted-run-recovered
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.consumers.obsidian-vault.interrupted-run-recovered
- spec:consumers.obsidian-vault.person-notes-survive
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.consumers.obsidian-vault.person-notes-survive
- spec:consumers.obsidian-vault.unknown-note-refused
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.consumers.obsidian-vault.unknown-note-refused
- 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
- spec:decisions.vault-owned-folder
Implementing units
None.
Referencing units
impl:protocol.vault-command·src/cli/vault-command.ts:191impl:protocol.vault-sync·src/projections/vault/sync.ts:98
Enabled verifiers: None
- 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 direction | Other end | Claim | Reason | Exercised keys |
|---|---|---|---|---|
| decidedBy · outgoing | Prose belongs to typed graph ownersspec:decisions.prose-ownership · resolves | declared | the relation owns its reason as typed prose | None |
| refines · outgoing | Specs declare typed directed relationsspec:model.relations · resolves | declared | None | None |
| dependsOn · incoming | The Markdown envelope is explicit and boundedspec:carrier.envelope-contract · resolves | declared | None | None |
| dependsOn · incoming | Every prose value has one typed ownerspec:carrier.prose-ownership-rule · resolves | declared | None | None |
| dependsOn · incoming | Register questions stay executable graph recipesspec:consumers.agent-surface.register-recipes · resolves | declared | the mention audit reads a caller's intended mentions with their reasons | None |
| dependsOn · incoming | Authors move one Spec from intent to reviewed evidencespec:consumers.authoring-on-ramp · resolves | declared | None | None |
| dependsOn · incoming | A Spec page shows one Spec in collapsible panels, in a fixed orderspec:consumers.spec-studio.spec-page · resolves | declared | None | None |
| dependsOn · incoming | A Spec page's core shows the whole Spec, with an anchor for every entryspec:consumers.spec-studio.spec-page.core · resolves | declared | None | None |
| dependsOn · incoming | Capability adoption counts where each capability is used and where it could applyspec:consumers.upgrade-kit.capability-adoption · resolves | declared | relation reasons are counted where authored relations are | None |
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:6597impl: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.
Composing (0)
Composing needs the script.