Spec Studio

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

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

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

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

Findings: no errors, no warnings

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

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

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

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

5 unkeyed rules.

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

no citation recorded

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

no citation recorded

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

Verifier bindings

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

    External run evidence from test/recipes.test.ts

    Test 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

    NameSuiteResultDuration
    cites each recipe that a Spec names by number and heading under the catalog's numberthe agent-surface recipe corpuspassed203.44 ms
    pairs every documented recipe with exactly one fenced bodythe agent-surface recipe corpuspassed1.09 ms
    keeps self-hosting and adopter invocation forms distinctthe agent-surface recipe corpuspassed7.14 ms
    teaches parameters as data and keeps the on-ramps naming the CLI verbs and recipesthe agent-surface recipe corpuspassed4.55 ms
    keeps every body plain JavaScript with a returnthe agent-surface recipe corpuspassed5.66 ms
    runs every body through the front door without throwingthe agent-surface recipe corpuspassed4526.76 ms
    returns the non-example build backlog and audits excluded example evidencethe agent-surface recipe corpuspassed71.36 ms
    returns a drift alarm of code-bound specs below ready, with the floor namedthe agent-surface recipe corpuspassed46.65 ms
    returns one spec's guarantees with its relations and verifier bindingsthe agent-surface recipe corpuspassed38.2 ms
    keeps hostile changed filenames as inert JSON datathe agent-surface recipe corpuspassed36.27 ms
    returns the complete diff-to-at-risk bridgethe agent-surface recipe corpuspassed48.16 ms
    names a changed identity-only unit as unlinked, never coverage-unknown or droppedthe agent-surface recipe corpuspassed66.24 ms
    returns a pack's review backbone with its verifier gapsthe agent-surface recipe corpuspassed54.38 ms
    returns concept matches carrying the fields that matchedthe agent-surface recipe corpuspassed86.65 ms
    returns readiness divergence as an array, where empty is lawfulthe agent-surface recipe corpuspassed94.47 ms
    returns the warn-level signals as data rather than as a gatethe agent-surface recipe corpuspassed57.35 ms
    returns promotion preflight without conferring a readiness editthe agent-surface recipe corpuspassed29.14 ms
    names the next rung's unmet clause and the dependency that breaks it on a probethe agent-surface recipe corpuspassed1.95 ms
    keeps declared examples distinct from enabled verifier bindingsthe agent-surface recipe corpuspassed315.12 ms
    returns the complete non-ready ladder grouped by familythe agent-surface recipe corpuspassed112.21 ms
    distinguishes a passing current floor from a blocked or clear stated next rungthe agent-surface recipe corpuspassed4.94 ms
    returns every committed structural component with non-empty membershipthe agent-surface recipe corpuspassed59.76 ms
    returns exact component uses fan-in and fan-out from the structural oraclethe agent-surface recipe corpuspassed47.86 ms
    returns a component structural neighborhood and an exact absent shapethe agent-surface recipe corpuspassed87.05 ms
    reports census structural coverage from graph and report ground truththe agent-surface recipe corpuspassed40.04 ms
    reports graph-side upper bounds for every shipped projection rootthe agent-surface recipe corpuspassed34.89 ms
    returns the architecture map of every live component with recomputed fan-in and fan-outthe agent-surface recipe corpuspassed54.87 ms
    explains the shared policy and adapter collaborations from graph intent and binding claimsthe agent-surface recipe corpuspassed69.84 ms
    retains local uses and their claims without counting a component as its own dependencythe agent-surface recipe corpuspassed75.74 ms
    preserves an unresolved responsibility without inventing its designthe agent-surface recipe corpuspassed89.93 ms
    keeps a dangling component row and surfaces unresolved uses edgesthe agent-surface recipe corpuspassed92.01 ms
    preserves an unresolved architecture-map member when memberOf outlives the nodethe agent-surface recipe corpuspassed86.53 ms
    returns the decision map ranked by live shaping fan-inthe agent-surface recipe corpuspassed49.06 ms
    returns a planning-slice neighborhood and an exact absent shapethe agent-surface recipe corpuspassed100.85 ms
    returns non-empty bidirectional dependencies for the binding-grain planning slicethe agent-surface recipe corpuspassed55.05 ms
    returns planning-slice implementations, never abstractionsthe agent-surface recipe corpuspassed49.58 ms
    preserves an unresolved component row when memberOf outlives the nodethe agent-surface recipe corpuspassed114.57 ms
    reports derived design columns beside the existing backlog fieldsthe agent-surface recipe corpuspassed5.97 ms
    groups backlog rows under lawful Object.prototype path segmentsthe agent-surface recipe corpuspassed70.12 ms
    groups lower-ladder rows under lawful Object.prototype path segmentsthe agent-surface recipe corpuspassed65.98 ms
    groups decided subjects under lawful Object.prototype path segmentsthe agent-surface recipe corpuspassed50.79 ms
    lists key families across the corpus in key, Spec and section order with the documented sampleregister recipe semanticspassed87.47 ms
    lists Design and UI key families without a row cap, preserving values, lines and overlapping prefixesregister recipe semanticspassed6.93 ms
    diagnoses an unresolved Pack member without returning a partial registerregister recipe semanticspassed2 ms
    diagnoses malformed key-family parameters without a register: {"prefixes":[]}register recipe semanticspassed47.39 ms
    diagnoses malformed key-family parameters without a register: {"prefixes":[""]}register recipe semanticspassed51.9 ms
    diagnoses malformed key-family parameters without a register: {"prefixes":["a","a"]}register recipe semanticspassed60.77 ms
    diagnoses malformed key-family parameters without a register: {"prefixes":"limit"}register recipe semanticspassed48.71 ms
    diagnoses malformed key-family parameters without a register: {"pack":"pack:absent"}register recipe semanticspassed47.17 ms
    diagnoses malformed key-family parameters without a register: {"specs":["spec:absent"]}register recipe semanticspassed47.63 ms
    diagnoses malformed key-family parameters without a register: {"specs":"bad"}register recipe semanticspassed48.35 ms
    diagnoses malformed key-family parameters without a register: {"pack":"pack:self-hosting-v1","specs":[]}register recipe semanticspassed61.9 ms
    runs recipe 20 as written in default outputregister recipe semanticspassed83.5 ms
    runs recipe 21 as written in default outputregister recipe semanticspassed43.91 ms
    runs recipe 22 as written in default outputregister recipe semanticspassed140.26 ms
    runs recipe 23 as written in default outputregister recipe semanticspassed135.22 ms
    runs recipe 24 as written in default outputregister recipe semanticspassed76.44 ms
    runs recipe 25 as written in default outputregister recipe semanticspassed32.84 ms
    runs recipe 26 as written in default outputregister recipe semanticspassed34.44 ms
    runs recipe 27 as written in default outputregister recipe semanticspassed35.78 ms
    runs recipe 28 as written in default outputregister recipe semanticspassed28.08 ms
    runs recipe 29 as written in default outputregister recipe semanticspassed25.29 ms
    runs recipe 30 as written in default outputregister recipe semanticspassed66.24 ms
    runs recipe 31 as written in default outputregister recipe semanticspassed36.6 ms
    runs recipe 32 as written in default outputregister recipe semanticspassed22.72 ms
    renders long JSON values with the same default text bound as stringsregister recipe semanticspassed7.07 ms
    registers an omitted blocking flag through a TypeScript carrierregister recipe semanticspassed2.89 ms
    searches coined keys of every value shape through a TypeScript carrierregister recipe semanticspassed2.3 ms
    searches strings inside a matching coined list or object keyregister recipe semanticspassed2.92 ms
    searches a null coined-key value in the reader graphregister recipe semanticspassed2.36 ms
    keeps register counts under totals and top-level plural nouns as arraysregister recipe semanticspassed602.26 ms
    pins whole-token matching for 'retry' in 'entry' / 'retry'register recipe semanticspassed1 ms
    pins whole-token matching for 'retry' in 'entry' / 'retryable'register recipe semanticspassed0.29 ms
    pins whole-token matching for 'retry' in 'entry' / 'retry-worker'register recipe semanticspassed0.22 ms
    pins whole-token matching for 'retry' in 'retryWorker' / 'unrelated'register recipe semanticspassed0.21 ms
    pins whole-token matching for 'Retry' in 'entry' / 'RETRY.'register recipe semanticspassed0.19 ms
    pins whole-token matching for 'retry worker' in 'retryWorker' / 'retry-worker'register recipe semanticspassed0.18 ms
    pins whole-token matching for 'retry worker' in 'entry' / 'worker retry'register recipe semanticspassed0.27 ms
    pins whole-token matching for 'retry worker' in 'entry' / 'retry the worker'register recipe semanticspassed0.18 ms
    pins whole-token matching for 'server' in 'entry' / 'HTTPServer'register recipe semanticspassed0.27 ms
    pins whole-token matching for 'v' in 'entry' / 'v2'register recipe semanticspassed0.21 ms
    registers every authored question, blocking Specs firstregister recipe semanticspassed65.36 ms
    reports one-hop footing of all four types, including unresolved targetsregister recipe semanticspassed94.97 ms
    audits mention pairs, skips fences, and preserves full ids and directionregister recipe semanticspassed1.17 ms
    resolves entry mentions and retains every token and pair location through a probe rootregister recipe semanticspassed5.54 ms
    reads the whole mention token through an underscore as malformed, never the existing prefixregister recipe semanticspassed0.73 ms
    reads the whole mention token through a slash as malformed, never the existing prefixregister recipe semanticspassed0.46 ms
    reads the whole mention token through a comma as malformed, never the existing prefixregister recipe semanticspassed0.49 ms
    reads the whole mention token through an underscore and a letter as malformed, never the existing prefixregister recipe semanticspassed0.42 ms
    reads the whole mention token through a slash and a letter as malformed, never the existing prefixregister recipe semanticspassed0.38 ms
    reads the whole mention token through a comma and a letter as malformed, never the existing prefixregister recipe semanticspassed0.4 ms
    reads the whole mention token through a letter outside ASCII as malformed, never the existing prefixregister recipe semanticspassed0.37 ms
    reads the whole mention token through an escaped underscore as malformed, never the existing prefixregister recipe semanticspassed0.36 ms
    reads the whole mention token through a combining mark as malformed, never the existing prefixregister recipe semanticspassed0.48 ms
    reads the whole mention token through a combining mark after an entry key as malformed, never the existing prefixregister recipe semanticspassed0.45 ms
    reads the whole mention token through a zero-width space as malformed, never the existing prefixregister recipe semanticspassed0.44 ms
    reads the whole mention token through fullwidth connector punctuation as malformed, never the existing prefixregister recipe semanticspassed0.4 ms
    reads the whole mention token through a NUL as malformed, never the existing prefixregister recipe semanticspassed0.41 ms
    reads the whole mention token through an escape character as malformed, never the existing prefixregister recipe semanticspassed0.39 ms
    reads the whole mention token through a delete character as malformed, never the existing prefixregister recipe semanticspassed0.55 ms
    reads the whole mention token through a C1 control character as malformed, never the existing prefixregister recipe semanticspassed0.43 ms
    reads the whole mention token through a hyphenated entry key as malformed, never the existing prefixregister recipe semanticspassed0.43 ms
    reads the whole mention token through an entry suffix with no key as malformed, never the existing prefixregister recipe semanticspassed0.43 ms
    reads the whole mention token through an entry suffix outside design and ui as malformed, never the existing prefixregister recipe semanticspassed0.44 ms
    reads the clean id through Markdown punctuation: a sentence dotregister recipe semanticspassed0.51 ms
    reads the clean id through Markdown punctuation: a commaregister recipe semanticspassed0.42 ms
    reads the clean id through Markdown punctuation: a colonregister recipe semanticspassed0.43 ms
    reads the clean id through Markdown punctuation: a closing parenthesisregister recipe semanticspassed0.41 ms
    reads the clean id through Markdown punctuation: boldregister recipe semanticspassed0.41 ms
    reads the clean id through Markdown punctuation: emphasisregister recipe semanticspassed0.41 ms
    reads the clean id through Markdown punctuation: strikethroughregister recipe semanticspassed0.38 ms
    reads the clean id through Markdown punctuation: backticksregister recipe semanticspassed0.43 ms
    reads the clean id through Markdown punctuation: ASCII double quotesregister recipe semanticspassed0.38 ms
    reads the clean id through Markdown punctuation: ASCII single quotesregister recipe semanticspassed0.53 ms
    reads the clean id through Markdown punctuation: typographic double quotesregister recipe semanticspassed0.46 ms
    reads the clean id through Markdown punctuation: typographic single quotesregister recipe semanticspassed0.43 ms
    reads the clean id through Markdown punctuation: an em dashregister recipe semanticspassed0.41 ms
    reads the clean id through Markdown punctuation: an en dashregister recipe semanticspassed0.43 ms
    reads the clean id through Markdown punctuation: an ellipsisregister recipe semanticspassed0.42 ms
    reads the clean id through Markdown punctuation: an escaped starregister recipe semanticspassed0.42 ms
    reads the clean id through Markdown punctuation: an escaped exclamation markregister recipe semanticspassed0.45 ms
    reads the clean id through Markdown punctuation: U+0085register recipe semanticspassed0.4 ms
    reads the clean id through Markdown punctuation: a no-break spaceregister recipe semanticspassed0.4 ms
    reads the clean id through Markdown punctuation: a tabregister recipe semanticspassed0.38 ms
    reads the clean id through Markdown punctuation: an arrowregister recipe semanticspassed0.37 ms
    reads a placeholder or a bare prefix as prose, not a mentionregister recipe semanticspassed0.47 ms
    scans nested arrays in examples while skipping object fences by positionregister recipe semanticspassed1.04 ms
    addresses only lawful Design and UI entry keys in search resultsregister recipe semanticspassed1.08 ms
    scopes mentions by the mentioning Spec onlyregister recipe semanticspassed3.1 ms
    reports malformed open questions without counting them: "one question"register recipe semanticspassed0.51 ms
    reports malformed open questions without counting them: {}register recipe semanticspassed0.28 ms
    reports malformed open questions without counting them: 42register recipe semanticspassed0.29 ms
    reports malformed open questions without counting them: {"blocking":true}register recipe semanticspassed0.27 ms
    reports malformed open questions without counting them: nullregister recipe semanticspassed0.32 ms
    reports malformed open questions without counting them: ""register recipe semanticspassed0.3 ms
    reports malformed open questions without counting them: {"question":"valid","blocking":"yes"}register recipe semanticspassed0.31 ms
    reports malformed open questions without counting them: {"question":"valid","blocking":null}register recipe semanticspassed0.33 ms
    reports malformed open questions without counting them: {"question":"valid"}register recipe semanticspassed0.38 ms
    reports an off-grammar question key as malformed: {"question":"valid","key":"AggregateReach"}register recipe semanticspassed0.46 ms
    reports an off-grammar question key as malformed: {"question":"valid","key":"aggregate-reach"}register recipe semanticspassed0.32 ms
    reports an off-grammar question key as malformed: {"question":"valid","key":""}register recipe semanticspassed0.33 ms
    reports an off-grammar question key as malformed: {"question":"valid","key":7}register recipe semanticspassed0.33 ms
    reports an off-grammar question key as malformed: {"question":"valid","key":null}register recipe semanticspassed0.31 ms
    reports an off-grammar question key as malformed: {"question":"valid","blocking":true}register recipe semanticspassed0.32 ms
    searches whole tokens, coined keys, narrative and fence stepsregister recipe semanticspassed10.86 ms
    lists every pinned declaration this corpus holdsregister recipe semanticspassed151.14 ms
    reads spans of any run length and skips every entry that pins nothingregister recipe semanticspassed0.81 ms
    resolves the catalog's addresses on this corpus as writtenaddress resolution and dependency cyclespassed64.16 ms
    reports this corpus's dependency cycles as an independent reachability check finds themaddress resolution and dependency cyclespassed88.32 ms
    reports the probe's one set and one self-dependent Spec, and nothing for a Spec that only reaches a setaddress resolution and dependency cyclespassed4.2 ms
    reports a self-loop inside a larger set only with that setaddress resolution and dependency cyclespassed4.72 ms
    walks targets in code-unit order, so of two tied shortest cycles the first target's is reportedaddress resolution and dependency cyclespassed6.46 ms
    walks a chain of 10,000 Specs and one cycle of 5,000 without recursingaddress resolution and dependency cyclespassed178.94 ms
    resolves an inherited property name only where the Spec authors it as a keyaddress resolution and dependency cyclespassed3.03 ms
    resolves the design's probe addresses with one row and one reason eachaddress resolution and dependency cyclespassed2.86 ms
    resolves a keyed question, refuses description in Design and UI, and keeps repeatsaddress resolution and dependency cyclespassed2.69 ms
    registers a keyed question with its key and an unkeyed one with a null keyaddress resolution and dependency cyclespassed1.76 ms
    audits a question address against the target's open question keysaddress resolution and dependency cyclespassed1.86 ms
    addresses a keyed question's text and matches its key, never the key as a rowaddress resolution and dependency cyclespassed5.05 ms
    returns one row per Studio member with four independent factsdesign references and the architecture taxonomypassed114.98 ms
    lists a referencing unit beside the realizing units without conferring implementeddesign references and the architecture taxonomypassed152.22 ms
    lists the reader beside each Studio member that depends on it, with its realizing unitsdesign references and the architecture taxonomypassed66.69 ms
    derives builds-on from the member's relations without conferring a fact on itdesign references and the architecture taxonomypassed154.09 ms
    returns the role, layer, and context taxonomy from the code units alonedesign references and the architecture taxonomypassed33.37 ms
    counts references as edges apart from the units that carry themdesign references and the architecture taxonomypassed83.72 ms
    creates each taxonomy bucket once, however many units share the valuedesign references and the architecture taxonomypassed102.31 ms
    declares and checks only its indexed parameter names first: 1recipe parameters and the shipped recipe filespassed0.86 ms
    declares and checks only its indexed parameter names first: 2recipe parameters and the shipped recipe filespassed0.45 ms
    declares and checks only its indexed parameter names first: 3recipe parameters and the shipped recipe filespassed0.48 ms
    declares and checks only its indexed parameter names first: 4recipe parameters and the shipped recipe filespassed0.4 ms
    declares and checks only its indexed parameter names first: 5recipe parameters and the shipped recipe filespassed0.39 ms
    declares and checks only its indexed parameter names first: 6recipe parameters and the shipped recipe filespassed0.39 ms
    declares and checks only its indexed parameter names first: 7recipe parameters and the shipped recipe filespassed0.42 ms
    declares and checks only its indexed parameter names first: 8recipe parameters and the shipped recipe filespassed0.45 ms
    declares and checks only its indexed parameter names first: 9recipe parameters and the shipped recipe filespassed0.44 ms
    declares and checks only its indexed parameter names first: 10recipe parameters and the shipped recipe filespassed0.41 ms
    declares and checks only its indexed parameter names first: 11recipe parameters and the shipped recipe filespassed0.36 ms
    declares and checks only its indexed parameter names first: 12recipe parameters and the shipped recipe filespassed0.35 ms
    declares and checks only its indexed parameter names first: 13recipe parameters and the shipped recipe filespassed0.98 ms
    declares and checks only its indexed parameter names first: 14recipe parameters and the shipped recipe filespassed0.42 ms
    declares and checks only its indexed parameter names first: 15recipe parameters and the shipped recipe filespassed0.38 ms
    declares and checks only its indexed parameter names first: 16recipe parameters and the shipped recipe filespassed0.38 ms
    declares and checks only its indexed parameter names first: 17recipe parameters and the shipped recipe filespassed0.34 ms
    declares and checks only its indexed parameter names first: 18recipe parameters and the shipped recipe filespassed0.36 ms
    declares and checks only its indexed parameter names first: 19recipe parameters and the shipped recipe filespassed3.5 ms
    declares and checks only its indexed parameter names first: 20recipe parameters and the shipped recipe filespassed0.42 ms
    declares and checks only its indexed parameter names first: 21recipe parameters and the shipped recipe filespassed0.42 ms
    declares and checks only its indexed parameter names first: 22recipe parameters and the shipped recipe filespassed0.4 ms
    declares and checks only its indexed parameter names first: 23recipe parameters and the shipped recipe filespassed0.38 ms
    declares and checks only its indexed parameter names first: 24recipe parameters and the shipped recipe filespassed3.6 ms
    declares and checks only its indexed parameter names first: 25recipe parameters and the shipped recipe filespassed0.41 ms
    declares and checks only its indexed parameter names first: 26recipe parameters and the shipped recipe filespassed0.41 ms
    declares and checks only its indexed parameter names first: 27recipe parameters and the shipped recipe filespassed0.44 ms
    declares and checks only its indexed parameter names first: 28recipe parameters and the shipped recipe filespassed3.48 ms
    declares and checks only its indexed parameter names first: 29recipe parameters and the shipped recipe filespassed0.4 ms
    declares and checks only its indexed parameter names first: 30recipe parameters and the shipped recipe filespassed0.39 ms
    declares and checks only its indexed parameter names first: 31recipe parameters and the shipped recipe filespassed0.36 ms
    declares and checks only its indexed parameter names first: 32recipe parameters and the shipped recipe filespassed3.39 ms
    declares and checks only its indexed parameter names first: 33recipe parameters and the shipped recipe filespassed0.45 ms
    declares and checks only its indexed parameter names first: 34recipe parameters and the shipped recipe filespassed0.36 ms
    declares and checks only its indexed parameter names first: 35recipe parameters and the shipped recipe filespassed0.39 ms
    declares and checks only its indexed parameter names first: 36recipe parameters and the shipped recipe filespassed0.45 ms
    declares and checks only its indexed parameter names first: 37recipe parameters and the shipped recipe filespassed0.41 ms
    declares and checks only its indexed parameter names first: 38recipe parameters and the shipped recipe filespassed0.37 ms
    declares and checks only its indexed parameter names first: 39recipe parameters and the shipped recipe filespassed0.38 ms
    declares and checks only its indexed parameter names first: 40recipe parameters and the shipped recipe filespassed0.39 ms
    declares and checks only its indexed parameter names first: 41recipe parameters and the shipped recipe filespassed0.38 ms
    declares and checks only its indexed parameter names first: 42recipe parameters and the shipped recipe filespassed0.39 ms
    declares and checks only its indexed parameter names first: 43recipe parameters and the shipped recipe filespassed0.43 ms
    declares and checks only its indexed parameter names first: 44recipe parameters and the shipped recipe filespassed0.4 ms
    declares and checks only its indexed parameter names first: 45recipe parameters and the shipped recipe filespassed0.39 ms
    declares and checks only its indexed parameter names first: 46recipe parameters and the shipped recipe filespassed0.37 ms
    declares and checks only its indexed parameter names first: 47recipe parameters and the shipped recipe filespassed0.38 ms
    declares and checks only its indexed parameter names first: 48recipe parameters and the shipped recipe filespassed0.42 ms
    declares and checks only its indexed parameter names first: 49recipe parameters and the shipped recipe filespassed0.41 ms
    declares and checks only its indexed parameter names first: 50recipe parameters and the shipped recipe filespassed0.42 ms
    declares and checks only its indexed parameter names first: 51recipe parameters and the shipped recipe filespassed0.37 ms
    declares and checks only its indexed parameter names first: 52recipe parameters and the shipped recipe filespassed0.47 ms
    declares and checks only its indexed parameter names first: 53recipe parameters and the shipped recipe filespassed0.48 ms
    declares and checks only its indexed parameter names first: 54recipe parameters and the shipped recipe filespassed0.56 ms
    declares and checks only its indexed parameter names first: 55recipe parameters and the shipped recipe filespassed0.44 ms
    returns only the unknown-name answer before reading recipe inputs: 1recipe parameters and the shipped recipe filespassed64.45 ms
    returns only the unknown-name answer before reading recipe inputs: 2recipe parameters and the shipped recipe filespassed86.74 ms
    returns only the unknown-name answer before reading recipe inputs: 3recipe parameters and the shipped recipe filespassed64.56 ms
    returns only the unknown-name answer before reading recipe inputs: 4recipe parameters and the shipped recipe filespassed40.29 ms
    returns only the unknown-name answer before reading recipe inputs: 5recipe parameters and the shipped recipe filespassed46.83 ms
    returns only the unknown-name answer before reading recipe inputs: 6recipe parameters and the shipped recipe filespassed46.25 ms
    returns only the unknown-name answer before reading recipe inputs: 7recipe parameters and the shipped recipe filespassed48.18 ms
    returns only the unknown-name answer before reading recipe inputs: 8recipe parameters and the shipped recipe filespassed42.23 ms
    returns only the unknown-name answer before reading recipe inputs: 9recipe parameters and the shipped recipe filespassed71.25 ms
    returns only the unknown-name answer before reading recipe inputs: 10recipe parameters and the shipped recipe filespassed31.24 ms
    returns only the unknown-name answer before reading recipe inputs: 11recipe parameters and the shipped recipe filespassed31.96 ms
    returns only the unknown-name answer before reading recipe inputs: 12recipe parameters and the shipped recipe filespassed49.78 ms
    returns only the unknown-name answer before reading recipe inputs: 13recipe parameters and the shipped recipe filespassed39.97 ms
    returns only the unknown-name answer before reading recipe inputs: 14recipe parameters and the shipped recipe filespassed63.85 ms
    returns only the unknown-name answer before reading recipe inputs: 15recipe parameters and the shipped recipe filespassed52.92 ms
    returns only the unknown-name answer before reading recipe inputs: 16recipe parameters and the shipped recipe filespassed35.88 ms
    returns only the unknown-name answer before reading recipe inputs: 17recipe parameters and the shipped recipe filespassed33.16 ms
    returns only the unknown-name answer before reading recipe inputs: 18recipe parameters and the shipped recipe filespassed39.7 ms
    returns only the unknown-name answer before reading recipe inputs: 19recipe parameters and the shipped recipe filespassed36.47 ms
    returns only the unknown-name answer before reading recipe inputs: 20recipe parameters and the shipped recipe filespassed34.05 ms
    returns only the unknown-name answer before reading recipe inputs: 21recipe parameters and the shipped recipe filespassed37.69 ms
    returns only the unknown-name answer before reading recipe inputs: 22recipe parameters and the shipped recipe filespassed34.48 ms
    returns only the unknown-name answer before reading recipe inputs: 23recipe parameters and the shipped recipe filespassed45.55 ms
    returns only the unknown-name answer before reading recipe inputs: 24recipe parameters and the shipped recipe filespassed37.07 ms
    returns only the unknown-name answer before reading recipe inputs: 25recipe parameters and the shipped recipe filespassed41.58 ms
    returns only the unknown-name answer before reading recipe inputs: 26recipe parameters and the shipped recipe filespassed36.43 ms
    returns only the unknown-name answer before reading recipe inputs: 27recipe parameters and the shipped recipe filespassed40.71 ms
    returns only the unknown-name answer before reading recipe inputs: 28recipe parameters and the shipped recipe filespassed40.12 ms
    returns only the unknown-name answer before reading recipe inputs: 29recipe parameters and the shipped recipe filespassed34.37 ms
    returns only the unknown-name answer before reading recipe inputs: 30recipe parameters and the shipped recipe filespassed41.06 ms
    returns only the unknown-name answer before reading recipe inputs: 31recipe parameters and the shipped recipe filespassed35.56 ms
    returns only the unknown-name answer before reading recipe inputs: 32recipe parameters and the shipped recipe filespassed43.01 ms
    returns only the unknown-name answer before reading recipe inputs: 33recipe parameters and the shipped recipe filespassed37.21 ms
    returns only the unknown-name answer before reading recipe inputs: 34recipe parameters and the shipped recipe filespassed41.37 ms
    returns only the unknown-name answer before reading recipe inputs: 35recipe parameters and the shipped recipe filespassed39.18 ms
    returns only the unknown-name answer before reading recipe inputs: 36recipe parameters and the shipped recipe filespassed38.62 ms
    returns only the unknown-name answer before reading recipe inputs: 37recipe parameters and the shipped recipe filespassed43.69 ms
    returns only the unknown-name answer before reading recipe inputs: 38recipe parameters and the shipped recipe filespassed38.21 ms
    returns only the unknown-name answer before reading recipe inputs: 39recipe parameters and the shipped recipe filespassed37.8 ms
    returns only the unknown-name answer before reading recipe inputs: 40recipe parameters and the shipped recipe filespassed34.85 ms
    returns only the unknown-name answer before reading recipe inputs: 41recipe parameters and the shipped recipe filespassed38.46 ms
    returns only the unknown-name answer before reading recipe inputs: 42recipe parameters and the shipped recipe filespassed37.37 ms
    returns only the unknown-name answer before reading recipe inputs: 43recipe parameters and the shipped recipe filespassed31.83 ms
    returns only the unknown-name answer before reading recipe inputs: 44recipe parameters and the shipped recipe filespassed25.05 ms
    returns only the unknown-name answer before reading recipe inputs: 45recipe parameters and the shipped recipe filespassed35.12 ms
    returns only the unknown-name answer before reading recipe inputs: 46recipe parameters and the shipped recipe filespassed41.83 ms
    returns only the unknown-name answer before reading recipe inputs: 47recipe parameters and the shipped recipe filespassed35.78 ms
    returns only the unknown-name answer before reading recipe inputs: 48recipe parameters and the shipped recipe filespassed40.67 ms
    returns only the unknown-name answer before reading recipe inputs: 49recipe parameters and the shipped recipe filespassed40.51 ms
    returns only the unknown-name answer before reading recipe inputs: 50recipe parameters and the shipped recipe filespassed37.07 ms
    returns only the unknown-name answer before reading recipe inputs: 51recipe parameters and the shipped recipe filespassed40.67 ms
    returns only the unknown-name answer before reading recipe inputs: 52recipe parameters and the shipped recipe filespassed39.56 ms
    returns only the unknown-name answer before reading recipe inputs: 53recipe parameters and the shipped recipe filespassed27.59 ms
    returns only the unknown-name answer before reading recipe inputs: 54recipe parameters and the shipped recipe filespassed33.04 ms
    returns only the unknown-name answer before reading recipe inputs: 55recipe parameters and the shipped recipe filespassed41.41 ms
    diagnoses wrong subject names, mixed known names and ordered unknown names through shipped bodiesrecipe parameters and the shipped recipe filespassed100 ms
    reads and names each parameter, with a fallback only when the contract supplies onerecipe parameters and the shipped recipe filespassed9.19 ms
    ships every catalog body as dist/recipes/NN-slug.js, byte for byterecipe parameters and the shipped recipe filespassed8.28 ms
    runs every shipped file, read whole, to the answer its catalog body givesrecipe parameters and the shipped recipe filespassed6827.51 ms
    refuses a catalog whose bodies and headings do not pair, rather than guess a file namerecipe parameters and the shipped recipe filespassed1.37 ms
    reads a CRLF catalog as its LF bodies, and refuses a catalog with no recipe before publishingrecipe parameters and the shipped recipe filespassed17.95 ms
    removes only completed recipe files the catalog no longer owes, never another run's temporary filerecipe parameters and the shipped recipe filespassed0.82 ms
    passes recipe 4 its changed files from a file named with @PATHrecipe parameters and the shipped recipe filespassed40.39 ms
    resolves the addresses recipe 25 receives as datarecipe parameters and the shipped recipe filespassed67.17 ms
    reads the Pack the Pack recipes review from params.packrecipe parameters and the shipped recipe filespassed187.66 ms
    returns the Pack design of every corpus Pack as the raw graph states itdesign recipespassed789.57 ms
    returns the probe Pack's design exactly, member by memberdesign recipespassed8.24 ms
    reaches every Spec resting on the corpus sample, by a shortest path of real edgesdesign recipespassed364.56 ms
    walks a dependency chain inbound only, once per Spec, and keeps a reference apartdesign recipespassed1.71 ms
    registers every corpus decision with its supersession, subjects and keyed questionsdesign recipespassed86.75 ms
    registers a supersedes pair both ways and a decision that shapes nothingdesign recipespassed4.58 ms
    carries a relation's reason beside the relation in recipes 3, 19, 21 and 31design recipespassed1.68 ms
    registers narrowing decisions both ways and excludes refinement by other kindsdesign recipespassed0.54 ms
    keeps the decoder in reader without adding crossings against the lawful notation alternativedesign recipespassed90.25 ms
    reports the corpus's architecture crossings as the raw edges state themdesign recipespassed61.19 ms
    names a crossing of two contexts and of two layers, and skips what cannot crossdesign recipespassed4.2 ms
    resolves every keyed corpus entry to its value and the line the location table recordsentry lines in entry search and address resolutionpassed134.85 ms
    gives each corpus entry-search row the line of a located entry and null otherwiseentry lines in entry search and address resolutionpassed220.2 ms
    never gives a nested entry the line of a literal top-level key its path spellsentry lines in entry search and address resolutionpassed4.76 ms
    counts a verifying Spec of another kind as a verifier, never as an example, in the Pack designentry lines in entry search and address resolutionpassed2.88 ms
    gives a string-form open question the line its question[n] row records, as the object formentry lines in entry search and address resolutionpassed5.46 ms
    counts equal layers and contexts between distinct components even without crossingsanswers that fitpassed0.51 ms
    returns guarantee entries and complete unit and verifier locations from contextanswers that fitpassed6.21 ms
    reports directions relative to an impacted Packanswers that fitpassed0.89 ms
    indexes exactly the present recipes with names, parameters and usesanswers that fitpassed3.39 ms
    runs a shipped body wrapped inside a caller's filteranswers that fitpassed112.01 ms
    keeps impact totals and puts both edge directions in the summaryanswers that fitpassed2.35 ms
    keeps the reader's Pack value in summary, full and selected-member answersanswers that fitpassed7.28 ms
    reports both next rungs when the stated rung is below the flooranswers that fitpassed0.62 ms
    reports no next rung at readyanswers that fitpassed35.24 ms
    reports gap exemptions and every omitted warning beyond the first 25answers that fitpassed2.84 ms
    lists only defined unimplemented designs and keeps exclusions and referencesanswers that fitpassed1.08 ms
    registers fields and counts deferrals apart from design holdsauthoring grammar recipespassed4.32 ms
    lists intended mentions apart and preserves the validator's warningsauthoring grammar recipespassed8.87 ms
    matches rule keys beside their text without searching the derived mapauthoring grammar recipespassed5.29 ms
    locates unkeyed rule text and question field textauthoring grammar recipespassed7.51 ms
    resolves rule addresses and preserves every parsed part of a missauthoring grammar recipespassed3 ms
    counts rule coverage from bound examples and reports unbound intent beside itauthoring grammar recipespassed3.01 ms
    reports missing rule-coverage scopes and accepts a scope with no rulesauthoring grammar recipespassed2.53 ms
    runs the catalog body in the evaluator without a module loaderentry citations recipepassed0.77 ms
    orders a declaration's citing files and lines independently of input orderentry citations recipepassed0.6 ms
    joins declarations and other cited entries, including uncited declarationsentry citations recipepassed0.74 ms
    includes absent Specs and malformed tokens only in the corpus unresolved listentry citations recipepassed1.17 ms
    returns diagnostics without findings for {"pack":"pack:missing"}entry citations recipepassed0.78 ms
    returns diagnostics without findings for {"specs":["spec:missing"]}entry citations recipepassed0.44 ms
    returns diagnostics without findings for {"specs":"spec:probe.cited"}entry citations recipepassed0.38 ms
    returns diagnostics without findings for {"pack":"pack:probe.citations","specs":[]}entry citations recipepassed0.41 ms
    returns diagnostics without findings for {"severity":"fatal"}entry citations recipepassed0.34 ms
    returns diagnostics without findings for {"severity":null}entry citations recipepassed0.44 ms
    reads an absent table as empty, and accepts an empty Spec scopeentry citations recipepassed0.48 ms
    adds recorded component fields, references, member roles and exact crossing-use countsStudio architecture and example-space recipe additionspassed82.69 ms
    runs shipped recipe 44 over every decoded space and refuses bad scopesStudio architecture and example-space recipe additionspassed425.18 ms
    runs recipe 45 as shipped and reports missing and malformed CTRF metadatanot recordedpassed462.11 ms
    recipe 49 renders the panel memo from its catalog body and refuses a malformed documentnot recordedpassed116.15 ms
    reports text-preserving rule and flow key changes apart from rewordingnot recordedpassed8.96 ms
    preserves a removed keyed rule address beside new unkeyed textnot recordedpassed2.6 ms
    preserves a removed keyed flow address beside new unkeyed textnot recordedpassed2.19 ms
    distinguishes removed unkeyed rule base positions from head positionsnot recordedpassed3.04 ms
    distinguishes removed unkeyed flow base positions from head positionsnot recordedpassed2.55 ms
    retains every diamond edge and intermediate node while counting each descendant oncethe capability map recipepassed1.25 ms
    returns summary/full parity with explicit omissions for scope {}the capability map recipepassed1.76 ms
    returns summary/full parity with explicit omissions for scope {"epic":"spec:probe.epic"}the capability map recipepassed1.06 ms
    normalizes prose and unflagged questions while preserving authored indicesthe capability map recipepassed0.38 ms
    retains null titles in serialized node and epic rows when a title degradesthe capability map recipepassed0.71 ms
    reports a self-refining epic as a cycle without making it its own parent epicthe capability map recipepassed2.75 ms
    uses the outside unreached parent as root rather than its child cycle groupthe capability map recipepassed0.49 ms
    selects an epic of kind behavior without changing its kindthe capability map recipepassed0.45 ms
    selects an epic of kind workflow without changing its kindthe capability map recipepassed0.25 ms
    selects an epic of kind example without changing its kindthe capability map recipepassed0.19 ms
    selects an epic of kind rule without changing its kindthe capability map recipepassed0.18 ms
    selects an epic of kind constraint without changing its kindthe capability map recipepassed0.19 ms
    selects an epic of kind model without changing its kindthe capability map recipepassed0.23 ms
    selects an epic of kind decision without changing its kindthe capability map recipepassed0.23 ms
    selects an epic of kind contract without changing its kindthe capability map recipepassed0.22 ms
    reads node evidence and ordered questions directly, including examples and decisions as parentsthe capability map recipepassed0.77 ms
    represents a missing floor as none and keeps the epic's evidence outside its rollupthe capability map recipepassed0.49 ms
    counts stated rungs separately from reached floors without lending a bound example's facts to its epicthe capability map recipepassed0.78 ms
    keeps nested and overlapping memberships and outside parents when selecting one epicthe capability map recipepassed1.12 ms
    traverses only declared refinement and never infers ancestry from other graph structurethe capability map recipepassed0.63 ms
    reports cycles, self-links and unresolved or non-Spec endpoints separately from parameter failuresthe capability map recipepassed0.54 ms
    limits damage to edges touching a selected epic scope and terminates reached cyclesthe capability map recipepassed0.34 ms
    keeps overlapping unreached root scopes unique and exposes an empty corpusthe capability map recipepassed0.34 ms
    refuses invalid parameters without a map: { epic: null }the capability map recipepassed0.17 ms
    refuses invalid parameters without a map: { epic: 1 }the capability map recipepassed0.11 ms
    refuses invalid parameters without a map: { epic: [] }the capability map recipepassed0.07 ms
    refuses invalid parameters without a map: { epic: 'spec:probe.absent' }the capability map recipepassed0.06 ms
    refuses invalid parameters without a map: { epic: 'spec:probe.plain' }the capability map recipepassed0.05 ms
    refuses invalid parameters without a map: { epic: 'impl:probe.non-spec' }the capability map recipepassed0.05 ms
    refuses invalid parameters without a map: { detail: 'true' }the capability map recipepassed0.05 ms
    refuses invalid parameters without a map: { detail: 1 }the capability map recipepassed0.05 ms
    refuses invalid parameters without a map: { detail: null }the capability map recipepassed0.05 ms
    refuses invalid parameters without a map: { epic: 1, detail: 'x' }the capability map recipepassed0.11 ms
    checks unknown names before known valuesthe capability map recipepassed0.11 ms
    answers deterministically in code-unit id order even when graph arrays are reversedthe capability map recipepassed1.22 ms
    reaches every Spec from the intended epic owners while preserving kinds and overlapping refinementthe Protocol's capability epicspassed207.42 ms
    keeps refinement and dependency from spec:extraction.build-pipeline to spec:extraction.derive-graphthe Protocol's capability epicspassed2.08 ms
    keeps refinement and dependency from spec:validation.corpus-rules to spec:consumers.agent-surfacethe Protocol's capability epicspassed2.24 ms
    keeps refinement and dependency from spec:validation.architecture-constraints to spec:validation.corpus-rulesthe Protocol's capability epicspassed2.19 ms
    keeps refinement and dependency from spec:validation.external-registers to spec:validation.corpus-rulesthe Protocol's capability epicspassed2.35 ms
    keeps every ready statement at the ready floor and leaves the drift alarm emptythe Protocol's capability epicspassed73.37 ms
    runs the catalog body over the arc Pack through the CLI and keeps its summary totalsthe shipped design slicepassed359.23 ms
    runs the roadmap and its memo from the catalog over a named Packnot recordedpassed283.82 ms
    pins the adopter roadmap and its forward memo over the worked examplenot recordedpassed24.1 ms
Design view

Requirement drawing

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

Copyable source; the Studio draws static SVG.

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

Decisions

No decision record named.

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

    Uses

    None.

Runtime observation: not tracked.

Evidence

Runtime observation: not tracked.

Build attestations: not tracked.

Deployments: not tracked.

Bills of materials: not tracked.

Impact
Relations of spec:consumers.agent-surface.answer-shapes
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

Rested on by

No Spec rests on this Spec.

Relations

Relation and directionOther endClaimReasonExercised keys
dependsOn · outgoingDesign work reads its answers from catalog recipes
spec:consumers.agent-surface.design-recipes · resolves
declaredNoneNone
dependsOn · outgoingThe evaluation sink runs one body and prints its return
spec:consumers.agent-surface.evaluation-sink · resolves
declareda caller runs a shipped body, and wraps it in its own body, through the evaluation sinkNone
refines · outgoingAgents script a visible typed graph
spec:consumers.agent-surface · resolves
declaredNoneNone

Bindings

Implementation binding: present

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

Design reference: present

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

Verifier binding: present

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

Expected-outcome oracle: none

Runtime observation: not tracked.

Run results: not recorded in the graph.

Findings

None.

Composing (0)

Composing needs the script.