Spec Studio

An open question may name who decides it, its links, a provisional reading and a re-entry trigger

spec:model.open-question-fieldsBusiness Rule · storyready floor ready

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

Design: 7 design entries · 1 pinned declaration · 2 decisions

Findings: no errors, no warnings

specs/model/open-question-fields.sdp.md

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

The original design gave an open question an owner and a list of links to decision records, discussions and tickets, beside its text and its blocking flag (docs/lineage/v0-design/01-core-primitives.md §2.1). A question key gives a question an address and nothing more, so the first adopter keeps the rest beside the graph. Its decision register (libar-platform/design/decisions/register.json, described in design/advisors/register.md) records for each open decision its sources, who decides it as a class (tactical, delegated or owner) and an advisor lens, the provisional reading the design proceeds on, and a lean. It also records a status, the work unit it blocks, dates and who checked the lean. This Spec captures the part that states something about the question and leaves the work record outside.

A TypeScript open-question list that cannot be read statically drops whole, blocking questions included. A failure under one of the four fields is an error, because the fields arrived with no carrier relying on a lossy reading; a failure in a question's text, its blocking flag or the list itself keeps the warning every other non-static TypeScript section property gives.

Intent
problem
A question's text and blocking flag do not say who settles it, what it rests on, or what the design assumes until it is settled, so an adopter keeps a register beside the graph that repeats each question.
outcome
Let an open question carry who decides it, the sources it rests on, the reading the design proceeds on and, on a deferral, what brings it back, without a status.
risks
  • A field for who decides invites fields for when and for what state the question is in, which would rebuild a workflow tracker inside the Spec.
Rule

The world writes one TypeScript carrier for a story-altitude rule Spec stating idea, with a title, an Intent outcome, one rule and an open-question list holding one blocking question. Every value is static apart from the construct the point names: a question text or blocking flag written as a function call, or a spread of another list beside the question.

rule line 29 · specs/model/open-question-fields.sdp.md:29
An open question may carry four optional fields beside its text, flag and key, namely who decides it, the links it rests on, its provisional reading and its re-entry trigger; a question without them stays lawful.
rule line 30 · specs/model/open-question-fields.sdp.md:30
Who decides a question names the person, role or body whose ruling settles it. It authorizes nothing, gates no edit, and no validator compares it with the author of a change.
rule line 31 · specs/model/open-question-fields.sdp.md:31
Who decides a question is one lowercase kebab token the corpus owns, on the grammar a role uses, such as owner or delegated. The graph holds no person or role to point at, so the value references nothing, and the Protocol ships no list of values.
rule line 32 · specs/model/open-question-fields.sdp.md:32
In the Markdown carrier the four fields ride labelled sub-items indented under the question's own line, decider:, links:, provisional: and trigger:, each at most once and each one line, so the question line stays as authored. They are the only indented field lines the body grammar admits, and the TypeScript carrier carries the same four fields on the question object.
rule.fieldFailureError line 33 · specs/model/open-question-fields.sdp.md:33
In the TypeScript carrier, a value under any of the four fields that cannot be read statically is an extraction error at that field, and the Spec's whole open-question list drops with it.

no example exercises it

rule.droppedListWarning line 34 · specs/model/open-question-fields.sdp.md:34
In the TypeScript carrier, a question text or blocking flag that cannot be read statically, or a spread in the list, drops the Spec's whole open-question list, blocking questions included, with the lossy warning extract/non-static-section; only a failure under the four fields is an error.

spec:model.open-question-fields.dropped-list-warns · enabled

