actorRecipe answers fit an agent's context and explain their misses
spec:consumers.agent-surface.answer-shapesChanged since the base graph base b5e0a8b: design.wrapIdiom; rule.floorNotEvaluated
Base input: schema 0.12.0, 456 Specs.
Packs: pack:design-iteration-v1, pack:self-hosting-v1
Design: 10 design entries · 2 pinned declarations · no decisions
Findings: no errors, no warnings
specs/consumers/agent-surface.answer-shapes.sdp.md
No open questions and no blocking questions; implementation binding present, verifier binding present, and expected-outcome oracle none.
A usability trial gave agents only the skills, the recipe catalog and sdp q and a fixed set of delivery questions. Every answer was reachable without opening a carrier or source file. The agents repeatedly met oversized answers, unexplained misses, ambiguous next-rung labels and fields whose names overstated the relations they reported.
Intent
- An agent answering a delivery question through the catalog recipes.
problem- An agent spends calls trimming oversized answers, decoding terse misses and writing the same missing body, and can repeat a recipe's label as fact when the label says more than the graph does.
outcome- Let an agent get each answer in one call that fits its context, with every miss explained.
Behavior
ruleline 25 ·specs/consumers/agent-surface.answer-shapes.sdp.md:25- Changed-file impact, Pack design, design diff and the design slice, recipes 4, 29, 35 and 54, accept
detail: trueand default to summaries preserving every total and explicitly naming omitted detail. ruleline 26 ·specs/consumers/agent-surface.answer-shapes.sdp.md:26- The guarantees recipe (recipe 3) returns each section's entries as the Spec states them and the binding fields the Spec context carries, not only the names of the sections.
ruleline 27 ·specs/consumers/agent-surface.answer-shapes.sdp.md:27- The orphans and gaps recipe (recipe 8) reports each kind the verifier-gap signal exempts and how many ready Specs it exempts, as the build backlog reports its exclusions.
ruleline 28 ·specs/consumers/agent-surface.answer-shapes.sdp.md:28- A design-backlog recipe lists the Specs stated
definedthat no code realizes, with their design columns, excluding examples and decisions as the build backlog does. rule.floorNotEvaluatedline 29 ·specs/consumers/agent-surface.answer-shapes.sdp.md:29- A recipe that reports a Spec's floor reached reports
not evaluated, nevernone, for a Spec over whose unratified kind or altitude the reader evaluates no floor, with no stated next rung and no unmet clause; readiness divergence leaves such a Spec out, and a count by floor reached counts it under anot evaluatedkey, present only when such a Spec is counted.no example exercises it
Cited at
- Test line ·
test/recipes.test.ts:8493· test:protocol.answer-shape-recipes
- Test line ·
ruleline 30 ·specs/consumers/agent-surface.answer-shapes.sdp.md:30- The catalog opens with an index, one row per recipe, and shows how to run a shipped body inside a caller's own body to filter its answer.
5 unkeyed rules.
Design
detailParameterline 34 ·specs/consumers/agent-surface.answer-shapes.sdp.md:34- recipes 4, 29, 35 and 54 read
params.detail, absent orfalsefor the summary andtruefor every row in full; recipe 29's and recipe 54'sdetailmay also be a list of member ids, which returns full rows for those members and summary rows for the rest of the Pack, and an id that is not a member is a diagnostic in the result. A summary keepstotalsas the full answer counts them and addsleftOut, one line for each kind of detail it omits. impactSummaryline 35 ·specs/consumers/agent-surface.answer-shapes.sdp.md:35{ changedFiles, totals, impactedSpecs: [id], impactedPacks: [id], atRisk: { incomingSpecs: [id], outgoingSpecs: [id], other: [id] }, coverageUnknownFiles, unlinkedUnits: [id], leftOut }is recipe 4's summary. Incoming and outgoing name the connecting edge's direction relative to the impacted node and assert no dependency, since the edge may be any type; a Spec reached both ways is listed in both, andotherholds the at-risk nodes that are not Specs.no citation recorded
impactDetailline 36 ·specs/consumers/agent-surface.answer-shapes.sdp.md:36- With
detail: true, recipe 4 returns full rows and reasons; every at-risk reason carriesdirection,incomingoroutgoing, relative to its impacted end. packDesignSummaryline 37 ·specs/consumers/agent-surface.answer-shapes.sdp.md:37{ id, specKind, statedReadiness, floorReached, statedNextRung, holds: [{ clauseId, targets: [id] }], openQuestions, blockingQuestions, implementedBy, referencedBy }is recipe 29's summary row, with counts for the last four; the summary's boundary lists ids per direction, andtotalsis unchanged.holdsis the summary ofstatedNextRungFailures, retaining eachclauseIdand target ids.no citation recorded
guaranteeShapeline 38 ·specs/consumers/agent-surface.answer-shapes.sdp.md:38- Recipe 3 returns
sectionsas the graph holds them,designColumns,packs,implementationsandreferencesin recipe 29's unit shape, with id, file, line, role and component with its layer and context, plus each verifier with itsline, relations with claims and reasons, and findings. gapExemptionsline 39 ·specs/consumers/agent-surface.answer-shapes.sdp.md:39- Recipe 8 returns
exemptionsas{ validatorId, exemptKind, readySpecs }, one row for each exempt kind, andleftOutwhen more signals exist than the 25 listed. preflightRungsline 40 ·specs/consumers/agent-surface.answer-shapes.sdp.md:40- The Spec context carries
statedNextRungwhen one exists andstatedNextRungFailures; promotion preflight reads those fields and the floor's next rung without computing a floor, and renders a missing next rung as null. designBacklogline 41 ·specs/consumers/agent-surface.answer-shapes.sdp.md:41- recipe 33, the design backlog, takes no parameter and returns
{ totals: { specs, byFamily, excludedExamples, excludedDecisions, withReferences }, rows }, each row{ id, specKind, altitude, floorReached, statedNextRungFailures: [clauseId], design: { entries, declarations, openQuestions, blockingQuestions }, referencedBy, packs }, sorted by id. catalogIndexline 42 ·specs/consumers/agent-surface.answer-shapes.sdp.md:42- the catalog opens with a table of every recipe, its number, name, parameters and a one-line use, before the contract; the build writes one file per body and none for the index.
wrapIdiomline 43 ·specs/consumers/agent-surface.answer-shapes.sdp.md:43- to filter a shipped answer, the caller calls the recipe through the
recipesbinding with only the recipe's own parameters,const answer = await recipes(<number>, { <the recipe's own parameters> });, inside its own body, and returns a filtered value, so the caller's own parameters never reach the recipe as names it does not take and the shipped body is never inlined into the caller's; the catalog shows the shell form and states that the caller's part must hold no shell expansion.
Verification
Verifier bindings
- test:protocol.answer-shape-recipes · anchored · test anchor binding present ·
test/recipes.test.ts:6290External 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 433 · Branch: fix/second-review-pass · Commit: 6375b6e431a7cf885a49befec76d7876cd3e538c · Start: 2026-11-04T07:12:23.076Z · Stop: 2026-11-04T07:15:49.695Z
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 347.71 ms pairs every documented recipe with exactly one fenced body the agent-surface recipe corpus passed 1.16 ms keeps self-hosting and adopter invocation forms distinct the agent-surface recipe corpus passed 9.11 ms teaches parameters as data and keeps the on-ramps naming the CLI verbs and recipes the agent-surface recipe corpus passed 7.47 ms names in the intro every recipe that reports an absent subject, by its shape the agent-surface recipe corpus passed 17945.92 ms keeps every body plain JavaScript with a return the agent-surface recipe corpus passed 9.24 ms runs every body through the front door without throwing the agent-surface recipe corpus passed 5571.17 ms returns the non-example build backlog and audits excluded example evidence the agent-surface recipe corpus passed 103.16 ms returns a drift alarm of code-bound specs below ready, with the floor named the agent-surface recipe corpus passed 95.49 ms returns one spec's guarantees with its relations and verifier bindings the agent-surface recipe corpus passed 71.94 ms keeps hostile changed filenames as inert JSON data the agent-surface recipe corpus passed 72.18 ms returns the complete diff-to-at-risk bridge the agent-surface recipe corpus passed 79.73 ms names a changed identity-only unit as unlinked, never coverage-unknown or dropped the agent-surface recipe corpus passed 94.38 ms returns a pack's review backbone with its verifier gaps the agent-surface recipe corpus passed 88.06 ms returns concept matches carrying the fields that matched the agent-surface recipe corpus passed 104.18 ms returns readiness divergence as an array, where empty is lawful the agent-surface recipe corpus passed 152.7 ms returns the warn-level signals as data rather than as a gate the agent-surface recipe corpus passed 106.02 ms returns promotion preflight without conferring a readiness edit the agent-surface recipe corpus passed 82.49 ms names the next rung's unmet clause and the dependency that breaks it on a probe the agent-surface recipe corpus passed 2.75 ms keeps declared examples distinct from enabled verifier bindings the agent-surface recipe corpus passed 601.6 ms returns the complete non-ready ladder grouped by family the agent-surface recipe corpus passed 155.36 ms distinguishes a passing current floor from a blocked or clear stated next rung the agent-surface recipe corpus passed 2.37 ms returns every committed structural component with non-empty membership the agent-surface recipe corpus passed 92.58 ms returns exact component uses fan-in and fan-out from the structural oracle the agent-surface recipe corpus passed 68.85 ms returns a component structural neighborhood and an exact absent shape the agent-surface recipe corpus passed 144.63 ms reports census structural coverage from graph and report ground truth the agent-surface recipe corpus passed 43.12 ms reports graph-side upper bounds for every shipped projection root the agent-surface recipe corpus passed 49.54 ms returns the architecture map of every live component with recomputed fan-in and fan-out the agent-surface recipe corpus passed 68.24 ms explains the shared policy and adapter collaborations from graph intent and binding claims the agent-surface recipe corpus passed 109.04 ms retains local uses and their claims without counting a component as its own dependency the agent-surface recipe corpus passed 151.53 ms preserves an unresolved responsibility without inventing its design the agent-surface recipe corpus passed 141.56 ms keeps a dangling component row and surfaces unresolved uses edges the agent-surface recipe corpus passed 128.33 ms preserves an unresolved architecture-map member when memberOf outlives the node the agent-surface recipe corpus passed 152.65 ms returns the decision map ranked by live shaping fan-in the agent-surface recipe corpus passed 89.38 ms returns a planning-slice neighborhood and an exact absent shape the agent-surface recipe corpus passed 177.22 ms returns non-empty bidirectional dependencies for the binding-grain planning slice the agent-surface recipe corpus passed 93.89 ms returns planning-slice implementations, never abstractions the agent-surface recipe corpus passed 80.94 ms preserves an unresolved component row when memberOf outlives the node the agent-surface recipe corpus passed 148.13 ms reports derived design columns beside the existing backlog fields the agent-surface recipe corpus passed 1.07 ms groups backlog rows under lawful Object.prototype path segments the agent-surface recipe corpus passed 78.9 ms groups lower-ladder rows under lawful Object.prototype path segments the agent-surface recipe corpus passed 94.57 ms groups decided subjects under lawful Object.prototype path segments the agent-surface recipe corpus passed 70.31 ms lists key families across the corpus in key, Spec and section order with the documented sample register recipe semantics passed 151.68 ms lists Design and UI key families without a row cap, preserving values, lines and overlapping prefixes register recipe semantics passed 10.28 ms diagnoses an unresolved Pack member without returning a partial register register recipe semantics passed 5.75 ms diagnoses malformed key-family parameters without a register: {"prefixes":[]} register recipe semantics passed 115.18 ms diagnoses malformed key-family parameters without a register: {"prefixes":[""]} register recipe semantics passed 117.85 ms diagnoses malformed key-family parameters without a register: {"prefixes":["a","a"]} register recipe semantics passed 120.41 ms diagnoses malformed key-family parameters without a register: {"prefixes":"limit"} register recipe semantics passed 85.76 ms diagnoses malformed key-family parameters without a register: {"pack":"pack:absent"} register recipe semantics passed 68.76 ms diagnoses malformed key-family parameters without a register: {"specs":["spec:absent"]} register recipe semantics passed 77.62 ms diagnoses malformed key-family parameters without a register: {"specs":"bad"} register recipe semantics passed 85.6 ms diagnoses malformed key-family parameters without a register: {"pack":"pack:self-hosting-v1","specs":[]} register recipe semantics passed 96.64 ms runs recipe 20 as written in default output register recipe semantics passed 208.35 ms runs recipe 21 as written in default output register recipe semantics passed 90.08 ms runs recipe 22 as written in default output register recipe semantics passed 282.65 ms runs recipe 23 as written in default output register recipe semantics passed 253.99 ms runs recipe 24 as written in default output register recipe semantics passed 142.3 ms runs recipe 25 as written in default output register recipe semantics passed 78.61 ms runs recipe 26 as written in default output register recipe semantics passed 87.81 ms runs recipe 27 as written in default output register recipe semantics passed 105.75 ms runs recipe 28 as written in default output register recipe semantics passed 70.47 ms runs recipe 29 as written in default output register recipe semantics passed 53.3 ms runs recipe 30 as written in default output register recipe semantics passed 110.09 ms runs recipe 31 as written in default output register recipe semantics passed 97.54 ms runs recipe 32 as written in default output register recipe semantics passed 74.78 ms renders long JSON values with the same default text bound as strings register recipe semantics passed 16.26 ms registers an omitted blocking flag through a TypeScript carrier register recipe semantics passed 5.66 ms searches coined keys of every value shape through a TypeScript carrier register recipe semantics passed 5.39 ms searches strings inside a matching coined list or object key register recipe semantics passed 4.88 ms searches a null coined-key value in the reader graph register recipe semantics passed 3.93 ms keeps register counts under totals and top-level plural nouns as arrays register recipe semantics passed 1329.95 ms pins whole-token matching for 'retry' in 'entry' / 'retry' register recipe semantics passed 1.45 ms pins whole-token matching for 'retry' in 'entry' / 'retryable' register recipe semantics passed 0.5 ms pins whole-token matching for 'retry' in 'entry' / 'retry-worker' register recipe semantics passed 0.49 ms pins whole-token matching for 'retry' in 'retryWorker' / 'unrelated' register recipe semantics passed 0.45 ms pins whole-token matching for 'Retry' in 'entry' / 'RETRY.' register recipe semantics passed 0.47 ms pins whole-token matching for 'retry worker' in 'retryWorker' / 'retry-worker' register recipe semantics passed 0.44 ms pins whole-token matching for 'retry worker' in 'entry' / 'worker retry' register recipe semantics passed 0.53 ms pins whole-token matching for 'retry worker' in 'entry' / 'retry the worker' register recipe semantics passed 0.44 ms pins whole-token matching for 'server' in 'entry' / 'HTTPServer' register recipe semantics passed 0.49 ms pins whole-token matching for 'v' in 'entry' / 'v2' register recipe semantics passed 0.57 ms registers every authored question, blocking Specs first register recipe semantics passed 210.97 ms reports one-hop footing of all four types, including unresolved targets register recipe semantics passed 284.71 ms audits mention pairs, skips fences, and preserves full ids and direction register recipe semantics passed 3.94 ms resolves entry mentions and retains every token and pair location through a probe root register recipe semantics passed 9.06 ms reads the whole mention token through an underscore as malformed, never the existing prefix register recipe semantics passed 1.58 ms reads the whole mention token through a slash as malformed, never the existing prefix register recipe semantics passed 0.9 ms reads the whole mention token through a comma as malformed, never the existing prefix register recipe semantics passed 0.82 ms reads the whole mention token through an underscore and a letter as malformed, never the existing prefix register recipe semantics passed 0.75 ms reads the whole mention token through a slash and a letter as malformed, never the existing prefix register recipe semantics passed 0.73 ms reads the whole mention token through a comma and a letter as malformed, never the existing prefix register recipe semantics passed 0.76 ms reads the whole mention token through a letter outside ASCII as malformed, never the existing prefix register recipe semantics passed 0.71 ms reads the whole mention token through an escaped underscore as malformed, never the existing prefix register recipe semantics passed 0.76 ms reads the whole mention token through a combining mark as malformed, never the existing prefix register recipe semantics passed 1.57 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.81 ms reads the whole mention token through a zero-width space as malformed, never the existing prefix register recipe semantics passed 0.77 ms reads the whole mention token through fullwidth connector punctuation as malformed, never the existing prefix register recipe semantics passed 0.76 ms reads the whole mention token through a NUL as malformed, never the existing prefix register recipe semantics passed 0.76 ms reads the whole mention token through an escape character as malformed, never the existing prefix register recipe semantics passed 0.78 ms reads the whole mention token through a delete character as malformed, never the existing prefix register recipe semantics passed 0.76 ms reads the whole mention token through a C1 control character as malformed, never the existing prefix register recipe semantics passed 0.73 ms reads the whole mention token through a hyphenated entry key as malformed, never the existing prefix register recipe semantics passed 0.83 ms reads the whole mention token through an entry suffix with no key as malformed, never the existing prefix register recipe semantics passed 0.74 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.74 ms reads the clean id through Markdown punctuation: a sentence dot register recipe semantics passed 0.79 ms reads the clean id through Markdown punctuation: a comma register recipe semantics passed 0.71 ms reads the clean id through Markdown punctuation: a colon register recipe semantics passed 0.74 ms reads the clean id through Markdown punctuation: a closing parenthesis register recipe semantics passed 0.71 ms reads the clean id through Markdown punctuation: bold register recipe semantics passed 0.73 ms reads the clean id through Markdown punctuation: emphasis register recipe semantics passed 0.72 ms reads the clean id through Markdown punctuation: strikethrough register recipe semantics passed 0.7 ms reads the clean id through Markdown punctuation: backticks register recipe semantics passed 0.68 ms reads the clean id through Markdown punctuation: ASCII double quotes register recipe semantics passed 0.75 ms reads the clean id through Markdown punctuation: ASCII single quotes register recipe semantics passed 0.75 ms reads the clean id through Markdown punctuation: typographic double quotes register recipe semantics passed 0.72 ms reads the clean id through Markdown punctuation: typographic single quotes register recipe semantics passed 0.72 ms reads the clean id through Markdown punctuation: an em dash register recipe semantics passed 0.71 ms reads the clean id through Markdown punctuation: an en dash register recipe semantics passed 0.76 ms reads the clean id through Markdown punctuation: an ellipsis register recipe semantics passed 0.69 ms reads the clean id through Markdown punctuation: an escaped star register recipe semantics passed 0.73 ms reads the clean id through Markdown punctuation: an escaped exclamation mark register recipe semantics passed 0.75 ms reads the clean id through Markdown punctuation: U+0085 register recipe semantics passed 0.77 ms reads the clean id through Markdown punctuation: a no-break space register recipe semantics passed 0.75 ms reads the clean id through Markdown punctuation: a tab register recipe semantics passed 0.74 ms reads the clean id through Markdown punctuation: an arrow register recipe semantics passed 0.74 ms reads a placeholder or a bare prefix as prose, not a mention register recipe semantics passed 0.8 ms scans nested arrays in examples while skipping object fences by position register recipe semantics passed 1.65 ms addresses only lawful Design and UI entry keys in search results register recipe semantics passed 3.93 ms scopes mentions by the mentioning Spec only register recipe semantics passed 5.15 ms reports malformed open questions without counting them: "one question" register recipe semantics passed 0.77 ms reports malformed open questions without counting them: {} register recipe semantics passed 0.5 ms reports malformed open questions without counting them: 42 register recipe semantics passed 0.52 ms reports malformed open questions without counting them: {"blocking":true} register recipe semantics passed 0.48 ms reports malformed open questions without counting them: null register recipe semantics passed 0.44 ms reports malformed open questions without counting them: "" register recipe semantics passed 0.51 ms reports malformed open questions without counting them: {"question":"valid","blocking":"yes"} register recipe semantics passed 0.53 ms reports malformed open questions without counting them: {"question":"valid","blocking":null} register recipe semantics passed 0.5 ms reports malformed open questions without counting them: {"question":"valid"} register recipe semantics passed 0.69 ms reports an off-grammar question key as malformed: {"question":"valid","key":"AggregateReach"} register recipe semantics passed 0.91 ms reports an off-grammar question key as malformed: {"question":"valid","key":"aggregate-reach"} register recipe semantics passed 0.54 ms reports an off-grammar question key as malformed: {"question":"valid","key":""} register recipe semantics passed 0.49 ms reports an off-grammar question key as malformed: {"question":"valid","key":7} register recipe semantics passed 0.47 ms reports an off-grammar question key as malformed: {"question":"valid","key":null} register recipe semantics passed 0.48 ms reports an off-grammar question key as malformed: {"question":"valid","blocking":true} register recipe semantics passed 0.48 ms searches whole tokens, coined keys, narrative and fence steps register recipe semantics passed 15.03 ms lists every pinned declaration this corpus holds register recipe semantics passed 332.15 ms reads spans of any run length and skips every entry that pins nothing register recipe semantics passed 1.2 ms resolves the catalog's addresses on this corpus as written address resolution and dependency cycles passed 144.03 ms reports this corpus's dependency cycles as an independent reachability check finds them address resolution and dependency cycles passed 135.68 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 8.4 ms reports a self-loop inside a larger set only with that set address resolution and dependency cycles passed 5.25 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 4.63 ms walks a chain of 10,000 Specs and one cycle of 5,000 without recursing address resolution and dependency cycles passed 370.04 ms resolves an inherited property name only where the Spec authors it as a key address resolution and dependency cycles passed 5.88 ms resolves the design's probe addresses with one row and one reason each address resolution and dependency cycles passed 9.51 ms resolves a keyed question, refuses description in Design and UI, and keeps repeats address resolution and dependency cycles passed 12.59 ms registers a keyed question with its key and an unkeyed one with a null key address resolution and dependency cycles passed 3.75 ms audits a question address against the target's open question keys address resolution and dependency cycles passed 3.92 ms addresses a keyed question's text and matches its key, never the key as a row address resolution and dependency cycles passed 7.23 ms returns one row per Studio member with four independent facts design references and the architecture taxonomy passed 154.03 ms lists a referencing unit beside the realizing units without conferring implemented design references and the architecture taxonomy passed 194.78 ms lists the reader beside each Studio member that depends on it, with its realizing units design references and the architecture taxonomy passed 107.85 ms derives builds-on from the member's relations without conferring a fact on it design references and the architecture taxonomy passed 327.99 ms returns the role, layer, and context taxonomy from the code units alone design references and the architecture taxonomy passed 78.63 ms counts references as edges apart from the units that carry them design references and the architecture taxonomy passed 149.05 ms creates each taxonomy bucket once, however many units share the value design references and the architecture taxonomy passed 113.29 ms declares and checks only its indexed parameter names first: 1 recipe parameters and the shipped recipe files passed 1.07 ms declares and checks only its indexed parameter names first: 2 recipe parameters and the shipped recipe files passed 3.95 ms declares and checks only its indexed parameter names first: 3 recipe parameters and the shipped recipe files passed 0.89 ms declares and checks only its indexed parameter names first: 4 recipe parameters and the shipped recipe files passed 0.75 ms declares and checks only its indexed parameter names first: 5 recipe parameters and the shipped recipe files passed 0.79 ms declares and checks only its indexed parameter names first: 6 recipe parameters and the shipped recipe files passed 0.7 ms declares and checks only its indexed parameter names first: 7 recipe parameters and the shipped recipe files passed 0.7 ms declares and checks only its indexed parameter names first: 8 recipe parameters and the shipped recipe files passed 0.68 ms declares and checks only its indexed parameter names first: 9 recipe parameters and the shipped recipe files passed 0.79 ms declares and checks only its indexed parameter names first: 10 recipe parameters and the shipped recipe files passed 0.75 ms declares and checks only its indexed parameter names first: 11 recipe parameters and the shipped recipe files passed 0.68 ms declares and checks only its indexed parameter names first: 12 recipe parameters and the shipped recipe files passed 0.65 ms declares and checks only its indexed parameter names first: 13 recipe parameters and the shipped recipe files passed 0.84 ms declares and checks only its indexed parameter names first: 14 recipe parameters and the shipped recipe files passed 0.72 ms declares and checks only its indexed parameter names first: 15 recipe parameters and the shipped recipe files passed 0.73 ms declares and checks only its indexed parameter names first: 16 recipe parameters and the shipped recipe files passed 0.66 ms declares and checks only its indexed parameter names first: 17 recipe parameters and the shipped recipe files passed 0.69 ms declares and checks only its indexed parameter names first: 18 recipe parameters and the shipped recipe files passed 0.7 ms declares and checks only its indexed parameter names first: 19 recipe parameters and the shipped recipe files passed 0.7 ms declares and checks only its indexed parameter names first: 20 recipe parameters and the shipped recipe files passed 0.73 ms declares and checks only its indexed parameter names first: 21 recipe parameters and the shipped recipe files passed 0.7 ms declares and checks only its indexed parameter names first: 22 recipe parameters and the shipped recipe files passed 0.81 ms declares and checks only its indexed parameter names first: 23 recipe parameters and the shipped recipe files passed 0.65 ms declares and checks only its indexed parameter names first: 24 recipe parameters and the shipped recipe files passed 0.65 ms declares and checks only its indexed parameter names first: 25 recipe parameters and the shipped recipe files passed 0.69 ms declares and checks only its indexed parameter names first: 26 recipe parameters and the shipped recipe files passed 0.67 ms declares and checks only its indexed parameter names first: 27 recipe parameters and the shipped recipe files passed 0.72 ms declares and checks only its indexed parameter names first: 28 recipe parameters and the shipped recipe files passed 0.7 ms declares and checks only its indexed parameter names first: 29 recipe parameters and the shipped recipe files passed 0.64 ms declares and checks only its indexed parameter names first: 30 recipe parameters and the shipped recipe files passed 0.69 ms declares and checks only its indexed parameter names first: 31 recipe parameters and the shipped recipe files passed 0.66 ms declares and checks only its indexed parameter names first: 32 recipe parameters and the shipped recipe files passed 0.67 ms declares and checks only its indexed parameter names first: 33 recipe parameters and the shipped recipe files passed 0.69 ms declares and checks only its indexed parameter names first: 34 recipe parameters and the shipped recipe files passed 0.69 ms declares and checks only its indexed parameter names first: 35 recipe parameters and the shipped recipe files passed 0.73 ms declares and checks only its indexed parameter names first: 36 recipe parameters and the shipped recipe files passed 0.71 ms declares and checks only its indexed parameter names first: 37 recipe parameters and the shipped recipe files passed 0.72 ms declares and checks only its indexed parameter names first: 38 recipe parameters and the shipped recipe files passed 0.71 ms declares and checks only its indexed parameter names first: 39 recipe parameters and the shipped recipe files passed 0.67 ms declares and checks only its indexed parameter names first: 40 recipe parameters and the shipped recipe files passed 0.72 ms declares and checks only its indexed parameter names first: 41 recipe parameters and the shipped recipe files passed 0.7 ms declares and checks only its indexed parameter names first: 42 recipe parameters and the shipped recipe files passed 0.72 ms declares and checks only its indexed parameter names first: 43 recipe parameters and the shipped recipe files passed 0.68 ms declares and checks only its indexed parameter names first: 44 recipe parameters and the shipped recipe files passed 0.72 ms declares and checks only its indexed parameter names first: 45 recipe parameters and the shipped recipe files passed 0.69 ms declares and checks only its indexed parameter names first: 46 recipe parameters and the shipped recipe files passed 0.7 ms declares and checks only its indexed parameter names first: 47 recipe parameters and the shipped recipe files passed 0.84 ms declares and checks only its indexed parameter names first: 48 recipe parameters and the shipped recipe files passed 0.92 ms declares and checks only its indexed parameter names first: 49 recipe parameters and the shipped recipe files passed 2.47 ms declares and checks only its indexed parameter names first: 50 recipe parameters and the shipped recipe files passed 0.71 ms declares and checks only its indexed parameter names first: 51 recipe parameters and the shipped recipe files passed 0.78 ms declares and checks only its indexed parameter names first: 52 recipe parameters and the shipped recipe files passed 0.75 ms declares and checks only its indexed parameter names first: 53 recipe parameters and the shipped recipe files passed 0.77 ms declares and checks only its indexed parameter names first: 54 recipe parameters and the shipped recipe files passed 0.79 ms declares and checks only its indexed parameter names first: 55 recipe parameters and the shipped recipe files passed 0.57 ms returns only the unknown-name answer before reading recipe inputs: 1 recipe parameters and the shipped recipe files passed 151.42 ms returns only the unknown-name answer before reading recipe inputs: 2 recipe parameters and the shipped recipe files passed 99.8 ms returns only the unknown-name answer before reading recipe inputs: 3 recipe parameters and the shipped recipe files passed 94.88 ms returns only the unknown-name answer before reading recipe inputs: 4 recipe parameters and the shipped recipe files passed 78.11 ms returns only the unknown-name answer before reading recipe inputs: 5 recipe parameters and the shipped recipe files passed 129.91 ms returns only the unknown-name answer before reading recipe inputs: 6 recipe parameters and the shipped recipe files passed 72.98 ms returns only the unknown-name answer before reading recipe inputs: 7 recipe parameters and the shipped recipe files passed 52.12 ms returns only the unknown-name answer before reading recipe inputs: 8 recipe parameters and the shipped recipe files passed 47.06 ms returns only the unknown-name answer before reading recipe inputs: 9 recipe parameters and the shipped recipe files passed 59.69 ms returns only the unknown-name answer before reading recipe inputs: 10 recipe parameters and the shipped recipe files passed 44.39 ms returns only the unknown-name answer before reading recipe inputs: 11 recipe parameters and the shipped recipe files passed 41.15 ms returns only the unknown-name answer before reading recipe inputs: 12 recipe parameters and the shipped recipe files passed 49.01 ms returns only the unknown-name answer before reading recipe inputs: 13 recipe parameters and the shipped recipe files passed 76.68 ms returns only the unknown-name answer before reading recipe inputs: 14 recipe parameters and the shipped recipe files passed 69.28 ms returns only the unknown-name answer before reading recipe inputs: 15 recipe parameters and the shipped recipe files passed 65.6 ms returns only the unknown-name answer before reading recipe inputs: 16 recipe parameters and the shipped recipe files passed 70.26 ms returns only the unknown-name answer before reading recipe inputs: 17 recipe parameters and the shipped recipe files passed 68.75 ms returns only the unknown-name answer before reading recipe inputs: 18 recipe parameters and the shipped recipe files passed 66.85 ms returns only the unknown-name answer before reading recipe inputs: 19 recipe parameters and the shipped recipe files passed 67.85 ms returns only the unknown-name answer before reading recipe inputs: 20 recipe parameters and the shipped recipe files passed 70.64 ms returns only the unknown-name answer before reading recipe inputs: 21 recipe parameters and the shipped recipe files passed 70.42 ms returns only the unknown-name answer before reading recipe inputs: 22 recipe parameters and the shipped recipe files passed 45.93 ms returns only the unknown-name answer before reading recipe inputs: 23 recipe parameters and the shipped recipe files passed 54.35 ms returns only the unknown-name answer before reading recipe inputs: 24 recipe parameters and the shipped recipe files passed 55.46 ms returns only the unknown-name answer before reading recipe inputs: 25 recipe parameters and the shipped recipe files passed 66.49 ms returns only the unknown-name answer before reading recipe inputs: 26 recipe parameters and the shipped recipe files passed 67.41 ms returns only the unknown-name answer before reading recipe inputs: 27 recipe parameters and the shipped recipe files passed 74.21 ms returns only the unknown-name answer before reading recipe inputs: 28 recipe parameters and the shipped recipe files passed 77.67 ms returns only the unknown-name answer before reading recipe inputs: 29 recipe parameters and the shipped recipe files passed 74.39 ms returns only the unknown-name answer before reading recipe inputs: 30 recipe parameters and the shipped recipe files passed 50.84 ms returns only the unknown-name answer before reading recipe inputs: 31 recipe parameters and the shipped recipe files passed 45.21 ms returns only the unknown-name answer before reading recipe inputs: 32 recipe parameters and the shipped recipe files passed 41.53 ms returns only the unknown-name answer before reading recipe inputs: 33 recipe parameters and the shipped recipe files passed 43.22 ms returns only the unknown-name answer before reading recipe inputs: 34 recipe parameters and the shipped recipe files passed 53 ms returns only the unknown-name answer before reading recipe inputs: 35 recipe parameters and the shipped recipe files passed 41.84 ms returns only the unknown-name answer before reading recipe inputs: 36 recipe parameters and the shipped recipe files passed 55.89 ms returns only the unknown-name answer before reading recipe inputs: 37 recipe parameters and the shipped recipe files passed 64.67 ms returns only the unknown-name answer before reading recipe inputs: 38 recipe parameters and the shipped recipe files passed 71.51 ms returns only the unknown-name answer before reading recipe inputs: 39 recipe parameters and the shipped recipe files passed 65.82 ms returns only the unknown-name answer before reading recipe inputs: 40 recipe parameters and the shipped recipe files passed 41.37 ms returns only the unknown-name answer before reading recipe inputs: 41 recipe parameters and the shipped recipe files passed 68.45 ms returns only the unknown-name answer before reading recipe inputs: 42 recipe parameters and the shipped recipe files passed 42.35 ms returns only the unknown-name answer before reading recipe inputs: 43 recipe parameters and the shipped recipe files passed 46.61 ms returns only the unknown-name answer before reading recipe inputs: 44 recipe parameters and the shipped recipe files passed 66.35 ms returns only the unknown-name answer before reading recipe inputs: 45 recipe parameters and the shipped recipe files passed 83.38 ms returns only the unknown-name answer before reading recipe inputs: 46 recipe parameters and the shipped recipe files passed 50.91 ms returns only the unknown-name answer before reading recipe inputs: 47 recipe parameters and the shipped recipe files passed 58.14 ms returns only the unknown-name answer before reading recipe inputs: 48 recipe parameters and the shipped recipe files passed 75.1 ms returns only the unknown-name answer before reading recipe inputs: 49 recipe parameters and the shipped recipe files passed 75.18 ms returns only the unknown-name answer before reading recipe inputs: 50 recipe parameters and the shipped recipe files passed 68.46 ms returns only the unknown-name answer before reading recipe inputs: 51 recipe parameters and the shipped recipe files passed 77.74 ms returns only the unknown-name answer before reading recipe inputs: 52 recipe parameters and the shipped recipe files passed 109.23 ms returns only the unknown-name answer before reading recipe inputs: 53 recipe parameters and the shipped recipe files passed 97.4 ms returns only the unknown-name answer before reading recipe inputs: 54 recipe parameters and the shipped recipe files passed 60.38 ms returns only the unknown-name answer before reading recipe inputs: 55 recipe parameters and the shipped recipe files passed 43.34 ms diagnoses wrong subject names, mixed known names and ordered unknown names through shipped bodies recipe parameters and the shipped recipe files passed 134.31 ms reads and names each parameter, with a fallback only when the contract supplies one recipe parameters and the shipped recipe files passed 12.38 ms ships every catalog body as dist/recipes/NN-slug.js, byte for byte recipe parameters and the shipped recipe files passed 5.52 ms runs every shipped file, read whole, to the answer its catalog body gives recipe parameters and the shipped recipe files passed 12721.33 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 2.33 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 39.29 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 1.22 ms passes recipe 4 its changed files from a file named with @PATH recipe parameters and the shipped recipe files passed 74 ms resolves the addresses recipe 25 receives as data recipe parameters and the shipped recipe files passed 146.21 ms reads the Pack the Pack recipes review from params.pack recipe parameters and the shipped recipe files passed 441.46 ms returns the Pack design of every corpus Pack as the raw graph states it design recipes passed 1588.66 ms returns the probe Pack's design exactly, member by member design recipes passed 15.18 ms reaches every Spec resting on the corpus sample, by a shortest path of real edges design recipes passed 670.57 ms walks a dependency chain inbound only, once per Spec, and keeps a reference apart design recipes passed 2.65 ms registers every corpus decision with its supersession, subjects and keyed questions design recipes passed 135.86 ms registers a supersedes pair both ways and a decision that shapes nothing design recipes passed 1.84 ms carries a relation's reason beside the relation in recipes 3, 19, 21 and 31 design recipes passed 2.1 ms registers narrowing decisions both ways and excludes refinement by other kinds design recipes passed 0.8 ms keeps the decoder in reader without adding crossings against the lawful notation alternative design recipes passed 173.94 ms reports the corpus's architecture crossings as the raw edges state them design recipes passed 95.43 ms names a crossing of two contexts and of two layers, and skips what cannot cross design recipes passed 2.23 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 204.83 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 312.43 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 5.24 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 4.35 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 9.48 ms counts equal layers and contexts between distinct components even without crossings answers that fit passed 0.66 ms returns guarantee entries and complete unit and verifier locations from context answers that fit passed 10.03 ms reports directions relative to an impacted Pack answers that fit passed 1.11 ms indexes exactly the present recipes with names, parameters and uses answers that fit passed 13.33 ms runs a shipped body wrapped inside a caller's filter answers that fit passed 203.37 ms keeps impact totals and puts both edge directions in the summary answers that fit passed 2.62 ms keeps the reader's Pack value in summary, full and selected-member answers answers that fit passed 10.24 ms reports both next rungs when the stated rung is below the floor answers that fit passed 0.87 ms reports no next rung at ready answers that fit passed 77.7 ms reports gap exemptions and every omitted warning beyond the first 25 answers that fit passed 2.11 ms lists only defined unimplemented designs and keeps exclusions and references answers that fit passed 1.46 ms registers fields and counts deferrals apart from design holds authoring grammar recipes passed 5.1 ms lists intended mentions apart and preserves the validator's warnings authoring grammar recipes passed 7.61 ms matches rule keys beside their text without searching the derived map authoring grammar recipes passed 3.65 ms locates unkeyed rule text and question field text authoring grammar recipes passed 4.12 ms resolves rule addresses and preserves every parsed part of a miss authoring grammar recipes passed 4.74 ms counts rule coverage from bound examples and reports unbound intent beside it authoring grammar recipes passed 4.46 ms reports missing rule-coverage scopes and accepts a scope with no rules authoring grammar recipes passed 4.75 ms runs the catalog body in the evaluator without a module loader entry citations recipe passed 1.14 ms orders a declaration's citing files and lines independently of input order entry citations recipe passed 0.76 ms joins declarations and other cited entries, including uncited declarations entry citations recipe passed 1.06 ms includes absent Specs and malformed tokens only in the corpus unresolved list entry citations recipe passed 1.67 ms returns diagnostics without findings for {"pack":"pack:missing"} entry citations recipe passed 1.02 ms returns diagnostics without findings for {"specs":["spec:missing"]} entry citations recipe passed 0.54 ms returns diagnostics without findings for {"specs":"spec:probe.cited"} entry citations recipe passed 0.4 ms returns diagnostics without findings for {"pack":"pack:probe.citations","specs":[]} entry citations recipe passed 0.47 ms returns diagnostics without findings for {"severity":"fatal"} entry citations recipe passed 0.46 ms returns diagnostics without findings for {"severity":null} entry citations recipe passed 0.58 ms reads an absent table as empty, and accepts an empty Spec scope entry citations recipe passed 0.76 ms adds recorded component fields, references, member roles and exact crossing-use counts Studio architecture and example-space recipe additions passed 108.23 ms runs shipped recipe 44 over every decoded space and refuses bad scopes Studio architecture and example-space recipe additions passed 436.1 ms runs recipe 45 as shipped and reports missing and malformed CTRF metadata not recorded passed 975.45 ms recipe 49 renders the panel memo from its catalog body and refuses a malformed document not recorded passed 136.36 ms reports text-preserving rule and flow key changes apart from rewording not recorded passed 11.24 ms preserves a removed keyed rule address beside new unkeyed text not recorded passed 3.26 ms preserves a removed keyed flow address beside new unkeyed text not recorded passed 2.9 ms distinguishes removed unkeyed rule base positions from head positions not recorded passed 4.28 ms distinguishes removed unkeyed flow base positions from head positions not recorded passed 3.47 ms retains every diamond edge and intermediate node while counting each descendant once the capability map recipe passed 1.37 ms returns summary/full parity with explicit omissions for scope {} the capability map recipe passed 2.6 ms returns summary/full parity with explicit omissions for scope {"epic":"spec:probe.epic"} the capability map recipe passed 2.07 ms normalizes prose and unflagged questions while preserving authored indices the capability map recipe passed 0.62 ms retains null titles in serialized node and epic rows when a title degrades the capability map recipe passed 4.62 ms reports a self-refining epic as a cycle without making it its own parent epic the capability map recipe passed 0.54 ms uses the outside unreached parent as root rather than its child cycle group the capability map recipe passed 0.7 ms selects an epic of kind behavior without changing its kind the capability map recipe passed 3.01 ms selects an epic of kind workflow without changing its kind the capability map recipe passed 0.47 ms selects an epic of kind example without changing its kind the capability map recipe passed 0.44 ms selects an epic of kind rule without changing its kind the capability map recipe passed 0.42 ms selects an epic of kind constraint without changing its kind the capability map recipe passed 0.39 ms selects an epic of kind model without changing its kind the capability map recipe passed 1.72 ms selects an epic of kind decision without changing its kind the capability map recipe passed 0.44 ms selects an epic of kind contract without changing its kind the capability map recipe passed 0.39 ms reads node evidence and ordered questions directly, including examples and decisions as parents the capability map recipe passed 1.02 ms represents a missing floor as none and keeps the epic's evidence outside its rollup the capability map recipe passed 0.63 ms counts stated rungs separately from reached floors without lending a bound example's facts to its epic the capability map recipe passed 1.44 ms keeps nested and overlapping memberships and outside parents when selecting one epic the capability map recipe passed 1.97 ms traverses only declared refinement and never infers ancestry from other graph structure the capability map recipe passed 1.01 ms reports cycles, self-links and unresolved or non-Spec endpoints separately from parameter failures the capability map recipe passed 1.06 ms limits damage to edges touching a selected epic scope and terminates reached cycles the capability map recipe passed 0.73 ms keeps overlapping unreached root scopes unique and exposes an empty corpus the capability map recipe passed 0.88 ms refuses invalid parameters without a map: { epic: null } the capability map recipe passed 0.37 ms refuses invalid parameters without a map: { epic: 1 } the capability map recipe passed 0.24 ms refuses invalid parameters without a map: { epic: [] } the capability map recipe passed 0.23 ms refuses invalid parameters without a map: { epic: 'spec:probe.absent' } the capability map recipe passed 0.23 ms refuses invalid parameters without a map: { epic: 'spec:probe.plain' } the capability map recipe passed 0.23 ms refuses invalid parameters without a map: { epic: 'impl:probe.non-spec' } the capability map recipe passed 0.24 ms refuses invalid parameters without a map: { detail: 'true' } the capability map recipe passed 0.25 ms refuses invalid parameters without a map: { detail: 1 } the capability map recipe passed 0.25 ms refuses invalid parameters without a map: { detail: null } the capability map recipe passed 0.23 ms refuses invalid parameters without a map: { epic: 1, detail: 'x' } the capability map recipe passed 0.36 ms checks unknown names before known values the capability map recipe passed 0.27 ms answers deterministically in code-unit id order even when graph arrays are reversed the capability map recipe passed 2.67 ms reaches every Spec from the intended epic owners while preserving kinds and overlapping refinement the Protocol's capability epics passed 289.79 ms keeps refinement and dependency from spec:extraction.build-pipeline to spec:extraction.derive-graph the Protocol's capability epics passed 3.15 ms keeps refinement and dependency from spec:validation.corpus-rules to spec:consumers.agent-surface the Protocol's capability epics passed 4.73 ms keeps refinement and dependency from spec:validation.architecture-constraints to spec:validation.corpus-rules the Protocol's capability epics passed 3.4 ms keeps refinement and dependency from spec:validation.external-registers to spec:validation.corpus-rules the Protocol's capability epics passed 3.44 ms keeps every ready statement at the ready floor and leaves the drift alarm empty the Protocol's capability epics passed 124.24 ms runs the catalog body over the arc Pack through the CLI and keeps its summary totals the shipped design slice passed 704.67 ms runs the roadmap and its memo from the catalog over a named Pack not recorded passed 633.93 ms pins the adopter roadmap and its forward memo over the worked example not recorded passed 45.46 ms is left out of readiness divergence rather than read as below idea a floor the reader does not evaluate passed 1.64 ms answers promotion preflight as not evaluated, with no floor reading to pass or fail a floor the reader does not evaluate passed 3.22 ms labels the lower ladder and names no next rung nothing blocks a floor the reader does not evaluate passed 2.14 ms reads as not evaluated in every recipe row that reports the floor reached a floor the reader does not evaluate passed 26.36 ms counts it in the capability map's totals and rollups, beside an unratified kind or altitude a floor the reader does not evaluate passed 9.56 ms counts a footing target it holds in dependency footing's totals a floor the reader does not evaluate passed 2.52 ms puts the roadmap entries to design and renders their memo rows as not evaluated a floor the reader does not evaluate passed 10.11 ms counts foreign readiness done as unratified without changing structural buckets dependency footing with unratified stated readiness passed 31.37 ms counts foreign readiness __proto__ as unratified without changing structural buckets dependency footing with unratified stated readiness passed 35.24 ms counts foreign readiness constructor as unratified without changing structural buckets dependency footing with unratified stated readiness passed 30.09 ms counts foreign readiness unresolved as unratified without changing structural buckets dependency footing with unratified stated readiness passed 30.18 ms counts foreign readiness nonSpec as unratified without changing structural buckets dependency footing with unratified stated readiness passed 26.98 ms counts foreign readiness constructor without losing a member or decision recipe 5 readiness tallies with foreign values passed 29.17 ms counts foreign readiness __proto__ without losing a member or decision recipe 5 readiness tallies with foreign values passed 35.65 ms counts foreign readiness done without losing a member or decision recipe 5 readiness tallies with foreign values passed 29.18 ms counts foreign readiness constructor without losing a member or decision recipe 31 readiness tallies with foreign values passed 43.66 ms counts foreign readiness __proto__ without losing a member or decision recipe 31 readiness tallies with foreign values passed 26.24 ms counts foreign readiness done without losing a member or decision recipe 31 readiness tallies with foreign values passed 33.54 ms
Design view
Requirement drawing
- Declared verifying examples: no declared verifying example.
The diagram as text
- spec:consumers.agent-surface.answer-shapes: Recipe answers fit an agent's context and explain their misses · declared Spec
- spec:consumers.agent-surface: Agents script a visible typed graph · declared Spec
- impl:protocol.answer-shape-recipes: asserts realization of the catalog's compact and detailed answers · anchored code ·
test/recipes.test.ts:6284 - impl:protocol.authoring-grammar-recipes: asserts the authoring grammar's realization in docs/agent-surface/recipes.md · anchored code ·
test/recipes.test.ts:6667 - impl:protocol.reader: typed graph queries, entry adapters and context joins · anchored code ·
src/reader/reader.ts:713 - test:protocol.answer-shape-recipes: test:protocol.answer-shape-recipes · anchored test binding · binding present ·
test/recipes.test.ts:6290 - spec:consumers.agent-surface.answer-shapes refines spec:consumers.agent-surface · declared
- impl:protocol.answer-shape-recipes satisfies spec:consumers.agent-surface.answer-shapes · anchored
- impl:protocol.authoring-grammar-recipes references spec:consumers.agent-surface.answer-shapes · anchored
- impl:protocol.reader references spec:consumers.agent-surface.answer-shapes · anchored
- test:protocol.answer-shape-recipes verifies spec:consumers.agent-surface.answer-shapes · anchored
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: requirementDiagram. Chosen syntax: flowchart TB because references require exact labels unavailable in requirement syntax.
Decisions
No decision record named.
Runtime
impl:protocol.answer-shape-recipes· asserts realization of the catalog's compact and detailed answers ·test/recipes.test.ts:6284Uses
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.answer-shapes: Recipe answers fit an agent's context and explain their misses
- spec:consumers.agent-surface.design-recipes: Design work reads its answers from catalog recipes
- spec:consumers.agent-surface.evaluation-sink: The evaluation sink runs one body and prints its return
- spec:consumers.agent-surface.answer-shapes dependsOn spec:consumers.agent-surface.design-recipes · declared
- spec:consumers.agent-surface.answer-shapes dependsOn spec:consumers.agent-surface.evaluation-sink · declared — a caller runs a shipped body, and wraps it in its own body, through the evaluation sink
- spec:consumers.agent-surface.answer-shapes refines spec:consumers.agent-surface · declared
Mermaid source
Copyable source; the Studio draws static SVG.
Preferred syntax: flowchart. Chosen syntax: labelled flowchart, preserving exact relations, claims and folds.
Rests on
- refines · spec:consumers.agent-surface · stated ready, floor ready
- dependsOn · spec:consumers.agent-surface.design-recipes · stated ready, floor ready
- dependsOn · spec:consumers.agent-surface.evaluation-sink · stated ready, floor ready
Rested on by
No Spec rests on this Spec.
Relations
| Relation and direction | Other end | Claim | Reason | Exercised keys |
|---|---|---|---|---|
| dependsOn · outgoing | Design work reads its answers from catalog recipesspec:consumers.agent-surface.design-recipes · resolves | declared | None | None |
| dependsOn · outgoing | The evaluation sink runs one body and prints its returnspec:consumers.agent-surface.evaluation-sink · resolves | declared | a caller runs a shipped body, and wraps it in its own body, through the evaluation sink | None |
| refines · outgoing | Agents script a visible typed graphspec:consumers.agent-surface · resolves | declared | None | None |
Bindings
Implementation binding: present
impl:protocol.answer-shape-recipes· asserts realization of the catalog's compact and detailed answers ·test/recipes.test.ts:6284
Design reference: present
impl:protocol.authoring-grammar-recipes· asserts the authoring grammar's realization in docs/agent-surface/recipes.md ·test/recipes.test.ts:6667impl:protocol.reader· typed graph queries, entry adapters and context joins ·src/reader/reader.ts:713· role reader · component component:protocol.reader· layer application · context protocol
Verifier binding: present
- test:protocol.answer-shape-recipes · anchored ·
test/recipes.test.ts:6290· 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.