problemRecipes take parameters as data and ship as runnable files
spec:consumers.agent-surface.recipe-parametersPacks: pack:design-management-v1, pack:self-hosting-v1
Design: 2 design entries · 2 pinned declarations · 1 decision
Findings: no errors, no warnings
specs/consumers/agent-surface.recipe-parameters.sdp.md
No open questions and no blocking questions; implementation binding present, verifier binding present, and expected-outcome oracle none.
A body reads its parameters by name, so a name it does not read would be dropped without a word, and a recipe with a sample would answer for the sample: a misspelled name would look like a successful call. A recipe therefore answers a name it does not take with that name and the names it does take, and nothing else. A body cannot import and the reader holds no recipe metadata, so each body declares its own names in its first statement, and the recipe check holds that declaration to the catalog.
Intent
- A recipe that takes its input in its own source makes a caller rewrite the body for each input, a long list included, and a script that runs a recipe must first cut its body out of the Markdown catalog.
outcome- Pass a recipe's parameter as data through the one evaluation sink, and ship every catalog body as a file a caller runs as written.
Behavior
ruleline 19 ·specs/consumers/agent-surface.recipe-parameters.sdp.md:19sdp qtakes--paramswith a JSON object, or--params @PATHwith a file holding one, the path resolved from the working directory, and injects it as a fourth binding,params, besideg,graphandreport. Without the flagparamsis an empty object. In these two forms, a value that is not valid JSON, JSON that is not an object (null, an array, a string, a number or a boolean), or a file that cannot be read is refused before the body runs, with exit 1, one line on stderr and no output on stdout.ruleline 20 ·specs/consumers/agent-surface.recipe-parameters.sdp.md:20--paramsis repeatable in three forms: a JSON object,@PATHnaming a file that holds one, andKEY=@PATHbinding the JSON value in the file, of any type, toparams.KEY, withKEYon the lower-camel grammar. Objects merge at the top level from left to right, and a key given twice by any form is refused before the body runs, with exit 1, one line on stderr and no output on stdout, so a recipe takes a large file such as a base graph beside its other parameters.ruleline 21 ·specs/consumers/agent-surface.recipe-parameters.sdp.md:21- The bindings
g,graphandreportkeep their names and meaning besideparams. The sink evaluates one operator-supplied body and adds no query vocabulary: a parameter is input to a body, never a verb. ruleline 22 ·specs/consumers/agent-surface.recipe-parameters.sdp.md:22- Every recipe reads its parameters under the names the catalog states. A parameter with a documented sample falls back to it when absent, so each body runs as written; a required input with no sample, such as a base graph, a proposal or an imports file, returns diagnostics when absent. Recipe 4 reads its changed files from
params.files. rule.declaredNamesline 23 ·specs/consumers/agent-surface.recipe-parameters.sdp.md:23- Each catalog body opens by declaring the parameter names it takes, in the order the catalog's index lists them, and checks
paramsagainst that list before it reads anything else; a recipe that takes no parameter declares an empty list.no example exercises it
rule.unknownNamesline 24 ·specs/consumers/agent-surface.recipe-parameters.sdp.md:24- A recipe given a parameter name it does not take returns
{ unknownParams, accepts }as its whole answer, andsdp qexits 0; it never answers for its sample, for an empty input or for the names it does take in that case.no example exercises it
rule.namesCheckedline 25 ·specs/consumers/agent-surface.recipe-parameters.sdp.md:25- The recipe check holds each body's declared names to the catalog's index and to the
paramsnames the body reads, and runs each body with a name it does not take.no example exercises it
ruleline 26 ·specs/consumers/agent-surface.recipe-parameters.sdp.md:26- The package build writes each catalog body to
dist/recipes/<NN>-<slug>.js, whereNNis the two-digit recipe number and the slug is the recipe's heading in lower kebab case, and the package ships that directory. The catalog stays the one owner of the bodies; the files are derived, and the recipe test checks that each file equals its catalog body byte for byte.
5 unkeyed rules.
Design
acceptsPreambleline 30 ·specs/consumers/agent-surface.recipe-parameters.sdp.md:30const accepts = [...]; const unknownParams = Object.keys(params).filter((name) => !accepts.includes(name)); if (unknownParams.length > 0) return { unknownParams, accepts };opens every catalog body as three statements on three lines, with the recipe's names in the brackets as double-quoted strings.no citation recorded
unknownAnswerline 31 ·specs/consumers/agent-surface.recipe-parameters.sdp.md:31{ unknownParams, accepts }is the whole answer for a name a recipe does not take, whereunknownParamslists every such name in the orderparamsholds them, andacceptsrepeats the recipe's declared names.no citation recorded
Verification
Verifier bindings
- test:protocol.query-answer-shapes · anchored · test anchor binding present ·
test/cli-q.test.ts:730External run evidence from
test/cli-q.test.tsTest anchors:
test:protocol.evaluation-sink,test:protocol.query-answer-shapes,test:protocol.query-params. Specs verified by those bindings: spec:consumers.agent-surface.evaluation-sink, spec:consumers.agent-surface.recipe-parameters.Run 1: external run evidence from vitest 4.1.10
Build: CI 391 · Branch: cursor/media-plan-and-articles-09b1 · Commit: 076cd4f1f85640d8236e5cca1bffffa68ab79a33 · Start: 2026-10-31T15:32:20.471Z · Stop: 2026-10-31T15:34:02.073Z
Name Suite Result Duration evaluates an argv body over the derived graph and prints the pre-shaped return sdp q — the agent front door passed 30.39 ms reads the body from stdin when stdin is not a terminal sdp q — the agent front door passed 11.91 ms prefers the argv body over stdin when both are available sdp q — the agent front door passed 14.65 ms refuses with no body when stdin is a terminal instead of waiting on it sdp q — the agent front door passed 0.57 ms refuses an empty body rather than evaluating nothing sdp q — the agent front door passed 1.03 ms prints JSON for --json sdp q — the agent front door passed 8.67 ms exits 1 and names the failure when the body throws sdp q — the agent front door passed 7.44 ms exits 1 on a body that does not compile sdp q — the agent front door passed 16.25 ms awaits an asynchronous body sdp q — the agent front door passed 15.42 ms injects a live reader: the entry adapters answer from the derived graph sdp q — the agent front door passed 10.83 ms injects the raw graph schema alongside the reader sdp q — the agent front door passed 6.7 ms injects the validation report as data, never as a gate sdp q — the agent front door passed 6.86 ms runs the body when the graph merely reports findings — checks never gate the read path sdp q — the agent front door passed 10.25 ms refuses to run the body when the graph does not derive, rendering the extraction findings sdp q — the agent front door passed 21.64 ms reports a body that returns nothing rather than printing a silent blank sdp q — the agent front door passed 8.74 ms refuses an unknown option and a second body without deriving anything sdp q — the agent front door passed 0.44 ms refuses an empty --root instead of reinterpreting it as the working directory sdp q — the agent front door passed 0.2 ms refuses a root that is not a directory, naming the resolved absolute path sdp q — the agent front door passed 0.24 ms honours --exclude, so the sink omits exactly the paths the caller names sdp q — the agent front door passed 4.01 ms runs the body when extraction itself only warns — the warning is data, never a gate sdp q — the agent front door passed 4.45 ms detects a terminal from the file descriptor, never from a stream property sdp q — the agent front door passed 4.05 ms puts --exclude through the strict exclusion contract before deriving anything sdp q — the agent front door passed 0.39 ms reports a throw from rendering the return value through the one diagnostic currency sdp q — the agent front door passed 5.29 ms refuses a --json return value whose toJSON yields no JSON form sdp q — the agent front door passed 6.38 ms writes nothing: the sink is a pure read tool sdp q — the agent front door passed 263.76 ms injects params as a fourth binding beside g, graph and report sdp q --params — a recipe parameter as data passed 5.95 ms binds params to an empty object without the flag sdp q --params — a recipe parameter as data passed 4.99 ms passes any JSON object through unchanged sdp q --params — a recipe parameter as data passed 8.81 ms reads params from a file named with @PATH, a byte-order mark dropped sdp q --params — a recipe parameter as data passed 4.97 ms refuses inline text that is not JSON before the body runs: exit 1, one line, nothing on stdout sdp q --params — a recipe parameter as data passed 0.84 ms refuses an empty value before the body runs: exit 1, one line, nothing on stdout sdp q --params — a recipe parameter as data passed 0.32 ms refuses null before the body runs: exit 1, one line, nothing on stdout sdp q --params — a recipe parameter as data passed 0.29 ms refuses an array before the body runs: exit 1, one line, nothing on stdout sdp q --params — a recipe parameter as data passed 0.28 ms refuses a string before the body runs: exit 1, one line, nothing on stdout sdp q --params — a recipe parameter as data passed 0.83 ms refuses a number before the body runs: exit 1, one line, nothing on stdout sdp q --params — a recipe parameter as data passed 1.48 ms refuses a boolean before the body runs: exit 1, one line, nothing on stdout sdp q --params — a recipe parameter as data passed 0.23 ms refuses a file that cannot be read before the body runs: exit 1, one line, nothing on stdout sdp q --params — a recipe parameter as data passed 0.31 ms refuses an @ with no path before the body runs: exit 1, one line, nothing on stdout sdp q --params — a recipe parameter as data passed 0.21 ms refuses a missing value before the body runs: exit 1, one line, nothing on stdout sdp q --params — a recipe parameter as data passed 0.24 ms refuses a flag in place of the value before the body runs: exit 1, one line, nothing on stdout sdp q --params — a recipe parameter as data passed 0.14 ms refuses a repeated key before the body runs: exit 1, one line, nothing on stdout sdp q --params — a recipe parameter as data passed 0.22 ms refuses a key outside the lower-camel grammar before the body runs: exit 1, one line, nothing on stdout sdp q --params — a recipe parameter as data passed 0.19 ms refuses a file whose JSON is not an object, in one line naming the file sdp q --params — a recipe parameter as data passed 0.37 ms refuses a file whose text is not JSON, in one line naming the file sdp q --params — a recipe parameter as data passed 0.37 ms locates a refused body return ) query body positions and merged parameters passed 1.26 ms locates a refused body return 1; foo bar query body positions and merged parameters passed 0.83 ms locates a refused body let x = 'a' 'bcdef'; query body positions and merged parameters passed 0.74 ms locates a refused body const value = 1; return ) query body positions and merged parameters passed 0.66 ms locates a refused body return ( query body positions and merged parameters passed 0.63 ms names a body that stops short instead of the wrapper's closing brace query body positions and merged parameters passed 0.75 ms keeps runtime failures separate, including a thrown SyntaxError query body positions and merged parameters passed 0.48 ms refuses repeated top-level keys inside one inline object before extraction query body positions and merged parameters passed 1.48 ms refuses repeated top-level keys inside one file object before extraction query body positions and merged parameters passed 1.63 ms accepts nested duplicates and duplicate-looking text inside values query body positions and merged parameters passed 0.63 ms binds a keyed file's JSON value null beside merged objects query body positions and merged parameters passed 0.76 ms binds a keyed file's JSON value 1 beside merged objects query body positions and merged parameters passed 0.6 ms binds a keyed file's JSON value "text" beside merged objects query body positions and merged parameters passed 0.83 ms binds a keyed file's JSON value 4 beside merged objects query body positions and merged parameters passed 0.94 ms binds a keyed file's JSON value true beside merged objects query body positions and merged parameters passed 0.85 ms binds a keyed file's JSON value {"nested":{"a":1}} beside merged objects query body positions and merged parameters passed 0.8 ms refuses duplicate keys from inline-file before extraction query body positions and merged parameters passed 0.39 ms refuses duplicate keys from file-inline before extraction query body positions and merged parameters passed 0.22 ms refuses duplicate keys from keyed-inline before extraction query body positions and merged parameters passed 0.34 ms refuses duplicate keys from inline-keyed before extraction query body positions and merged parameters passed 0.33 ms refuses duplicate keys from keyed-keyed before extraction query body positions and merged parameters passed 0.35 ms keeps merged parameter keys writable for the caller's body query body positions and merged parameters passed 0.48 ms refuses an invalid keyed input key=@ before extraction query body positions and merged parameters passed 0.29 ms refuses an invalid keyed input key=@missing-file.json before extraction query body positions and merged parameters passed 0.21 ms refuses an invalid keyed input bad-key=@missing-file.json before extraction query body positions and merged parameters passed 0.13 ms refuses an invalid keyed input bad_key=@missing-file.json before extraction query body positions and merged parameters passed 0.18 ms reads inline JSON and @PATH before KEY=@PATH when the input contains =@ query body positions and merged parameters passed 0.54 ms refuses a keyed file holding invalid JSON before extraction query body positions and merged parameters passed 0.36 ms merges own keys without treating __proto__ as an assignment query body positions and merged parameters passed 0.49 ms - test:protocol.query-params · front-door checks verify --params as the fourth binding and its refusals · anchored · test anchor binding present ·
test/cli-q.test.ts:509 - test:protocol.recipe-parameters · recipe checks verify parameters passed as data and the shipped recipe files · anchored · test anchor binding present ·
test/recipes.test.ts:4411External 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 391 · Branch: cursor/media-plan-and-articles-09b1 · Commit: 076cd4f1f85640d8236e5cca1bffffa68ab79a33 · Start: 2026-10-31T15:32:20.471Z · Stop: 2026-10-31T15:34:02.073Z
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 203.44 ms pairs every documented recipe with exactly one fenced body the agent-surface recipe corpus passed 1.09 ms keeps self-hosting and adopter invocation forms distinct the agent-surface recipe corpus passed 7.14 ms teaches parameters as data and keeps the on-ramps naming the CLI verbs and recipes the agent-surface recipe corpus passed 4.55 ms keeps every body plain JavaScript with a return the agent-surface recipe corpus passed 5.66 ms runs every body through the front door without throwing the agent-surface recipe corpus passed 4526.76 ms returns the non-example build backlog and audits excluded example evidence the agent-surface recipe corpus passed 71.36 ms returns a drift alarm of code-bound specs below ready, with the floor named the agent-surface recipe corpus passed 46.65 ms returns one spec's guarantees with its relations and verifier bindings the agent-surface recipe corpus passed 38.2 ms keeps hostile changed filenames as inert JSON data the agent-surface recipe corpus passed 36.27 ms returns the complete diff-to-at-risk bridge the agent-surface recipe corpus passed 48.16 ms names a changed identity-only unit as unlinked, never coverage-unknown or dropped the agent-surface recipe corpus passed 66.24 ms returns a pack's review backbone with its verifier gaps the agent-surface recipe corpus passed 54.38 ms returns concept matches carrying the fields that matched the agent-surface recipe corpus passed 86.65 ms returns readiness divergence as an array, where empty is lawful the agent-surface recipe corpus passed 94.47 ms returns the warn-level signals as data rather than as a gate the agent-surface recipe corpus passed 57.35 ms returns promotion preflight without conferring a readiness edit the agent-surface recipe corpus passed 29.14 ms names the next rung's unmet clause and the dependency that breaks it on a probe the agent-surface recipe corpus passed 1.95 ms keeps declared examples distinct from enabled verifier bindings the agent-surface recipe corpus passed 315.12 ms returns the complete non-ready ladder grouped by family the agent-surface recipe corpus passed 112.21 ms distinguishes a passing current floor from a blocked or clear stated next rung the agent-surface recipe corpus passed 4.94 ms returns every committed structural component with non-empty membership the agent-surface recipe corpus passed 59.76 ms returns exact component uses fan-in and fan-out from the structural oracle the agent-surface recipe corpus passed 47.86 ms returns a component structural neighborhood and an exact absent shape the agent-surface recipe corpus passed 87.05 ms reports census structural coverage from graph and report ground truth the agent-surface recipe corpus passed 40.04 ms reports graph-side upper bounds for every shipped projection root the agent-surface recipe corpus passed 34.89 ms returns the architecture map of every live component with recomputed fan-in and fan-out the agent-surface recipe corpus passed 54.87 ms explains the shared policy and adapter collaborations from graph intent and binding claims the agent-surface recipe corpus passed 69.84 ms retains local uses and their claims without counting a component as its own dependency the agent-surface recipe corpus passed 75.74 ms preserves an unresolved responsibility without inventing its design the agent-surface recipe corpus passed 89.93 ms keeps a dangling component row and surfaces unresolved uses edges the agent-surface recipe corpus passed 92.01 ms preserves an unresolved architecture-map member when memberOf outlives the node the agent-surface recipe corpus passed 86.53 ms returns the decision map ranked by live shaping fan-in the agent-surface recipe corpus passed 49.06 ms returns a planning-slice neighborhood and an exact absent shape the agent-surface recipe corpus passed 100.85 ms returns non-empty bidirectional dependencies for the binding-grain planning slice the agent-surface recipe corpus passed 55.05 ms returns planning-slice implementations, never abstractions the agent-surface recipe corpus passed 49.58 ms preserves an unresolved component row when memberOf outlives the node the agent-surface recipe corpus passed 114.57 ms reports derived design columns beside the existing backlog fields the agent-surface recipe corpus passed 5.97 ms groups backlog rows under lawful Object.prototype path segments the agent-surface recipe corpus passed 70.12 ms groups lower-ladder rows under lawful Object.prototype path segments the agent-surface recipe corpus passed 65.98 ms groups decided subjects under lawful Object.prototype path segments the agent-surface recipe corpus passed 50.79 ms lists key families across the corpus in key, Spec and section order with the documented sample register recipe semantics passed 87.47 ms lists Design and UI key families without a row cap, preserving values, lines and overlapping prefixes register recipe semantics passed 6.93 ms diagnoses an unresolved Pack member without returning a partial register register recipe semantics passed 2 ms diagnoses malformed key-family parameters without a register: {"prefixes":[]} register recipe semantics passed 47.39 ms diagnoses malformed key-family parameters without a register: {"prefixes":[""]} register recipe semantics passed 51.9 ms diagnoses malformed key-family parameters without a register: {"prefixes":["a","a"]} register recipe semantics passed 60.77 ms diagnoses malformed key-family parameters without a register: {"prefixes":"limit"} register recipe semantics passed 48.71 ms diagnoses malformed key-family parameters without a register: {"pack":"pack:absent"} register recipe semantics passed 47.17 ms diagnoses malformed key-family parameters without a register: {"specs":["spec:absent"]} register recipe semantics passed 47.63 ms diagnoses malformed key-family parameters without a register: {"specs":"bad"} register recipe semantics passed 48.35 ms diagnoses malformed key-family parameters without a register: {"pack":"pack:self-hosting-v1","specs":[]} register recipe semantics passed 61.9 ms runs recipe 20 as written in default output register recipe semantics passed 83.5 ms runs recipe 21 as written in default output register recipe semantics passed 43.91 ms runs recipe 22 as written in default output register recipe semantics passed 140.26 ms runs recipe 23 as written in default output register recipe semantics passed 135.22 ms runs recipe 24 as written in default output register recipe semantics passed 76.44 ms runs recipe 25 as written in default output register recipe semantics passed 32.84 ms runs recipe 26 as written in default output register recipe semantics passed 34.44 ms runs recipe 27 as written in default output register recipe semantics passed 35.78 ms runs recipe 28 as written in default output register recipe semantics passed 28.08 ms runs recipe 29 as written in default output register recipe semantics passed 25.29 ms runs recipe 30 as written in default output register recipe semantics passed 66.24 ms runs recipe 31 as written in default output register recipe semantics passed 36.6 ms runs recipe 32 as written in default output register recipe semantics passed 22.72 ms renders long JSON values with the same default text bound as strings register recipe semantics passed 7.07 ms registers an omitted blocking flag through a TypeScript carrier register recipe semantics passed 2.89 ms searches coined keys of every value shape through a TypeScript carrier register recipe semantics passed 2.3 ms searches strings inside a matching coined list or object key register recipe semantics passed 2.92 ms searches a null coined-key value in the reader graph register recipe semantics passed 2.36 ms keeps register counts under totals and top-level plural nouns as arrays register recipe semantics passed 602.26 ms pins whole-token matching for 'retry' in 'entry' / 'retry' register recipe semantics passed 1 ms pins whole-token matching for 'retry' in 'entry' / 'retryable' register recipe semantics passed 0.29 ms pins whole-token matching for 'retry' in 'entry' / 'retry-worker' register recipe semantics passed 0.22 ms pins whole-token matching for 'retry' in 'retryWorker' / 'unrelated' register recipe semantics passed 0.21 ms pins whole-token matching for 'Retry' in 'entry' / 'RETRY.' register recipe semantics passed 0.19 ms pins whole-token matching for 'retry worker' in 'retryWorker' / 'retry-worker' register recipe semantics passed 0.18 ms pins whole-token matching for 'retry worker' in 'entry' / 'worker retry' register recipe semantics passed 0.27 ms pins whole-token matching for 'retry worker' in 'entry' / 'retry the worker' register recipe semantics passed 0.18 ms pins whole-token matching for 'server' in 'entry' / 'HTTPServer' register recipe semantics passed 0.27 ms pins whole-token matching for 'v' in 'entry' / 'v2' register recipe semantics passed 0.21 ms registers every authored question, blocking Specs first register recipe semantics passed 65.36 ms reports one-hop footing of all four types, including unresolved targets register recipe semantics passed 94.97 ms audits mention pairs, skips fences, and preserves full ids and direction register recipe semantics passed 1.17 ms resolves entry mentions and retains every token and pair location through a probe root register recipe semantics passed 5.54 ms reads the whole mention token through an underscore as malformed, never the existing prefix register recipe semantics passed 0.73 ms reads the whole mention token through a slash as malformed, never the existing prefix register recipe semantics passed 0.46 ms reads the whole mention token through a comma as malformed, never the existing prefix register recipe semantics passed 0.49 ms reads the whole mention token through an underscore and a letter as malformed, never the existing prefix register recipe semantics passed 0.42 ms reads the whole mention token through a slash and a letter as malformed, never the existing prefix register recipe semantics passed 0.38 ms reads the whole mention token through a comma and a letter as malformed, never the existing prefix register recipe semantics passed 0.4 ms reads the whole mention token through a letter outside ASCII as malformed, never the existing prefix register recipe semantics passed 0.37 ms reads the whole mention token through an escaped underscore as malformed, never the existing prefix register recipe semantics passed 0.36 ms reads the whole mention token through a combining mark as malformed, never the existing prefix register recipe semantics passed 0.48 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.45 ms reads the whole mention token through a zero-width space as malformed, never the existing prefix register recipe semantics passed 0.44 ms reads the whole mention token through fullwidth connector punctuation as malformed, never the existing prefix register recipe semantics passed 0.4 ms reads the whole mention token through a NUL as malformed, never the existing prefix register recipe semantics passed 0.41 ms reads the whole mention token through an escape character as malformed, never the existing prefix register recipe semantics passed 0.39 ms reads the whole mention token through a delete character as malformed, never the existing prefix register recipe semantics passed 0.55 ms reads the whole mention token through a C1 control character as malformed, never the existing prefix register recipe semantics passed 0.43 ms reads the whole mention token through a hyphenated entry key as malformed, never the existing prefix register recipe semantics passed 0.43 ms reads the whole mention token through an entry suffix with no key as malformed, never the existing prefix register recipe semantics passed 0.43 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 0.51 ms reads the clean id through Markdown punctuation: a comma register recipe semantics passed 0.42 ms reads the clean id through Markdown punctuation: a colon register recipe semantics passed 0.43 ms reads the clean id through Markdown punctuation: a closing parenthesis register recipe semantics passed 0.41 ms reads the clean id through Markdown punctuation: bold register recipe semantics passed 0.41 ms reads the clean id through Markdown punctuation: emphasis register recipe semantics passed 0.41 ms reads the clean id through Markdown punctuation: strikethrough register recipe semantics passed 0.38 ms reads the clean id through Markdown punctuation: backticks register recipe semantics passed 0.43 ms reads the clean id through Markdown punctuation: ASCII double quotes register recipe semantics passed 0.38 ms reads the clean id through Markdown punctuation: ASCII single quotes register recipe semantics passed 0.53 ms reads the clean id through Markdown punctuation: typographic double quotes register recipe semantics passed 0.46 ms reads the clean id through Markdown punctuation: typographic single quotes register recipe semantics passed 0.43 ms reads the clean id through Markdown punctuation: an em dash register recipe semantics passed 0.41 ms reads the clean id through Markdown punctuation: an en dash register recipe semantics passed 0.43 ms reads the clean id through Markdown punctuation: an ellipsis register recipe semantics passed 0.42 ms reads the clean id through Markdown punctuation: an escaped star register recipe semantics passed 0.42 ms reads the clean id through Markdown punctuation: an escaped exclamation mark register recipe semantics passed 0.45 ms reads the clean id through Markdown punctuation: U+0085 register recipe semantics passed 0.4 ms reads the clean id through Markdown punctuation: a no-break space register recipe semantics passed 0.4 ms reads the clean id through Markdown punctuation: a tab register recipe semantics passed 0.38 ms reads the clean id through Markdown punctuation: an arrow register recipe semantics passed 0.37 ms reads a placeholder or a bare prefix as prose, not a mention register recipe semantics passed 0.47 ms scans nested arrays in examples while skipping object fences by position register recipe semantics passed 1.04 ms addresses only lawful Design and UI entry keys in search results register recipe semantics passed 1.08 ms scopes mentions by the mentioning Spec only register recipe semantics passed 3.1 ms reports malformed open questions without counting them: "one question" register recipe semantics passed 0.51 ms reports malformed open questions without counting them: {} register recipe semantics passed 0.28 ms reports malformed open questions without counting them: 42 register recipe semantics passed 0.29 ms reports malformed open questions without counting them: {"blocking":true} register recipe semantics passed 0.27 ms reports malformed open questions without counting them: null register recipe semantics passed 0.32 ms reports malformed open questions without counting them: "" register recipe semantics passed 0.3 ms reports malformed open questions without counting them: {"question":"valid","blocking":"yes"} register recipe semantics passed 0.31 ms reports malformed open questions without counting them: {"question":"valid","blocking":null} register recipe semantics passed 0.33 ms reports malformed open questions without counting them: {"question":"valid"} register recipe semantics passed 0.38 ms reports an off-grammar question key as malformed: {"question":"valid","key":"AggregateReach"} register recipe semantics passed 0.46 ms reports an off-grammar question key as malformed: {"question":"valid","key":"aggregate-reach"} register recipe semantics passed 0.32 ms reports an off-grammar question key as malformed: {"question":"valid","key":""} register recipe semantics passed 0.33 ms reports an off-grammar question key as malformed: {"question":"valid","key":7} register recipe semantics passed 0.33 ms reports an off-grammar question key as malformed: {"question":"valid","key":null} register recipe semantics passed 0.31 ms reports an off-grammar question key as malformed: {"question":"valid","blocking":true} register recipe semantics passed 0.32 ms searches whole tokens, coined keys, narrative and fence steps register recipe semantics passed 10.86 ms lists every pinned declaration this corpus holds register recipe semantics passed 151.14 ms reads spans of any run length and skips every entry that pins nothing register recipe semantics passed 0.81 ms resolves the catalog's addresses on this corpus as written address resolution and dependency cycles passed 64.16 ms reports this corpus's dependency cycles as an independent reachability check finds them address resolution and dependency cycles passed 88.32 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 4.2 ms reports a self-loop inside a larger set only with that set address resolution and dependency cycles passed 4.72 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 6.46 ms walks a chain of 10,000 Specs and one cycle of 5,000 without recursing address resolution and dependency cycles passed 178.94 ms resolves an inherited property name only where the Spec authors it as a key address resolution and dependency cycles passed 3.03 ms resolves the design's probe addresses with one row and one reason each address resolution and dependency cycles passed 2.86 ms resolves a keyed question, refuses description in Design and UI, and keeps repeats address resolution and dependency cycles passed 2.69 ms registers a keyed question with its key and an unkeyed one with a null key address resolution and dependency cycles passed 1.76 ms audits a question address against the target's open question keys address resolution and dependency cycles passed 1.86 ms addresses a keyed question's text and matches its key, never the key as a row address resolution and dependency cycles passed 5.05 ms returns one row per Studio member with four independent facts design references and the architecture taxonomy passed 114.98 ms lists a referencing unit beside the realizing units without conferring implemented design references and the architecture taxonomy passed 152.22 ms lists the reader beside each Studio member that depends on it, with its realizing units design references and the architecture taxonomy passed 66.69 ms derives builds-on from the member's relations without conferring a fact on it design references and the architecture taxonomy passed 154.09 ms returns the role, layer, and context taxonomy from the code units alone design references and the architecture taxonomy passed 33.37 ms counts references as edges apart from the units that carry them design references and the architecture taxonomy passed 83.72 ms creates each taxonomy bucket once, however many units share the value design references and the architecture taxonomy passed 102.31 ms declares and checks only its indexed parameter names first: 1 recipe parameters and the shipped recipe files passed 0.86 ms declares and checks only its indexed parameter names first: 2 recipe parameters and the shipped recipe files passed 0.45 ms declares and checks only its indexed parameter names first: 3 recipe parameters and the shipped recipe files passed 0.48 ms declares and checks only its indexed parameter names first: 4 recipe parameters and the shipped recipe files passed 0.4 ms declares and checks only its indexed parameter names first: 5 recipe parameters and the shipped recipe files passed 0.39 ms declares and checks only its indexed parameter names first: 6 recipe parameters and the shipped recipe files passed 0.39 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.45 ms declares and checks only its indexed parameter names first: 9 recipe parameters and the shipped recipe files passed 0.44 ms declares and checks only its indexed parameter names first: 10 recipe parameters and the shipped recipe files passed 0.41 ms declares and checks only its indexed parameter names first: 11 recipe parameters and the shipped recipe files passed 0.36 ms declares and checks only its indexed parameter names first: 12 recipe parameters and the shipped recipe files passed 0.35 ms declares and checks only its indexed parameter names first: 13 recipe parameters and the shipped recipe files passed 0.98 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.38 ms declares and checks only its indexed parameter names first: 16 recipe parameters and the shipped recipe files passed 0.38 ms declares and checks only its indexed parameter names first: 17 recipe parameters and the shipped recipe files passed 0.34 ms declares and checks only its indexed parameter names first: 18 recipe parameters and the shipped recipe files passed 0.36 ms declares and checks only its indexed parameter names first: 19 recipe parameters and the shipped recipe files passed 3.5 ms declares and checks only its indexed parameter names first: 20 recipe parameters and the shipped recipe files passed 0.42 ms declares and checks only its indexed parameter names first: 21 recipe parameters and the shipped recipe files passed 0.42 ms declares and checks only its indexed parameter names first: 22 recipe parameters and the shipped recipe files passed 0.4 ms declares and checks only its indexed parameter names first: 23 recipe parameters and the shipped recipe files passed 0.38 ms declares and checks only its indexed parameter names first: 24 recipe parameters and the shipped recipe files passed 3.6 ms declares and checks only its indexed parameter names first: 25 recipe parameters and the shipped recipe files passed 0.41 ms declares and checks only its indexed parameter names first: 26 recipe parameters and the shipped recipe files passed 0.41 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 3.48 ms declares and checks only its indexed parameter names first: 29 recipe parameters and the shipped recipe files passed 0.4 ms declares and checks only its indexed parameter names first: 30 recipe parameters and the shipped recipe files passed 0.39 ms declares and checks only its indexed parameter names first: 31 recipe parameters and the shipped recipe files passed 0.36 ms declares and checks only its indexed parameter names first: 32 recipe parameters and the shipped recipe files passed 3.39 ms declares and checks only its indexed parameter names first: 33 recipe parameters and the shipped recipe files passed 0.45 ms declares and checks only its indexed parameter names first: 34 recipe parameters and the shipped recipe files passed 0.36 ms declares and checks only its indexed parameter names first: 35 recipe parameters and the shipped recipe files passed 0.39 ms declares and checks only its indexed parameter names first: 36 recipe parameters and the shipped recipe files passed 0.45 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.37 ms declares and checks only its indexed parameter names first: 39 recipe parameters and the shipped recipe files passed 0.38 ms declares and checks only its indexed parameter names first: 40 recipe parameters and the shipped recipe files passed 0.39 ms declares and checks only its indexed parameter names first: 41 recipe parameters and the shipped recipe files passed 0.38 ms declares and checks only its indexed parameter names first: 42 recipe parameters and the shipped recipe files passed 0.39 ms declares and checks only its indexed parameter names first: 43 recipe parameters and the shipped recipe files passed 0.43 ms declares and checks only its indexed parameter names first: 44 recipe parameters and the shipped recipe files passed 0.4 ms declares and checks only its indexed parameter names first: 45 recipe parameters and the shipped recipe files passed 0.39 ms declares and checks only its indexed parameter names first: 46 recipe parameters and the shipped recipe files passed 0.37 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.42 ms declares and checks only its indexed parameter names first: 49 recipe parameters and the shipped recipe files passed 0.41 ms declares and checks only its indexed parameter names first: 50 recipe parameters and the shipped recipe files passed 0.42 ms declares and checks only its indexed parameter names first: 51 recipe parameters and the shipped recipe files passed 0.37 ms declares and checks only its indexed parameter names first: 52 recipe parameters and the shipped recipe files passed 0.47 ms declares and checks only its indexed parameter names first: 53 recipe parameters and the shipped recipe files passed 0.48 ms declares and checks only its indexed parameter names first: 54 recipe parameters and the shipped recipe files passed 0.56 ms declares and checks only its indexed parameter names first: 55 recipe parameters and the shipped recipe files passed 0.44 ms returns only the unknown-name answer before reading recipe inputs: 1 recipe parameters and the shipped recipe files passed 64.45 ms returns only the unknown-name answer before reading recipe inputs: 2 recipe parameters and the shipped recipe files passed 86.74 ms returns only the unknown-name answer before reading recipe inputs: 3 recipe parameters and the shipped recipe files passed 64.56 ms returns only the unknown-name answer before reading recipe inputs: 4 recipe parameters and the shipped recipe files passed 40.29 ms returns only the unknown-name answer before reading recipe inputs: 5 recipe parameters and the shipped recipe files passed 46.83 ms returns only the unknown-name answer before reading recipe inputs: 6 recipe parameters and the shipped recipe files passed 46.25 ms returns only the unknown-name answer before reading recipe inputs: 7 recipe parameters and the shipped recipe files passed 48.18 ms returns only the unknown-name answer before reading recipe inputs: 8 recipe parameters and the shipped recipe files passed 42.23 ms returns only the unknown-name answer before reading recipe inputs: 9 recipe parameters and the shipped recipe files passed 71.25 ms returns only the unknown-name answer before reading recipe inputs: 10 recipe parameters and the shipped recipe files passed 31.24 ms returns only the unknown-name answer before reading recipe inputs: 11 recipe parameters and the shipped recipe files passed 31.96 ms returns only the unknown-name answer before reading recipe inputs: 12 recipe parameters and the shipped recipe files passed 49.78 ms returns only the unknown-name answer before reading recipe inputs: 13 recipe parameters and the shipped recipe files passed 39.97 ms returns only the unknown-name answer before reading recipe inputs: 14 recipe parameters and the shipped recipe files passed 63.85 ms returns only the unknown-name answer before reading recipe inputs: 15 recipe parameters and the shipped recipe files passed 52.92 ms returns only the unknown-name answer before reading recipe inputs: 16 recipe parameters and the shipped recipe files passed 35.88 ms returns only the unknown-name answer before reading recipe inputs: 17 recipe parameters and the shipped recipe files passed 33.16 ms returns only the unknown-name answer before reading recipe inputs: 18 recipe parameters and the shipped recipe files passed 39.7 ms returns only the unknown-name answer before reading recipe inputs: 19 recipe parameters and the shipped recipe files passed 36.47 ms returns only the unknown-name answer before reading recipe inputs: 20 recipe parameters and the shipped recipe files passed 34.05 ms returns only the unknown-name answer before reading recipe inputs: 21 recipe parameters and the shipped recipe files passed 37.69 ms returns only the unknown-name answer before reading recipe inputs: 22 recipe parameters and the shipped recipe files passed 34.48 ms returns only the unknown-name answer before reading recipe inputs: 23 recipe parameters and the shipped recipe files passed 45.55 ms returns only the unknown-name answer before reading recipe inputs: 24 recipe parameters and the shipped recipe files passed 37.07 ms returns only the unknown-name answer before reading recipe inputs: 25 recipe parameters and the shipped recipe files passed 41.58 ms returns only the unknown-name answer before reading recipe inputs: 26 recipe parameters and the shipped recipe files passed 36.43 ms returns only the unknown-name answer before reading recipe inputs: 27 recipe parameters and the shipped recipe files passed 40.71 ms returns only the unknown-name answer before reading recipe inputs: 28 recipe parameters and the shipped recipe files passed 40.12 ms returns only the unknown-name answer before reading recipe inputs: 29 recipe parameters and the shipped recipe files passed 34.37 ms returns only the unknown-name answer before reading recipe inputs: 30 recipe parameters and the shipped recipe files passed 41.06 ms returns only the unknown-name answer before reading recipe inputs: 31 recipe parameters and the shipped recipe files passed 35.56 ms returns only the unknown-name answer before reading recipe inputs: 32 recipe parameters and the shipped recipe files passed 43.01 ms returns only the unknown-name answer before reading recipe inputs: 33 recipe parameters and the shipped recipe files passed 37.21 ms returns only the unknown-name answer before reading recipe inputs: 34 recipe parameters and the shipped recipe files passed 41.37 ms returns only the unknown-name answer before reading recipe inputs: 35 recipe parameters and the shipped recipe files passed 39.18 ms returns only the unknown-name answer before reading recipe inputs: 36 recipe parameters and the shipped recipe files passed 38.62 ms returns only the unknown-name answer before reading recipe inputs: 37 recipe parameters and the shipped recipe files passed 43.69 ms returns only the unknown-name answer before reading recipe inputs: 38 recipe parameters and the shipped recipe files passed 38.21 ms returns only the unknown-name answer before reading recipe inputs: 39 recipe parameters and the shipped recipe files passed 37.8 ms returns only the unknown-name answer before reading recipe inputs: 40 recipe parameters and the shipped recipe files passed 34.85 ms returns only the unknown-name answer before reading recipe inputs: 41 recipe parameters and the shipped recipe files passed 38.46 ms returns only the unknown-name answer before reading recipe inputs: 42 recipe parameters and the shipped recipe files passed 37.37 ms returns only the unknown-name answer before reading recipe inputs: 43 recipe parameters and the shipped recipe files passed 31.83 ms returns only the unknown-name answer before reading recipe inputs: 44 recipe parameters and the shipped recipe files passed 25.05 ms returns only the unknown-name answer before reading recipe inputs: 45 recipe parameters and the shipped recipe files passed 35.12 ms returns only the unknown-name answer before reading recipe inputs: 46 recipe parameters and the shipped recipe files passed 41.83 ms returns only the unknown-name answer before reading recipe inputs: 47 recipe parameters and the shipped recipe files passed 35.78 ms returns only the unknown-name answer before reading recipe inputs: 48 recipe parameters and the shipped recipe files passed 40.67 ms returns only the unknown-name answer before reading recipe inputs: 49 recipe parameters and the shipped recipe files passed 40.51 ms returns only the unknown-name answer before reading recipe inputs: 50 recipe parameters and the shipped recipe files passed 37.07 ms returns only the unknown-name answer before reading recipe inputs: 51 recipe parameters and the shipped recipe files passed 40.67 ms returns only the unknown-name answer before reading recipe inputs: 52 recipe parameters and the shipped recipe files passed 39.56 ms returns only the unknown-name answer before reading recipe inputs: 53 recipe parameters and the shipped recipe files passed 27.59 ms returns only the unknown-name answer before reading recipe inputs: 54 recipe parameters and the shipped recipe files passed 33.04 ms returns only the unknown-name answer before reading recipe inputs: 55 recipe parameters and the shipped recipe files passed 41.41 ms diagnoses wrong subject names, mixed known names and ordered unknown names through shipped bodies recipe parameters and the shipped recipe files passed 100 ms reads and names each parameter, with a fallback only when the contract supplies one recipe parameters and the shipped recipe files passed 9.19 ms ships every catalog body as dist/recipes/NN-slug.js, byte for byte recipe parameters and the shipped recipe files passed 8.28 ms runs every shipped file, read whole, to the answer its catalog body gives recipe parameters and the shipped recipe files passed 6827.51 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.37 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.95 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.82 ms passes recipe 4 its changed files from a file named with @PATH recipe parameters and the shipped recipe files passed 40.39 ms resolves the addresses recipe 25 receives as data recipe parameters and the shipped recipe files passed 67.17 ms reads the Pack the Pack recipes review from params.pack recipe parameters and the shipped recipe files passed 187.66 ms returns the Pack design of every corpus Pack as the raw graph states it design recipes passed 789.57 ms returns the probe Pack's design exactly, member by member design recipes passed 8.24 ms reaches every Spec resting on the corpus sample, by a shortest path of real edges design recipes passed 364.56 ms walks a dependency chain inbound only, once per Spec, and keeps a reference apart design recipes passed 1.71 ms registers every corpus decision with its supersession, subjects and keyed questions design recipes passed 86.75 ms registers a supersedes pair both ways and a decision that shapes nothing design recipes passed 4.58 ms carries a relation's reason beside the relation in recipes 3, 19, 21 and 31 design recipes passed 1.68 ms registers narrowing decisions both ways and excludes refinement by other kinds design recipes passed 0.54 ms keeps the decoder in reader without adding crossings against the lawful notation alternative design recipes passed 90.25 ms reports the corpus's architecture crossings as the raw edges state them design recipes passed 61.19 ms names a crossing of two contexts and of two layers, and skips what cannot cross design recipes passed 4.2 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 134.85 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 220.2 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 4.76 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.88 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 5.46 ms counts equal layers and contexts between distinct components even without crossings answers that fit passed 0.51 ms returns guarantee entries and complete unit and verifier locations from context answers that fit passed 6.21 ms reports directions relative to an impacted Pack answers that fit passed 0.89 ms indexes exactly the present recipes with names, parameters and uses answers that fit passed 3.39 ms runs a shipped body wrapped inside a caller's filter answers that fit passed 112.01 ms keeps impact totals and puts both edge directions in the summary answers that fit passed 2.35 ms keeps the reader's Pack value in summary, full and selected-member answers answers that fit passed 7.28 ms reports both next rungs when the stated rung is below the floor answers that fit passed 0.62 ms reports no next rung at ready answers that fit passed 35.24 ms reports gap exemptions and every omitted warning beyond the first 25 answers that fit passed 2.84 ms lists only defined unimplemented designs and keeps exclusions and references answers that fit passed 1.08 ms registers fields and counts deferrals apart from design holds authoring grammar recipes passed 4.32 ms lists intended mentions apart and preserves the validator's warnings authoring grammar recipes passed 8.87 ms matches rule keys beside their text without searching the derived map authoring grammar recipes passed 5.29 ms locates unkeyed rule text and question field text authoring grammar recipes passed 7.51 ms resolves rule addresses and preserves every parsed part of a miss authoring grammar recipes passed 3 ms counts rule coverage from bound examples and reports unbound intent beside it authoring grammar recipes passed 3.01 ms reports missing rule-coverage scopes and accepts a scope with no rules authoring grammar recipes passed 2.53 ms runs the catalog body in the evaluator without a module loader entry citations recipe passed 0.77 ms orders a declaration's citing files and lines independently of input order entry citations recipe passed 0.6 ms joins declarations and other cited entries, including uncited declarations entry citations recipe passed 0.74 ms includes absent Specs and malformed tokens only in the corpus unresolved list entry citations recipe passed 1.17 ms returns diagnostics without findings for {"pack":"pack:missing"} entry citations recipe passed 0.78 ms returns diagnostics without findings for {"specs":["spec:missing"]} entry citations recipe passed 0.44 ms returns diagnostics without findings for {"specs":"spec:probe.cited"} entry citations recipe passed 0.38 ms returns diagnostics without findings for {"pack":"pack:probe.citations","specs":[]} entry citations recipe passed 0.41 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.44 ms reads an absent table as empty, and accepts an empty Spec scope entry citations recipe passed 0.48 ms adds recorded component fields, references, member roles and exact crossing-use counts Studio architecture and example-space recipe additions passed 82.69 ms runs shipped recipe 44 over every decoded space and refuses bad scopes Studio architecture and example-space recipe additions passed 425.18 ms runs recipe 45 as shipped and reports missing and malformed CTRF metadata not recorded passed 462.11 ms recipe 49 renders the panel memo from its catalog body and refuses a malformed document not recorded passed 116.15 ms reports text-preserving rule and flow key changes apart from rewording not recorded passed 8.96 ms preserves a removed keyed rule address beside new unkeyed text not recorded passed 2.6 ms preserves a removed keyed flow address beside new unkeyed text not recorded passed 2.19 ms distinguishes removed unkeyed rule base positions from head positions not recorded passed 3.04 ms distinguishes removed unkeyed flow base positions from head positions not recorded passed 2.55 ms retains every diamond edge and intermediate node while counting each descendant once the capability map recipe passed 1.25 ms returns summary/full parity with explicit omissions for scope {} the capability map recipe passed 1.76 ms returns summary/full parity with explicit omissions for scope {"epic":"spec:probe.epic"} the capability map recipe passed 1.06 ms normalizes prose and unflagged questions while preserving authored indices the capability map recipe passed 0.38 ms retains null titles in serialized node and epic rows when a title degrades the capability map recipe passed 0.71 ms reports a self-refining epic as a cycle without making it its own parent epic the capability map recipe passed 2.75 ms uses the outside unreached parent as root rather than its child cycle group the capability map recipe passed 0.49 ms selects an epic of kind behavior without changing its kind the capability map recipe passed 0.45 ms selects an epic of kind workflow without changing its kind the capability map recipe passed 0.25 ms selects an epic of kind example without changing its kind the capability map recipe passed 0.19 ms selects an epic of kind rule without changing its kind the capability map recipe passed 0.18 ms selects an epic of kind constraint without changing its kind the capability map recipe passed 0.19 ms selects an epic of kind model without changing its kind the capability map recipe passed 0.23 ms selects an epic of kind decision without changing its kind the capability map recipe passed 0.23 ms selects an epic of kind contract without changing its kind the capability map recipe passed 0.22 ms reads node evidence and ordered questions directly, including examples and decisions as parents the capability map recipe passed 0.77 ms represents a missing floor as none and keeps the epic's evidence outside its rollup the capability map recipe passed 0.49 ms counts stated rungs separately from reached floors without lending a bound example's facts to its epic the capability map recipe passed 0.78 ms keeps nested and overlapping memberships and outside parents when selecting one epic the capability map recipe passed 1.12 ms traverses only declared refinement and never infers ancestry from other graph structure the capability map recipe passed 0.63 ms reports cycles, self-links and unresolved or non-Spec endpoints separately from parameter failures the capability map recipe passed 0.54 ms limits damage to edges touching a selected epic scope and terminates reached cycles the capability map recipe passed 0.34 ms keeps overlapping unreached root scopes unique and exposes an empty corpus the capability map recipe passed 0.34 ms refuses invalid parameters without a map: { epic: null } the capability map recipe passed 0.17 ms refuses invalid parameters without a map: { epic: 1 } the capability map recipe passed 0.11 ms refuses invalid parameters without a map: { epic: [] } the capability map recipe passed 0.07 ms refuses invalid parameters without a map: { epic: 'spec:probe.absent' } the capability map recipe passed 0.06 ms refuses invalid parameters without a map: { epic: 'spec:probe.plain' } the capability map recipe passed 0.05 ms refuses invalid parameters without a map: { epic: 'impl:probe.non-spec' } the capability map recipe passed 0.05 ms refuses invalid parameters without a map: { detail: 'true' } the capability map recipe passed 0.05 ms refuses invalid parameters without a map: { detail: 1 } the capability map recipe passed 0.05 ms refuses invalid parameters without a map: { detail: null } the capability map recipe passed 0.05 ms refuses invalid parameters without a map: { epic: 1, detail: 'x' } the capability map recipe passed 0.11 ms checks unknown names before known values the capability map recipe passed 0.11 ms answers deterministically in code-unit id order even when graph arrays are reversed the capability map recipe passed 1.22 ms reaches every Spec from the intended epic owners while preserving kinds and overlapping refinement the Protocol's capability epics passed 207.42 ms keeps refinement and dependency from spec:extraction.build-pipeline to spec:extraction.derive-graph the Protocol's capability epics passed 2.08 ms keeps refinement and dependency from spec:validation.corpus-rules to spec:consumers.agent-surface the Protocol's capability epics passed 2.24 ms keeps refinement and dependency from spec:validation.architecture-constraints to spec:validation.corpus-rules the Protocol's capability epics passed 2.19 ms keeps refinement and dependency from spec:validation.external-registers to spec:validation.corpus-rules the Protocol's capability epics passed 2.35 ms keeps every ready statement at the ready floor and leaves the drift alarm empty the Protocol's capability epics passed 73.37 ms runs the catalog body over the arc Pack through the CLI and keeps its summary totals the shipped design slice passed 359.23 ms runs the roadmap and its memo from the catalog over a named Pack not recorded passed 283.82 ms pins the adopter roadmap and its forward memo over the worked example not recorded passed 24.1 ms
Design view
Requirement drawing
- Declared verifying examples: no declared verifying example.
The diagram as text
- spec:consumers.agent-surface.recipe-parameters: Recipes take parameters as data and ship as runnable files · declared Spec
- spec:consumers.agent-surface: Agents script a visible typed graph · declared Spec
- impl:protocol.build-artifacts: the build step that writes each catalog recipe to dist/recipes and records the build commit beside the CLI · anchored code ·
src/cli/build-artifacts.ts:182 - impl:protocol.parameter-codec: decodes recipe parameters and refuses duplicate keys · anchored code ·
src/cli/params.ts:121 - impl:protocol.query-params: reads --params as JSON data and injects it as the sink's fourth binding, params · anchored code ·
src/cli/q-command.ts:71 - impl:protocol.recipe-parameters-catalog: asserts realization of the catalog recipes that read their parameter from params · anchored code ·
test/recipes.test.ts:4405 - test:protocol.query-answer-shapes: test:protocol.query-answer-shapes · anchored test binding · binding present ·
test/cli-q.test.ts:730 - test:protocol.query-params: front-door checks verify --params as the fourth binding and its refusals · anchored test binding · binding present ·
test/cli-q.test.ts:509 - test:protocol.recipe-parameters: recipe checks verify parameters passed as data and the shipped recipe files · anchored test binding · binding present ·
test/recipes.test.ts:4411 - spec:consumers.agent-surface.recipe-parameters refines spec:consumers.agent-surface · declared
- impl:protocol.build-artifacts satisfies spec:consumers.agent-surface.recipe-parameters · anchored
- impl:protocol.parameter-codec satisfies spec:consumers.agent-surface.recipe-parameters · anchored
- impl:protocol.query-params satisfies spec:consumers.agent-surface.recipe-parameters · anchored
- impl:protocol.recipe-parameters-catalog satisfies spec:consumers.agent-surface.recipe-parameters · anchored
- test:protocol.query-answer-shapes verifies spec:consumers.agent-surface.recipe-parameters · anchored
- test:protocol.query-params verifies spec:consumers.agent-surface.recipe-parameters · anchored
- test:protocol.recipe-parameters verifies spec:consumers.agent-surface.recipe-parameters · 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
- The agent front door is one evaluation sink over the exported reader
The front door is two entrances over one seam: the package exports the reader constructor, and the CLI carries a single evaluation sink that derives the graph in process, injects that same reader, and prints the body's pre-shaped return.
Runtime
component:protocol.cli· entry points, shared build and publication ·src/cli/build-command.ts:32· layer edge · context protocol Uses
component:protocol.adapters· external runtime and source adapters ·src/adapters/vitest.ts:23· layer adapter · context protocol component:protocol.codegen· contracts and registrar output ·src/codegen/contracts.ts:633· layer application · context protocol component:protocol.extract· the carrier and source pipeline ·src/extract/index.ts:192· layer application · context protocol component:protocol.graph· the one graph and its semantic decisions ·src/graph/schema.ts:34· layer domain · context protocol component:protocol.import· canonical conversion with a fidelity boundary ·src/import/import.ts:45· layer application · context protocol component:protocol.model· the authored contracts and stable ids ·src/model/anchors.ts:100· layer domain · context protocol component:protocol.projections· read-only output, layout and owned publication ·src/projections/design-review.ts:29· layer edge · context protocol component:protocol.reader· the typed graph contract and body evaluator ·src/reader/reader.ts:671· layer application · context protocol component:protocol.validate· one finding currency and ordered checks ·src/validate/validators.ts:72· layer domain · context protocol
impl:protocol.build-artifacts· the build step that writes each catalog recipe to dist/recipes and records the build commit beside the CLI ·src/cli/build-artifacts.ts:182Component:
component:protocol.cli· entry points, shared build and publication ·src/cli/build-command.ts:32· layer edge · context protocol Uses
None.
impl:protocol.parameter-codec· decodes recipe parameters and refuses duplicate keys ·src/cli/params.ts:121Component:
component:protocol.cli· entry points, shared build and publication ·src/cli/build-command.ts:32· layer edge · context protocol Uses
None.
impl:protocol.query-params· reads --params as JSON data and injects it as the sink's fourth binding, params ·src/cli/q-command.ts:71Component:
component:protocol.cli· entry points, shared build and publication ·src/cli/build-command.ts:32· layer edge · context protocol Uses
None.
impl:protocol.recipe-parameters-catalog· asserts realization of the catalog recipes that read their parameter from params ·test/recipes.test.ts:4405Uses
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:consumers.agent-surface: Agents script a visible typed graph
- spec:consumers.agent-surface.address-and-cycle-recipes: Address resolution and dependency cycles stay executable graph recipes
- spec:consumers.agent-surface.design-recipes: Design work reads its answers from catalog recipes
- spec:consumers.agent-surface.recipe-parameters: Recipes take parameters as data and ship as runnable files
- spec:consumers.design-diff: Designs are compared between a base commit and the working tree at entry grain
- spec:decisions.agent-front-door: The agent front door is one evaluation sink over the exported reader
- spec:observation.run-evidence: CI run records are joined to verifiers in a view
- spec:validation.corpus-rules: Corpus-authored rules run on the one validation path
- spec:validation.external-registers: A corpus checks the register tokens its prose cites
- spec:consumers.agent-surface.recipe-parameters decidedBy spec:decisions.agent-front-door · declared
- spec:consumers.agent-surface.recipe-parameters refines spec:consumers.agent-surface · declared
- spec:consumers.agent-surface.address-and-cycle-recipes dependsOn spec:consumers.agent-surface.recipe-parameters · declared — address resolution reads its addresses from params
- spec:consumers.agent-surface.design-recipes dependsOn spec:consumers.agent-surface.recipe-parameters · declared
- spec:consumers.design-diff dependsOn spec:consumers.agent-surface.recipe-parameters · declared — the base graph is supplied as recipe-parameter data, including the KEY=@PATH file form
- spec:observation.run-evidence dependsOn spec:consumers.agent-surface.recipe-parameters · declared — the caller passes run records to the recipe as data
- spec:validation.corpus-rules dependsOn spec:consumers.agent-surface.recipe-parameters · declared — validate takes `--params` in the sink's grammar
- spec:validation.external-registers dependsOn spec:consumers.agent-surface.recipe-parameters · declared — the register arrives as data through `--params register=@PATH`
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.
Rests on
- refines · spec:consumers.agent-surface · stated ready, floor ready
- decidedBy · spec:decisions.agent-front-door · stated ready, floor ready
Rested on by
Distance 1
- 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.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:observation.run-evidence
Implementing units
impl:protocol.run-evidence-recipe·test/recipes.test.ts:7277impl:protocol.studio-runs-page·src/projections/studio/pages/runs-page.ts:6
Referencing units
None.
Enabled verifiers: spec:observation.run-evidence.absolute-path-joins, spec:observation.run-evidence.unanchored-file-unjoined
Packs: pack:design-management-v1, pack:self-hosting-v1, pack:spec-studio-v1
- 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.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 2
- 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.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.delivery-session-on-ramp
Implementing units
impl:protocol.delivery-session-on-ramp·test/skills.test.ts:83
Referencing units
None.
Enabled verifiers: test:protocol.delivery-session-on-ramp
Packs: pack:self-hosting-v1
- spec:consumers.design-slice
Implementing units
impl:protocol.design-slice-recipe·test/self-hosting-design-slice.test.ts:148
Referencing units
impl:protocol.studio-slice-answer·src/projections/studio/slice-answer.ts:1
Enabled verifiers: spec:consumers.design-slice.chain, spec:consumers.design-slice.component-absent, spec:consumers.design-slice.component-differing, spec:consumers.design-slice.component-matching, spec:consumers.design-slice.component-unreadable, spec:consumers.design-slice.component-unrelated, spec:consumers.design-slice.decision-backlink, spec:consumers.design-slice.dependency-cycle, spec:consumers.design-slice.folded-example, spec:consumers.design-slice.independent-example, spec:consumers.design-slice.outside-components, spec:consumers.design-slice.outside-holding, spec:consumers.design-slice.outside-satisfied, spec:consumers.design-slice.outside-unbound, test:protocol.design-slice
- 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.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.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.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.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.register-input
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: pack:roadmap, pack:self-hosting-v1
- spec:consumers.spec-studio.registers
Implementing units
impl:protocol.studio-registers·src/projections/studio/pages/registers-page.ts:47
Referencing units
None.
Enabled verifiers: spec:consumers.spec-studio.registers.blocking-first
- 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.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:observation.run-evidence.absolute-path-joins
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.run-absolute
- spec:observation.run-evidence.unanchored-file-unjoined
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.run-unjoined
- 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.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.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 3
- 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.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.graph-first-planning
Implementing units
impl:protocol.graph-first-planning·test/skills.test.ts:290
Referencing units
None.
Enabled verifiers: test:protocol.graph-first-planning
Packs: pack:self-hosting-v1
- spec:consumers.intent-composition.proposal.memo
Implementing units
impl:protocol.proposal-memo-recipe·test/recipes.test.ts: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
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.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
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.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.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.diff-page.changed-entry
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-diff-changed-entry
- 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.coverage-row
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-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.registers.blocking-first
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-registers-blocking-first
- spec:consumers.spec-studio.runs-page.external-evidence
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.run-external
- 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.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.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:protocol.delivery-record-cleanup
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Packs: pack:roadmap, 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 4
- spec:consumers.intent-composition.proposal.memo.shared
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-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.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.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.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.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.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.intent-panel.refresh-keeps-intents
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-intents-refresh
- 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.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.spec-page.cited-declaration
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-cited-declaration
- 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
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.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
Distance 5
- 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.export.self-contained
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.studio-export-contained
- 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.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 6
- 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.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.upgrade-kit.capability-adoption.counts-a-corpus
Implementing units
None.
Referencing units
None.
Enabled verifiers: test:protocol.capability-adoption.counts-a-corpus
Distance 7
- 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.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.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.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.structural-mermaid
Implementing units
None.
Referencing units
None.
Enabled verifiers: None
Distance 8
- 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
Relations
| Relation and direction | Other end | Claim | Reason | Exercised keys |
|---|---|---|---|---|
| decidedBy · outgoing | The agent front door is one evaluation sink over the exported readerspec:decisions.agent-front-door · resolves | declared | None | None |
| refines · outgoing | Agents script a visible typed graphspec:consumers.agent-surface · resolves | declared | None | None |
| dependsOn · incoming | Address resolution and dependency cycles stay executable graph recipesspec:consumers.agent-surface.address-and-cycle-recipes · resolves | declared | address resolution reads its addresses from params | None |
| dependsOn · incoming | Design work reads its answers from catalog recipesspec:consumers.agent-surface.design-recipes · resolves | declared | None | None |
| dependsOn · incoming | Designs are compared between a base commit and the working tree at entry grainspec:consumers.design-diff · resolves | declared | the base graph is supplied as recipe-parameter data, including the KEY=@PATH file form | None |
| dependsOn · incoming | CI run records are joined to verifiers in a viewspec:observation.run-evidence · resolves | declared | the caller passes run records to the recipe as data | None |
| dependsOn · incoming | Corpus-authored rules run on the one validation pathspec:validation.corpus-rules · resolves | declared | validate takes --params in the sink's grammar | None |
| dependsOn · incoming | A corpus checks the register tokens its prose citesspec:validation.external-registers · resolves | declared | the register arrives as data through --params register=@PATH | None |
Bindings
Implementation binding: present
impl:protocol.build-artifacts· the build step that writes each catalog recipe to dist/recipes and records the build commit beside the CLI ·src/cli/build-artifacts.ts:182· role publisher · component component:protocol.cli· layer edge · context protocolimpl:protocol.parameter-codec· decodes recipe parameters and refuses duplicate keys ·src/cli/params.ts:121· role codec · component component:protocol.cli· layer edge · context protocolimpl:protocol.query-params· reads --params as JSON data and injects it as the sink's fourth binding, params ·src/cli/q-command.ts:71· role service · component component:protocol.cli· layer edge · context protocolimpl:protocol.recipe-parameters-catalog· asserts realization of the catalog recipes that read their parameter from params ·test/recipes.test.ts:4405
Design reference: none
Verifier binding: present
- test:protocol.query-answer-shapes · anchored ·
test/cli-q.test.ts:730· test anchor - test:protocol.query-params · front-door checks verify --params as the fourth binding and its refusals · anchored ·
test/cli-q.test.ts:509· test anchor - test:protocol.recipe-parameters · recipe checks verify parameters passed as data and the shipped recipe files · anchored ·
test/recipes.test.ts:4411· 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.