rule line 35 · specs/model/open-question-fields.sdp.md:35
A link is a Spec id or an entry address the question rests on, and nothing else. Each is checked as a mention is: a missing target or entry is an error, and a target with no declared relation either way raises the conformance/prose-mentions warning for that pair. A link mints no relation, and a document outside the graph is named in the question's text as prose, because the graph holds no identity for it to resolve.
rule line 36 · specs/model/open-question-fields.sdp.md:36
The provisional reading is one line stating what the design assumes while the question is open. It is intent, never a ruling.
rule line 37 · specs/model/open-question-fields.sdp.md:37
A question carries at most one provisional line. A worked proposal for settling it is a decision Spec whose Decision section holds its decision, context, rationales, alternatives and consequences, stated at the rung its record earns. Each shaped Spec names it through decidedBy, so a decision below defined holds that Spec below ready under the typed-dependency floor.
rule line 38 · specs/model/open-question-fields.sdp.md:38
A re-entry trigger is one line naming what brings a deferred Spec back, such as a named reader the shipped views do not serve. It sits on the blocking question that holds the deferral, and the open-question register reports questions that carry one apart from design holds, so no reader tells the two apart by their wording.
rule line 39 · specs/model/open-question-fields.sdp.md:39
An open question carries no status, date, blocked work unit or record of who checked it. A settled question leaves the Spec, a ruling that passes the ADR three-part test lands as a decision Spec the shaped Specs name through decidedBy, and the rest of the history stays in git and in the adopter's own records.
rule line 40 · specs/model/open-question-fields.sdp.md:40
Whether a question holds the readiness floor stays its [blocking] flag alone; none of the four fields moves a floor.

10 unkeyed rules.

Verifying examples

A TypeScript question list that cannot be read drops whole with a warning · spec:model.open-question-fields.dropped-list-warns · ready floor ready

Executable Spec

Given a TypeScript Spec carrier whose blocking open question meets {construct: "a non-static question text"}
When the extractor reifies the carrier
Then the extractor reports {findingId: "extract/non-static-section"} at severity {severity: "warning"}
Then the Spec stays in the graph with {questionCount: 0} open questions

Open example

Example space

Given a TypeScript Spec carrier whose blocking open question meets {construct:"a non-static question text"|"a non-static blocking flag"|"a spread in the list"}
When the extractor reifies the carrier
Then the extractor reports {findingId:string} at severity {severity:"warning"|"error"}
Then the Spec stays in the graph with {questionCount:number} open questions
Design
subItemLine line 54 · specs/model/open-question-fields.sdp.md:54
a field is one line of exactly two spaces, - , a label from decider, links, provisional and trigger, a colon, a space and the value, directly under its question's line or a sibling field; any other indented line stays refused, as is a field under an entry that is not an open question.
questionObject line 55 · specs/model/open-question-fields.sdp.md:55
the open question object carries optional decider, links as a list of strings in authored order, provisional and trigger fields, each absent when the author wrote none; the TypeScript carrier writes the same fields.
linksValue line 56 · specs/model/open-question-fields.sdp.md:56
links: takes a comma-separated list, as an anchor comment's target tags do, non-empty and with no repeat.

no citation recorded

fieldFindings line 57 · specs/model/open-question-fields.sdp.md:57
an unknown or repeated label, an empty value, a decider off the token grammar, and a trigger on a non-blocking question are conformance errors at the field's line.
fieldLocations line 58 · specs/model/open-question-fields.sdp.md:58
each carrier that records entry lines records a row per field present, question[<i>].decider, question[<i>].links, question[<i>].provisional or question[<i>].trigger; a link finding reads the links row, and a line the carrier did not record stays absent.
linkResolution line 59 · specs/model/open-question-fields.sdp.md:59
each link is checked as a mention is, at the field's line, by the same validator and with the same two findings.
registerColumns line 60 · specs/model/open-question-fields.sdp.md:60
the open-question register (recipe 20) reports the four fields on each row, marks a question carrying a trigger as a deferral, and counts deferrals and holds apart.
Verification

Verifier bindings

  • spec:model.open-question-fields.dropped-list-warns · A TypeScript question list that cannot be read drops whole with a warning · declared · example enabled · specs/model/open-question-fields.dropped-list-warns.sdp.md

    External run evidence from test/self-hosting-carrier.test.ts

    Test anchors: test:protocol.markdown-parser.bounded-parity, test:protocol.open-question-fields.dropped-list-warns, test:protocol.slot-notation.one-literal-binding, test:protocol.slot-notation.refused-guess, test:protocol.slot-notation.typed-declaration. Specs verified by those bindings: spec:carrier.markdown-parser, spec:carrier.markdown-parser.bounded-parity, spec:carrier.slot-notation, spec:carrier.slot-notation.one-literal-binding, spec:carrier.slot-notation.refused-guess, spec:carrier.slot-notation.typed-declaration, spec:model.open-question-fields, spec:model.open-question-fields.dropped-list-warns.

    Run 1: external run evidence from vitest 4.1.10

    Build: CI 380 · Branch: feature/roadmap-and-slices-v0 · Commit: 34909918bf0be0e849959644401797191cae379f · Start: 2026-10-22T17:40:31.456Z · Stop: 2026-10-22T17:42:16.171Z

    NameSuiteResultDuration
    executes the bound example against a fresh worldOne finding class is shared while the carriers' outcomes stay their own (spec:carrier.markdown-parser.bounded-parity)passed43.71 ms
    executes the bound example against a fresh worldA typed declaration normalizes to the skeleton its binding shares (spec:carrier.slot-notation.typed-declaration)passed1.52 ms
    executes the bound example against a fresh worldA stray brace stays prose while an unusable group stays a named slot (spec:carrier.slot-notation.refused-guess)passed0.45 ms
    executes the bound example against a fresh worldA one-literal group in a vocabulary is a binding that declares nothing (spec:carrier.slot-notation.one-literal-binding)passed2.74 ms
    executes the bound example against a fresh worldA TypeScript question list that cannot be read drops whole with a warning (spec:model.open-question-fields.dropped-list-warns)passed11.66 ms
    drops the whole question list for a non-static question textnot recordedpassed6.04 ms
    drops the whole question list for a non-static blocking flagnot recordedpassed6.76 ms
    drops the whole question list for a spread in the listnot recordedpassed8.19 ms
  • test:protocol.authoring-grammar · checks rule keys, question fields and relation reasons across the carriers · anchored · test anchor binding present · test/authoring-grammar.test.ts:24

    External run evidence from test/authoring-grammar.test.ts

    Test anchors: test:protocol.authoring-grammar. Specs verified by those bindings: spec:model.open-question-fields, spec:model.relation-reasons, spec:model.rule-keys.

    Run 1: external run evidence from vitest 4.1.10

    Build: CI 380 · Branch: feature/roadmap-and-slices-v0 · Commit: 34909918bf0be0e849959644401797191cae379f · Start: 2026-10-22T17:40:31.456Z · Stop: 2026-10-22T17:42:16.171Z

    NameSuiteResultDuration
    normalizes TypeScript keys and locates keyed and unkeyed rulesrule keyspassed74.83 ms
    normalizes Markdown keys and locates keyed and unkeyed rulesrule keyspassed17.53 ms
    normalizes Gherkin keys and locates keyed and unkeyed rulesrule keyspassed6.86 ms
    accepts keys on every Behavior entryrule keyspassed1.99 ms
    accepts keys on every Rule entryrule keyspassed1.89 ms
    accepts keys on every Workflow entryrule keyspassed1.82 ms
    accepts keys on every Contract entryrule keyspassed1.19 ms
    keeps the TypeScript field order when it keys flows and rulesrule keyspassed4.94 ms
    reports every repeated key in TypeScriptrule keyspassed4.11 ms
    reports every repeated key in Markdownrule keyspassed4.89 ms
    reports every repeated key in Gherkinrule keyspassed1.07 ms
    reports duplicate keys across rules and flows at both sitesrule keyspassed1.22 ms
    refuses malformed marker [#Bad] Text. in all carriersrule keyspassed6.13 ms
    refuses malformed marker [#bad-key] Text. in all carriersrule keyspassed4.41 ms
    refuses malformed marker [#] Text. in all carriersrule keyspassed4.5 ms
    refuses malformed marker [#key]Text. in all carriersrule keyspassed3.64 ms
    refuses malformed marker [#key] Text. in all carriersrule keyspassed5.2 ms
    refuses malformed marker [#key] in all carriersrule keyspassed4.24 ms
    omits ruleKeys when no rule is keyed and keeps Design Review rule text unchangedrule keyspassed4.27 ms
    carries an optional runtime reasonrelation attributespassed0.43 ms
    carries an optional runtime reasonrelation attributespassed0.33 ms
    carries an optional runtime reasonrelation attributespassed0.2 ms
    carries an optional runtime reasonrelation attributespassed0.17 ms
    carries an optional runtime reasonrelation attributespassed0.27 ms
    carries an optional runtime reasonrelation attributespassed0.21 ms
    carries exercises only from a declared verifies relationrelation attributespassed4.67 ms
    reads a target-only refines object as the plain idrelation attributespassed9.3 ms
    reads a target-only dependsOn object as the plain idrelation attributespassed8.73 ms
    reads a target-only constrainedBy object as the plain idrelation attributespassed5.38 ms
    reads a target-only decidedBy object as the plain idrelation attributespassed5.8 ms
    reads a target-only verifies object as the plain idrelation attributespassed15.44 ms
    reads a target-only supersedes object as the plain idrelation attributespassed5.68 ms
    accepts mixed Markdown target forms and TypeScript second argumentsrelation attributespassed3.05 ms
    refuses invalid relation options {reason: ""}relation attributespassed1.72 ms
    refuses invalid relation options {reason: "one\ntwo"}relation attributespassed2.13 ms
    refuses invalid relation options {strength: "hard"}relation attributespassed1.63 ms
    refuses invalid relation options {exercises: ["first"]}relation attributespassed1.73 ms
    refuses invalid Markdown relation options {reason: ""}relation attributespassed1.6 ms
    refuses invalid Markdown relation options {reason: "one\ntwo"}relation attributespassed0.54 ms
    refuses invalid Markdown relation options {aspect: "shape"}relation attributespassed0.48 ms
    refuses invalid Markdown relation options {exercises: [first]}relation attributespassed0.47 ms
    refuses invalid Markdown relation options {target: spec:probe.parent, reason: "x"}relation attributespassed0.93 ms
    refuses malformed exercises []relation attributespassed1.62 ms
    refuses malformed exercises ["first", "first"]relation attributespassed1.5 ms
    refuses malformed exercises ["Bad"]relation attributespassed1.39 ms
    refuses malformed exercises "first"relation attributespassed1.29 ms
    refuses a duplicate target across plain and object formsrelation attributespassed5.06 ms
    refuses a duplicate target shared by plain and target-only formsrelation attributespassed3.15 ms
    maps Gherkin exercises to the default or explicit verified targetrelation attributespassed1.6 ms
    refuses invalid Gherkin exercises @exercises.Badrelation attributespassed0.64 ms
    refuses invalid Gherkin exercises @exercises.first @exercises.firstrelation attributespassed0.4 ms
    refuses invalid Gherkin exercises @exercises.first @verifies.spec:probe.parent @verifies.spec:probe.otherrelation attributespassed0.39 ms
    refuses Gherkin exercises on a Feature or example spacerelation attributespassed1.91 ms
    refuses Gherkin exercises on an otherwise lawful example-space scenariogrammar boundary checkspassed0.6 ms
    refuses a malformed or near-miss exercises tag @exercisesgrammar boundary checkspassed0.49 ms
    refuses a malformed or near-miss exercises tag @exercise.firstgrammar boundary checkspassed0.39 ms
    keeps the carrier finding caps after common normalizationgrammar boundary checkspassed4.38 ms
    keeps collection order for rule keys when only some entries carry a linegrammar boundary checkspassed0.21 ms
    keeps relation finding lines after serialization reorders edgesgrammar boundary checkspassed1.92 ms
    refuses exercises on an anchored verifies edgegrammar boundary checkspassed0.84 ms
    refuses an unknown relation property even when its name is inheritedgrammar boundary checkspassed0.57 ms
    carries the fields through Markdown, serialization and the reader with exact linesquestion fieldspassed2.84 ms
    records TypeScript fields at their properties and leaves absent fields absentquestion fieldspassed3.01 ms
    refuses invalid Markdown field - decider: Owner at its linequestion fieldspassed0.63 ms
    refuses invalid Markdown field - decider: at its linequestion fieldspassed0.53 ms
    refuses invalid Markdown field - decider: owner - decider: delegated at its linequestion fieldspassed0.59 ms
    refuses invalid Markdown field - links: at its linequestion fieldspassed0.51 ms
    refuses invalid Markdown field - links: spec:probe.parent, spec:probe.parent at its linequestion fieldspassed0.45 ms
    refuses invalid Markdown field - provisional: at its linequestion fieldspassed0.46 ms
    refuses invalid Markdown field - trigger: at its linequestion fieldspassed0.42 ms
    refuses invalid Markdown field - status: waiting at its linequestion fieldspassed0.41 ms
    refuses invalid Markdown field - decider: owner at its linequestion fieldspassed0.49 ms
    refuses invalid Markdown field - decider: owner continuation at its linequestion fieldspassed0.45 ms
    refuses a trigger on a non-blocking question and a field outside a questionquestion fieldspassed4.8 ms
    refuses invalid TypeScript field decider: "Owner"question fieldspassed1.98 ms
    refuses invalid TypeScript field links: []question fieldspassed1.79 ms
    refuses invalid TypeScript field links: ["spec:probe.parent", "spec:probe.parent"]question fieldspassed5.77 ms
    refuses invalid TypeScript field provisional: "one\ntwo"question fieldspassed4.65 ms
    refuses invalid TypeScript field trigger: "A caller."question fieldspassed1.76 ms
    refuses invalid TypeScript field status: "waiting"question fieldspassed1.64 ms
    refuses invalid TypeScript field decider: "owner", decider: "delegated"question fieldspassed1.37 ms
    refuses invalid TypeScript field decider: selectOwner()question fieldspassed1.61 ms
    refuses invalid TypeScript field links: [ref("spec:probe.parent")]question fieldspassed1.56 ms
    refuses invalid TypeScript field links: ["spec:probe.parent", ...others]question fieldspassed1.57 ms
    checks every link as a complete token and groups unbacked pairs with prosequestion fieldspassed2.14 ms
    keeps readiness dependent on the blocking flag alonequestion fieldspassed4.18 ms
    preserves rule and flow keys, all question fields, reasons and exercisesTypeScript importpassed8.9 ms
  • test:protocol.authoring-grammar-recipes · executes the shipped question, mention, entry, address and rule coverage recipes · anchored · test anchor binding present · test/recipes.test.ts:6587

    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 380 · Branch: feature/roadmap-and-slices-v0 · Commit: 34909918bf0be0e849959644401797191cae379f · Start: 2026-10-22T17:40:31.456Z · Stop: 2026-10-22T17:42:16.171Z

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

Example space

  • construct · "a non-static question text" | "a non-static blocking flag" | "a spread in the list" · declared by a TypeScript Spec carrier whose blocking open question meets {construct}

Bound points

Exampleconstruct
spec:model.open-question-fields.dropped-list-warns"a non-static question text"

Oracle binding: present · oracle:protocol.open-question-fields · test/self-hosting-carrier.test.ts:342

Coverage

construct
Declared valueExamples
"a non-static question text"spec:model.open-question-fields.dropped-list-warns
"a non-static blocking flag"no example
"a spread in the list"no example

Unbound

  • construct: None
Design view

Requirement drawing

Requirement drawing for spec:model.open-question-fields
The diagram as text
  • spec:model.open-question-fields: An open question may name who decides it, its links, a provisional reading and a re-entry trigger · declared Spec
  • spec:model.open-question-fields.dropped-list-warns: A TypeScript question list that cannot be read drops whole with a warning · declared Spec
  • spec:model.open-question-keys: An open question may carry a key that addresses it · declared Spec
  • impl:protocol.authoring-grammar-recipes: asserts the authoring grammar's realization in docs/agent-surface/recipes.md · anchored code · test/recipes.test.ts:6597
  • impl:protocol.authoring-normalization: normalizes rule markers and question fields after carrier reification · anchored code · src/extract/authoring-normalization.ts:8
  • oracle:protocol.open-question-fields: oracle:protocol.open-question-fields · anchored oracle binding · test/self-hosting-carrier.test.ts:342
  • test:protocol.authoring-grammar: checks rule keys, question fields and relation reasons across the carriers · anchored test binding · binding present · test/authoring-grammar.test.ts:24
  • test:protocol.authoring-grammar-recipes: executes the shipped question, mention, entry, address and rule coverage recipes · anchored test binding · binding present · test/recipes.test.ts:6587
  • test:protocol.open-question-fields.dropped-list-warns: test:protocol.open-question-fields.dropped-list-warns · anchored test binding · binding present · test/self-hosting-carrier.test.ts:367
  • spec:model.open-question-fields refines spec:model.open-question-keys · declared
  • spec:model.open-question-fields.dropped-list-warns refines spec:model.open-question-fields · declared
  • spec:model.open-question-fields.dropped-list-warns verifies spec:model.open-question-fields · declared
  • impl:protocol.authoring-grammar-recipes satisfies spec:model.open-question-fields · anchored
  • impl:protocol.authoring-normalization satisfies spec:model.open-question-fields · anchored
  • oracle:protocol.open-question-fields models spec:model.open-question-fields · anchored
  • test:protocol.authoring-grammar verifies spec:model.open-question-fields · anchored
  • test:protocol.authoring-grammar-recipes verifies spec:model.open-question-fields · anchored
  • test:protocol.open-question-fields.dropped-list-warns verifies spec:model.open-question-fields.dropped-list-warns · anchored
Mermaid source

Copyable source; the Studio draws static SVG.

Preferred syntax: requirementDiagram. Chosen syntax: flowchart TB because models, folds require exact labels unavailable in requirement syntax.

Decisions

  • Delivery nouns remain familiar without workflow gates

    The Protocol adopts established delivery nouns and rejects process state-machine and lifecycle gating.

  • Planning truths live in ruled graph homes

    Each planning-truth type lives in its ruled home. Work-item dependency truth rides dependsOn edges, with independence as absence of the edge and scheduling phrases never authored. Decision gates live on decision-kind Specs, linked by decidedBy. Do-not-reopen rows split by what they carry: a tradeoff refusal becomes a decision-kind Spec, which a later decision that supersedes it replaces whole and a later decision that refines it narrows for one case, either under the ADR three-part test; a row that restates a behavior guarantee already homed on a carrying Spec stays on that Spec and changes by ordinary Spec revision; a hold stays a blocking open question on its own Spec and is never minted as a decision. A lawful non-decision stays in the plan record as evidence. A deferral carries its re-entry trigger in the trigger field of its own blocking open question, and declares dependsOn separately when a true precondition exists. Exclusive ownership is one Spec identity per deliverable with consumers depending on it. Selection-pressure heuristics are advisory only, carried as behavior rules on the graph-first planning Spec or in recipes. Session law splits separately, across behavior rules on the graph-first planning Spec, the delivery-session on-ramp's handoff rule, and the plan file. The briefs index shape is retired as a carrier of law.

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

    Uses

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

    Uses

    None.

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

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

    Uses

    None.

Runtime observation: not tracked.

Evidence

Runtime observation: not tracked.

Build attestations: not tracked.

Deployments: not tracked.

Bills of materials: not tracked.

Impact
Relations of spec:model.open-question-fields
The diagram as text
  • spec:carrier.markdown-body-grammar: The Markdown body accepts one closed form per section
  • spec:carrier.prose-ownership-rule: Every prose value has one typed owner
  • spec:consumers.agent-surface.register-recipes: Register questions stay executable graph recipes
  • spec:consumers.authoring-on-ramp: Authors move one Spec from intent to reviewed evidence
  • spec:consumers.design-slice: A slice reads a Pack as one design, with the architecture it touches and what each member needs next
  • spec:consumers.graph-first-planning: The next body of work is planned from the graph, not from a prose index
  • spec:consumers.pack-design: The Pack context carries the Pack's design
  • spec:consumers.readiness-planner: The readiness planner orders the statements a person can make
  • spec:consumers.roadmap: A roadmap orders the next bodies of work, and the graph says what each still needs
  • spec:consumers.spec-studio.pack-page: A Pack page shows the Pack's design as one card per member
  • spec:consumers.spec-studio.slice-page: A slice page shows a Pack's design as one whole
  • spec:consumers.spec-studio.spec-page: A Spec page shows one Spec in collapsible panels, in a fixed order
  • spec:consumers.spec-studio.spec-page.core: A Spec page's core shows the whole Spec, with an anchor for every entry
  • spec:consumers.upgrade-kit.capability-adoption: Capability adoption counts where each capability is used and where it could apply
  • spec:decisions.adopt-the-nouns: Delivery nouns remain familiar without workflow gates
  • spec:decisions.planning-truths-placement: Planning truths live in ruled graph homes
  • spec:extraction.entry-locations: The graph records where each addressable entry is written
  • spec:model.open-question-fields: An open question may name who decides it, its links, a provisional reading and a re-entry trigger
  • spec:model.open-question-fields.dropped-list-warns: A TypeScript question list that cannot be read drops whole with a warning
  • spec:model.open-question-keys: An open question may carry a key that addresses it
  • spec:validation.prose-mentions: Every Spec id written in prose resolves
  • spec:model.open-question-fields decidedBy spec:decisions.adopt-the-nouns · declared — question fields describe the question without adding workflow state or gates
  • spec:model.open-question-fields decidedBy spec:decisions.planning-truths-placement · declared — a deferral's re-entry trigger rides its own blocking question, the home that decision rules
  • spec:model.open-question-fields dependsOn spec:extraction.entry-locations · declared — adds rows to the location table
  • spec:model.open-question-fields refines spec:model.open-question-keys · declared
  • spec:carrier.markdown-body-grammar dependsOn spec:model.open-question-fields · declared
  • spec:carrier.prose-ownership-rule dependsOn spec:model.open-question-fields · declared
  • spec:consumers.agent-surface.register-recipes dependsOn spec:model.open-question-fields · declared — the open-question register lists each question's fields
  • spec:consumers.authoring-on-ramp dependsOn spec:model.open-question-fields · declared
  • spec:consumers.design-slice dependsOn spec:model.open-question-fields · declared — each question in scope carries its fields
  • spec:consumers.graph-first-planning dependsOn spec:model.open-question-fields · declared — the placement rule uses the question's explicit re-entry trigger field
  • spec:consumers.pack-design dependsOn spec:model.open-question-fields · declared — each listed open question carries its fields
  • spec:consumers.readiness-planner dependsOn spec:model.open-question-fields · declared — the owner's questions are selected by their decider field
  • spec:consumers.roadmap dependsOn spec:model.open-question-fields · declared — the questions waiting on a person are selected by their decider field
  • spec:consumers.spec-studio.pack-page dependsOn spec:model.open-question-fields · declared
  • spec:consumers.spec-studio.slice-page dependsOn spec:model.open-question-fields · declared
  • spec:consumers.spec-studio.spec-page dependsOn spec:model.open-question-fields · declared
  • spec:consumers.spec-studio.spec-page.core dependsOn spec:model.open-question-fields · declared
  • spec:consumers.upgrade-kit.capability-adoption dependsOn spec:model.open-question-fields · declared — question keys and fields are counted where open questions are
  • spec:validation.prose-mentions dependsOn spec:model.open-question-fields · declared — the links field it checks whole is defined by the open-question field grammar
  • spec:model.open-question-fields.dropped-list-warns refines spec:model.open-question-fields · declared
  • spec:model.open-question-fields.dropped-list-warns verifies spec:model.open-question-fields · declared
Mermaid source

Copyable source; the Studio draws static SVG.

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

Rests on

Rested on by

Distance 1

Distance 2

Distance 3

Distance 4

Distance 5

Distance 6

Distance 7

Distance 8

Distance 9

Relations

Relation and directionOther endClaimReasonExercised keys
decidedBy · outgoingDelivery nouns remain familiar without workflow gates
spec:decisions.adopt-the-nouns · resolves
declaredquestion fields describe the question without adding workflow state or gatesNone
decidedBy · outgoingPlanning truths live in ruled graph homes
spec:decisions.planning-truths-placement · resolves
declareda deferral's re-entry trigger rides its own blocking question, the home that decision rulesNone
dependsOn · outgoingThe graph records where each addressable entry is written
spec:extraction.entry-locations · resolves
declaredadds rows to the location tableNone
refines · outgoingAn open question may carry a key that addresses it
spec:model.open-question-keys · resolves
declaredNoneNone
dependsOn · incomingThe Markdown body accepts one closed form per section
spec:carrier.markdown-body-grammar · resolves
declaredNoneNone
dependsOn · incomingEvery prose value has one typed owner
spec:carrier.prose-ownership-rule · resolves
declaredNoneNone
dependsOn · incomingRegister questions stay executable graph recipes
spec:consumers.agent-surface.register-recipes · resolves
declaredthe open-question register lists each question's fieldsNone
dependsOn · incomingAuthors move one Spec from intent to reviewed evidence
spec:consumers.authoring-on-ramp · resolves
declaredNoneNone
dependsOn · incomingA slice reads a Pack as one design, with the architecture it touches and what each member needs next
spec:consumers.design-slice · resolves
declaredeach question in scope carries its fieldsNone
dependsOn · incomingThe next body of work is planned from the graph, not from a prose index
spec:consumers.graph-first-planning · resolves
declaredthe placement rule uses the question's explicit re-entry trigger fieldNone
dependsOn · incomingThe Pack context carries the Pack's design
spec:consumers.pack-design · resolves
declaredeach listed open question carries its fieldsNone
dependsOn · incomingThe readiness planner orders the statements a person can make
spec:consumers.readiness-planner · resolves
declaredthe owner's questions are selected by their decider fieldNone
dependsOn · incomingA roadmap orders the next bodies of work, and the graph says what each still needs
spec:consumers.roadmap · resolves
declaredthe questions waiting on a person are selected by their decider fieldNone
dependsOn · incomingA Pack page shows the Pack's design as one card per member
spec:consumers.spec-studio.pack-page · resolves
declaredNoneNone
dependsOn · incomingA slice page shows a Pack's design as one whole
spec:consumers.spec-studio.slice-page · resolves
declaredNoneNone
dependsOn · incomingA Spec page shows one Spec in collapsible panels, in a fixed order
spec:consumers.spec-studio.spec-page · resolves
declaredNoneNone
dependsOn · incomingA Spec page's core shows the whole Spec, with an anchor for every entry
spec:consumers.spec-studio.spec-page.core · resolves
declaredNoneNone
dependsOn · incomingCapability adoption counts where each capability is used and where it could apply
spec:consumers.upgrade-kit.capability-adoption · resolves
declaredquestion keys and fields are counted where open questions areNone
dependsOn · incomingEvery Spec id written in prose resolves
spec:validation.prose-mentions · resolves
declaredthe links field it checks whole is defined by the open-question field grammarNone
refines · incomingA TypeScript question list that cannot be read drops whole with a warning
spec:model.open-question-fields.dropped-list-warns · resolves
declaredNoneNone
verifies · incomingA TypeScript question list that cannot be read drops whole with a warning
spec:model.open-question-fields.dropped-list-warns · resolves
declaredNonedroppedListWarning

Bindings

Implementation binding: present

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

Design reference: none

Verifier binding: present

  • spec:model.open-question-fields.dropped-list-warns · A TypeScript question list that cannot be read drops whole with a warning · declared · specs/model/open-question-fields.dropped-list-warns.sdp.md · example enabled
  • test:protocol.authoring-grammar · checks rule keys, question fields and relation reasons across the carriers · anchored · test/authoring-grammar.test.ts:24 · test anchor
  • test:protocol.authoring-grammar-recipes · executes the shipped question, mention, entry, address and rule coverage recipes · anchored · test/recipes.test.ts:6587 · test anchor

Expected-outcome oracle: present

  • oracle:protocol.open-question-fields · test/self-hosting-carrier.test.ts:342

Runtime observation: not tracked.

Run results: not recorded in the graph.

Findings

None.

Composing (0)

Composing needs the script.