Runs
External run evidence from test files, read beside verifier bindings. Results describe the reported tests in each file.
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
3182 passed, 0 failed, 8 skipped, 0 pending, 0 other.
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.
| Name | Suite | Result | Duration |
|---|---|---|---|
| normalizes TypeScript keys and locates keyed and unkeyed rules | rule keys | passed | 23.57 ms |
| normalizes Markdown keys and locates keyed and unkeyed rules | rule keys | passed | 5.85 ms |
| normalizes Gherkin keys and locates keyed and unkeyed rules | rule keys | passed | 4.12 ms |
| accepts keys on every Behavior entry | rule keys | passed | 1.33 ms |
| accepts keys on every Rule entry | rule keys | passed | 0.98 ms |
| accepts keys on every Workflow entry | rule keys | passed | 1.1 ms |
| accepts keys on every Contract entry | rule keys | passed | 0.78 ms |
| keeps the TypeScript field order when it keys flows and rules | rule keys | passed | 3.01 ms |
| reports every repeated key in TypeScript | rule keys | passed | 3.45 ms |
| reports every repeated key in Markdown | rule keys | passed | 5.6 ms |
| reports every repeated key in Gherkin | rule keys | passed | 1.07 ms |
| reports duplicate keys across rules and flows at both sites | rule keys | passed | 1.2 ms |
| refuses malformed marker [#Bad] Text. in all carriers | rule keys | passed | 4.17 ms |
| refuses malformed marker [#bad-key] Text. in all carriers | rule keys | passed | 4.03 ms |
| refuses malformed marker [#] Text. in all carriers | rule keys | passed | 3.23 ms |
| refuses malformed marker [#key]Text. in all carriers | rule keys | passed | 2.91 ms |
| refuses malformed marker [#key] Text. in all carriers | rule keys | passed | 3.62 ms |
| refuses malformed marker [#key] in all carriers | rule keys | passed | 3.14 ms |
| omits ruleKeys when no rule is keyed and keeps Design Review rule text unchanged | rule keys | passed | 2.97 ms |
| carries an optional runtime reason | relation attributes | passed | 0.3 ms |
| carries an optional runtime reason | relation attributes | passed | 0.23 ms |
| carries an optional runtime reason | relation attributes | passed | 0.12 ms |
| carries an optional runtime reason | relation attributes | passed | 0.1 ms |
| carries an optional runtime reason | relation attributes | passed | 0.18 ms |
| carries an optional runtime reason | relation attributes | passed | 0.13 ms |
| carries exercises only from a declared verifies relation | relation attributes | passed | 3.11 ms |
| reads a target-only refines object as the plain id | relation attributes | passed | 6.36 ms |
| reads a target-only dependsOn object as the plain id | relation attributes | passed | 10.14 ms |
| reads a target-only constrainedBy object as the plain id | relation attributes | passed | 4.88 ms |
| reads a target-only decidedBy object as the plain id | relation attributes | passed | 4.21 ms |
| reads a target-only verifies object as the plain id | relation attributes | passed | 10.63 ms |
| reads a target-only supersedes object as the plain id | relation attributes | passed | 5.02 ms |
| accepts mixed Markdown target forms and TypeScript second arguments | relation attributes | passed | 3.11 ms |
| refuses invalid relation options {reason: ""} | relation attributes | passed | 1.82 ms |
| refuses invalid relation options {reason: "one\ntwo"} | relation attributes | passed | 1.93 ms |
| refuses invalid relation options {strength: "hard"} | relation attributes | passed | 1.57 ms |
| refuses invalid relation options {exercises: ["first"]} | relation attributes | passed | 1.48 ms |
| refuses invalid Markdown relation options {reason: ""} | relation attributes | passed | 0.97 ms |
| refuses invalid Markdown relation options {reason: "one\ntwo"} | relation attributes | passed | 0.6 ms |
| refuses invalid Markdown relation options {aspect: "shape"} | relation attributes | passed | 0.5 ms |
| refuses invalid Markdown relation options {exercises: [first]} | relation attributes | passed | 0.51 ms |
| refuses invalid Markdown relation options {target: spec:probe.parent, reason: "x"} | relation attributes | passed | 0.94 ms |
| refuses malformed exercises [] | relation attributes | passed | 1.61 ms |
| refuses malformed exercises ["first", "first"] | relation attributes | passed | 1.53 ms |
| refuses malformed exercises ["Bad"] | relation attributes | passed | 1.33 ms |
| refuses malformed exercises "first" | relation attributes | passed | 1.29 ms |
| refuses a duplicate target across plain and object forms | relation attributes | passed | 5.57 ms |
| refuses a duplicate target shared by plain and target-only forms | relation attributes | passed | 0.82 ms |
| maps Gherkin exercises to the default or explicit verified target | relation attributes | passed | 3.47 ms |
| refuses invalid Gherkin exercises @exercises.Bad | relation attributes | passed | 0.52 ms |
| refuses invalid Gherkin exercises @exercises.first @exercises.first | relation attributes | passed | 0.29 ms |
| refuses invalid Gherkin exercises @exercises.first @verifies.spec:probe.parent @verifies.spec:probe.other | relation attributes | passed | 0.31 ms |
| refuses Gherkin exercises on a Feature or example space | relation attributes | passed | 1.24 ms |
| refuses Gherkin exercises on an otherwise lawful example-space scenario | grammar boundary checks | passed | 0.5 ms |
| refuses a malformed or near-miss exercises tag @exercises | grammar boundary checks | passed | 0.52 ms |
| refuses a malformed or near-miss exercises tag @exercise.first | grammar boundary checks | passed | 0.4 ms |
| keeps the carrier finding caps after common normalization | grammar boundary checks | passed | 3.37 ms |
| keeps collection order for rule keys when only some entries carry a line | grammar boundary checks | passed | 0.19 ms |
| keeps relation finding lines after serialization reorders edges | grammar boundary checks | passed | 1.41 ms |
| refuses exercises on an anchored verifies edge | grammar boundary checks | passed | 0.65 ms |
| refuses an unknown relation property even when its name is inherited | grammar boundary checks | passed | 0.39 ms |
| carries the fields through Markdown, serialization and the reader with exact lines | question fields | passed | 1.96 ms |
| records TypeScript fields at their properties and leaves absent fields absent | question fields | passed | 2.38 ms |
| refuses invalid Markdown field - decider: Owner at its line | question fields | passed | 0.49 ms |
| refuses invalid Markdown field - decider: at its line | question fields | passed | 0.35 ms |
| refuses invalid Markdown field - decider: owner - decider: delegated at its line | question fields | passed | 0.41 ms |
| refuses invalid Markdown field - links: at its line | question fields | passed | 0.3 ms |
| refuses invalid Markdown field - links: spec:probe.parent, spec:probe.parent at its line | question fields | passed | 0.28 ms |
| refuses invalid Markdown field - provisional: at its line | question fields | passed | 0.33 ms |
| refuses invalid Markdown field - trigger: at its line | question fields | passed | 0.29 ms |
| refuses invalid Markdown field - status: waiting at its line | question fields | passed | 0.26 ms |
| refuses invalid Markdown field - decider: owner at its line | question fields | passed | 0.45 ms |
| refuses invalid Markdown field - decider: owner continuation at its line | question fields | passed | 0.43 ms |
| refuses a trigger on a non-blocking question and a field outside a question | question fields | passed | 1.59 ms |
| refuses invalid TypeScript field decider: "Owner" | question fields | passed | 1.76 ms |
| refuses invalid TypeScript field links: [] | question fields | passed | 1.59 ms |
| refuses invalid TypeScript field links: ["spec:probe.parent", "spec:probe.parent"] | question fields | passed | 3.89 ms |
| refuses invalid TypeScript field provisional: "one\ntwo" | question fields | passed | 1.15 ms |
| refuses invalid TypeScript field trigger: "A caller." | question fields | passed | 1.45 ms |
| refuses invalid TypeScript field status: "waiting" | question fields | passed | 1.5 ms |
| refuses invalid TypeScript field decider: "owner", decider: "delegated" | question fields | passed | 1.19 ms |
| refuses invalid TypeScript field decider: selectOwner() | question fields | passed | 1.32 ms |
| refuses invalid TypeScript field links: [ref("spec:probe.parent")] | question fields | passed | 1.24 ms |
| refuses invalid TypeScript field links: ["spec:probe.parent", ...others] | question fields | passed | 1.13 ms |
| checks every link as a complete token and groups unbacked pairs with prose | question fields | passed | 1.54 ms |
| keeps readiness dependent on the blocking flag alone | question fields | passed | 1.41 ms |
| preserves rule and flow keys, all question fields, reasons and exercises | TypeScript import | passed | 6.81 ms |
External run evidence from test/builders.test.ts
Test anchors: test:protocol.core-model, test:protocol.pack-builder, test:protocol.relation-builders. Specs verified by those bindings: spec:model.core-model, spec:model.pack-aggregate, spec:model.relations.
| Name | Suite | Result | Duration |
|---|---|---|---|
| enriches one Spec envelope while keeping all three coordinates independent | builders | passed | 41.72 ms |
| derives delivery facts directly without propagating realization through refinement | builders | passed | 6.3 ms |
| builds plain serializable specs with declared relations | builders | passed | 0.87 ms |
| builds packs as plain manifests with no authored truth fields | builders | passed | 0.54 ms |
| builds identity-only anchors as plain serializable objects | builders | passed | 0.42 ms |
External run evidence from test/census.test.ts
Test anchors: test:protocol.census-page. Specs verified by those bindings: spec:consumers.census-page.
| Name | Suite | Result | Duration |
|---|---|---|---|
| renders the checkout fixture as the reviewed golden page | the derived census/taxonomy projection | passed | 112.53 ms |
| labels the index as diagnostic when the real reader reports validation errors | the derived census/taxonomy projection | passed | 58.16 ms |
| is byte-identical under reordered graph input | the derived census/taxonomy projection | passed | 0.86 ms |
| keeps every exported runtime taxonomy category visible at zero | the derived census/taxonomy projection | passed | 0.97 ms |
| renders component rollups and uses cycles deterministically | the derived census/taxonomy projection | passed | 1.56 ms |
| renders dangling structural references from reader findings without re-deriving them | the derived census/taxonomy projection | passed | 0.46 ms |
| renders a dangling structural reference produced by the real extraction pipeline | the derived census/taxonomy projection | passed | 6.84 ms |
| renders foreign taxonomy values as deterministic unrecognized rows | the derived census/taxonomy projection | passed | 0.58 ms |
| counts stated and derived readiness in separate dimensions | the derived census/taxonomy projection | passed | 0.5 ms |
| sources its findings only from reader.findings() | the derived census/taxonomy projection | passed | 0.4 ms |
| renders anchor flavor from node type, namespace, and binding edge | the derived census/taxonomy projection | passed | 0.3 ms |
| renders the role, layer, and context taxonomies and the references table from the graph | the derived census/taxonomy projection | passed | 20.72 ms |
| renders attribute-only structure, a foreign layer value, and empty tables deterministically | the derived census/taxonomy projection | passed | 0.85 ms |
| groups twenty thousand units sharing one role and one context into one bucket each, in id order | the derived census/taxonomy projection | passed | 144.75 ms |
| creates each attribute bucket once, however many units share the value | the derived census/taxonomy projection | passed | 307.67 ms |
| keeps the explicit empty state while still counting units apart from edges | the derived census/taxonomy projection | passed | 3.88 ms |
| publishes diagnostic output for validation errors and returns nonzero | sdp census publication | passed | 84.08 ms |
| creates the explicit generated/census surface by wholesale temporary-directory replacement | sdp census publication | passed | 71.12 ms |
| refuses drift under --check-clean and removes output that cannot read as current | sdp census publication | passed | 123.04 ms |
| refuses a diverging --check-clean twin without publishing stale or partial output | sdp census publication | passed | 78.27 ms |
| invalidates stale census output before a controlled failed build | sdp census publication | passed | 13.09 ms |
External run evidence from test/check-self-hosting-gates.test.ts
Test anchors: test:protocol.roadmap-practice. Specs verified by those bindings: spec:protocol.roadmap-replaces-plans.
| Name | Suite | Result | Duration |
|---|---|---|---|
| accepts the current record without requiring the historical ledger shape | the self-hosting records gate | passed | 60.25 ms |
| fails when a frozen historical owner-packet pin is broken | the self-hosting records gate | passed | 72.88 ms |
| refuses a missing handbook pointer: pack:roadmap | the self-hosting records gate | passed | 61.63 ms |
| refuses a missing handbook pointer: recipe 53 | the self-hosting records gate | passed | 51.88 ms |
| names a missing roadmap manifest | the self-hosting records gate | passed | 66.31 ms |
| names the generated graph when absent | the self-hosting records gate | passed | 51.11 ms |
| names the generated graph when corrupt | the self-hosting records gate | passed | 51.2 ms |
| accepts quoted priority with a comment and rejects a renamed roadmap id | the self-hosting records gate | passed | 143.42 ms |
| requires a priority roadmap node derived from the manifest: | the self-hosting records gate | passed | 54.29 ms |
| requires a priority roadmap node derived from the manifest: order: reading | the self-hosting records gate | passed | 54.06 ms |
| requires a priority roadmap node derived from the manifest: --- # Roadmap order: priority | the self-hosting records gate | passed | 48.32 ms |
| checks no content, dependency order or plan number: [] | the self-hosting records gate | passed | 66.27 ms |
| checks no content, dependency order or plan number: [spec:probe.built] | the self-hosting records gate | passed | 55.04 ms |
| checks no content, dependency order or plan number: [spec:probe.dependent, spec:probe.dependency] | the self-hosting records gate | passed | 54.32 ms |
| keeps the documented green gate and semantic plan-status ban | the self-hosting records gate | passed | 58.2 ms |
| ships the roadmap, recovery and review convention in the handbook | the self-hosting records gate | passed | 1.69 ms |
External run evidence from test/cli-q.test.ts
Test anchors: test:protocol.evaluation-sink, test:protocol.query-answer-shapes, test:protocol.query-params. Specs verified by those bindings: spec:consumers.agent-surface.evaluation-sink, spec:consumers.agent-surface.recipe-parameters.
| Name | Suite | Result | Duration |
|---|---|---|---|
| evaluates an argv body over the derived graph and prints the pre-shaped return | sdp q — the agent front door | passed | 30.39 ms |
| reads the body from stdin when stdin is not a terminal | sdp q — the agent front door | passed | 11.91 ms |
| prefers the argv body over stdin when both are available | sdp q — the agent front door | passed | 14.65 ms |
| refuses with no body when stdin is a terminal instead of waiting on it | sdp q — the agent front door | passed | 0.57 ms |
| refuses an empty body rather than evaluating nothing | sdp q — the agent front door | passed | 1.03 ms |
| prints JSON for --json | sdp q — the agent front door | passed | 8.67 ms |
| exits 1 and names the failure when the body throws | sdp q — the agent front door | passed | 7.44 ms |
| exits 1 on a body that does not compile | sdp q — the agent front door | passed | 16.25 ms |
| awaits an asynchronous body | sdp q — the agent front door | passed | 15.42 ms |
| injects a live reader: the entry adapters answer from the derived graph | sdp q — the agent front door | passed | 10.83 ms |
| injects the raw graph schema alongside the reader | sdp q — the agent front door | passed | 6.7 ms |
| injects the validation report as data, never as a gate | sdp q — the agent front door | passed | 6.86 ms |
| runs the body when the graph merely reports findings — checks never gate the read path | sdp q — the agent front door | passed | 10.25 ms |
| refuses to run the body when the graph does not derive, rendering the extraction findings | sdp q — the agent front door | passed | 21.64 ms |
| reports a body that returns nothing rather than printing a silent blank | sdp q — the agent front door | passed | 8.74 ms |
| refuses an unknown option and a second body without deriving anything | sdp q — the agent front door | passed | 0.44 ms |
| refuses an empty --root instead of reinterpreting it as the working directory | sdp q — the agent front door | passed | 0.2 ms |
| refuses a root that is not a directory, naming the resolved absolute path | sdp q — the agent front door | passed | 0.24 ms |
| honours --exclude, so the sink omits exactly the paths the caller names | sdp q — the agent front door | passed | 4.01 ms |
| runs the body when extraction itself only warns — the warning is data, never a gate | sdp q — the agent front door | passed | 4.45 ms |
| detects a terminal from the file descriptor, never from a stream property | sdp q — the agent front door | passed | 4.05 ms |
| puts --exclude through the strict exclusion contract before deriving anything | sdp q — the agent front door | passed | 0.39 ms |
| reports a throw from rendering the return value through the one diagnostic currency | sdp q — the agent front door | passed | 5.29 ms |
| refuses a --json return value whose toJSON yields no JSON form | sdp q — the agent front door | passed | 6.38 ms |
| writes nothing: the sink is a pure read tool | sdp q — the agent front door | passed | 263.76 ms |
| injects params as a fourth binding beside g, graph and report | sdp q --params — a recipe parameter as data | passed | 5.95 ms |
| binds params to an empty object without the flag | sdp q --params — a recipe parameter as data | passed | 4.99 ms |
| passes any JSON object through unchanged | sdp q --params — a recipe parameter as data | passed | 8.81 ms |
| reads params from a file named with @PATH, a byte-order mark dropped | sdp q --params — a recipe parameter as data | passed | 4.97 ms |
| refuses inline text that is not JSON before the body runs: exit 1, one line, nothing on stdout | sdp q --params — a recipe parameter as data | passed | 0.84 ms |
| refuses an empty value before the body runs: exit 1, one line, nothing on stdout | sdp q --params — a recipe parameter as data | passed | 0.32 ms |
| refuses null before the body runs: exit 1, one line, nothing on stdout | sdp q --params — a recipe parameter as data | passed | 0.29 ms |
| refuses an array before the body runs: exit 1, one line, nothing on stdout | sdp q --params — a recipe parameter as data | passed | 0.28 ms |
| refuses a string before the body runs: exit 1, one line, nothing on stdout | sdp q --params — a recipe parameter as data | passed | 0.83 ms |
| refuses a number before the body runs: exit 1, one line, nothing on stdout | sdp q --params — a recipe parameter as data | passed | 1.48 ms |
| refuses a boolean before the body runs: exit 1, one line, nothing on stdout | sdp q --params — a recipe parameter as data | passed | 0.23 ms |
| refuses a file that cannot be read before the body runs: exit 1, one line, nothing on stdout | sdp q --params — a recipe parameter as data | passed | 0.31 ms |
| refuses an @ with no path before the body runs: exit 1, one line, nothing on stdout | sdp q --params — a recipe parameter as data | passed | 0.21 ms |
| refuses a missing value before the body runs: exit 1, one line, nothing on stdout | sdp q --params — a recipe parameter as data | passed | 0.24 ms |
| refuses a flag in place of the value before the body runs: exit 1, one line, nothing on stdout | sdp q --params — a recipe parameter as data | passed | 0.14 ms |
| refuses a repeated key before the body runs: exit 1, one line, nothing on stdout | sdp q --params — a recipe parameter as data | passed | 0.22 ms |
| refuses a key outside the lower-camel grammar before the body runs: exit 1, one line, nothing on stdout | sdp q --params — a recipe parameter as data | passed | 0.19 ms |
| refuses a file whose JSON is not an object, in one line naming the file | sdp q --params — a recipe parameter as data | passed | 0.37 ms |
| refuses a file whose text is not JSON, in one line naming the file | sdp q --params — a recipe parameter as data | passed | 0.37 ms |
| locates a refused body return ) | query body positions and merged parameters | passed | 1.26 ms |
| locates a refused body return 1; foo bar | query body positions and merged parameters | passed | 0.83 ms |
| locates a refused body let x = 'a' 'bcdef'; | query body positions and merged parameters | passed | 0.74 ms |
| locates a refused body const value = 1; return ) | query body positions and merged parameters | passed | 0.66 ms |
| locates a refused body return ( | query body positions and merged parameters | passed | 0.63 ms |
| names a body that stops short instead of the wrapper's closing brace | query body positions and merged parameters | passed | 0.75 ms |
| keeps runtime failures separate, including a thrown SyntaxError | query body positions and merged parameters | passed | 0.48 ms |
| refuses repeated top-level keys inside one inline object before extraction | query body positions and merged parameters | passed | 1.48 ms |
| refuses repeated top-level keys inside one file object before extraction | query body positions and merged parameters | passed | 1.63 ms |
| accepts nested duplicates and duplicate-looking text inside values | query body positions and merged parameters | passed | 0.63 ms |
| binds a keyed file's JSON value null beside merged objects | query body positions and merged parameters | passed | 0.76 ms |
| binds a keyed file's JSON value 1 beside merged objects | query body positions and merged parameters | passed | 0.6 ms |
| binds a keyed file's JSON value "text" beside merged objects | query body positions and merged parameters | passed | 0.83 ms |
| binds a keyed file's JSON value 4 beside merged objects | query body positions and merged parameters | passed | 0.94 ms |
| binds a keyed file's JSON value true beside merged objects | query body positions and merged parameters | passed | 0.85 ms |
| binds a keyed file's JSON value {"nested":{"a":1}} beside merged objects | query body positions and merged parameters | passed | 0.8 ms |
| refuses duplicate keys from inline-file before extraction | query body positions and merged parameters | passed | 0.39 ms |
| refuses duplicate keys from file-inline before extraction | query body positions and merged parameters | passed | 0.22 ms |
| refuses duplicate keys from keyed-inline before extraction | query body positions and merged parameters | passed | 0.34 ms |
| refuses duplicate keys from inline-keyed before extraction | query body positions and merged parameters | passed | 0.33 ms |
| refuses duplicate keys from keyed-keyed before extraction | query body positions and merged parameters | passed | 0.35 ms |
| keeps merged parameter keys writable for the caller's body | query body positions and merged parameters | passed | 0.48 ms |
| refuses an invalid keyed input key=@ before extraction | query body positions and merged parameters | passed | 0.29 ms |
| refuses an invalid keyed input key=@missing-file.json before extraction | query body positions and merged parameters | passed | 0.21 ms |
| refuses an invalid keyed input bad-key=@missing-file.json before extraction | query body positions and merged parameters | passed | 0.13 ms |
| refuses an invalid keyed input bad_key=@missing-file.json before extraction | query body positions and merged parameters | passed | 0.18 ms |
| reads inline JSON and @PATH before KEY=@PATH when the input contains =@ | query body positions and merged parameters | passed | 0.54 ms |
| refuses a keyed file holding invalid JSON before extraction | query body positions and merged parameters | passed | 0.36 ms |
| merges own keys without treating __proto__ as an assignment | query body positions and merged parameters | passed | 0.49 ms |
External run evidence from test/codegen.test.ts
Test anchors: test:protocol.runnable-modules-generation. Specs verified by those bindings: spec:extraction.runnable-modules.
| Name | Suite | Result | Duration |
|---|---|---|---|
| emits a space contract per example-space parent and a step contract per bindable example | the contracts codegen stage | passed | 5.59 ms |
| emits an exhaustive sibling registrar for a bindable anchored example | the contracts codegen stage | passed | 2.86 ms |
| keys sibling registrar paths by Spec ID when one authored suite verifies multiple examples | the contracts codegen stage | passed | 4.05 ms |
| refuses multiple distinct registrar paths for one example | the contracts codegen stage | passed | 1.4 ms |
| is deterministic: two generations over one graph are byte-identical | the contracts codegen stage | passed | 1.73 ms |
| refuses a prose-only example and an unbound-slot example — refusing is the honest behavior | the contracts codegen stage | passed | 0.7 ms |
| emits a step contract with inferred param types when no parent vocabulary matches | the contracts codegen stage | passed | 0.43 ms |
| withholds a child contract when its steps drift outside an existing parent vocabulary | the contracts codegen stage | passed | 1.38 ms |
| withholds a child contract when multiple parent spaces type one skeleton incompatibly | the contracts codegen stage | passed | 0.99 ms |
| keeps a partial point honest: only the bound dimensions enter the point | the contracts codegen stage | passed | 0.69 ms |
| keeps incomplete contract points in reader and recipe coverage | the contracts codegen stage | passed | 6.08 ms |
| counts the review probe's small binding with an empty Then in recipe 44 | the contracts codegen stage | passed | 1.83 ms |
| warns and drops an undeclared slot from the point — loud, never silent (L2) | the contracts codegen stage | passed | 0.66 ms |
| warns and drops an off-dimension value; the step contract widens the slot so it still compiles | the contracts codegen stage | passed | 0.83 ms |
| warns on a conflicting re-binding of one skeleton within one example — first wins (MD-17) | the contracts codegen stage | passed | 0.69 ms |
| warns on a conflicting dimension declaration across vocabulary steps — first wins | the contracts codegen stage | passed | 0.33 ms |
| warns on conflicting declarations of one dimension within a vocabulary step — first wins | the contracts codegen stage | passed | 0.36 ms |
| refuses to guess the single-quoted-literal vocabulary form — deferred to the grammar session, loudly | the contracts codegen stage | passed | 0.48 ms |
| warns on a vocabulary slot that declares no usable type — an authored slot never falls out silently (L2) | the contracts codegen stage | passed | 0.4 ms |
| binding a Then-vocabulary slot is ordinary (the outcome point) — no undeclared-slot warning | the contracts codegen stage | passed | 0.68 ms |
| emits nothing over a graph with no example spaces and no bindable examples | the contracts codegen stage | passed | 0.2 ms |
| derives contract AND point from the first complete entry, and names extra entries (MD-17 made loud) | the contracts codegen stage | passed | 0.59 ms |
| warns on a conflicting re-binding of one slot WITHIN a single step text — first wins | the contracts codegen stage | passed | 0.47 ms |
| withholds the contracts tree WHOLE on a case-colliding path — all-or-nothing, never a second gate | the contracts codegen stage | passed | 1.29 ms |
External run evidence from test/concept-match.test.ts
Test anchors: test:protocol.studio-concept-match. Specs verified by those bindings: spec:consumers.spec-studio.search.
| Name | Suite | Result | Duration |
|---|---|---|---|
| ships a standalone matcher module with no Node dependency | the concept matcher shared by the reader and Studio | passed | 1.71 ms |
| keeps reader results and their order for "order" on both corpora | the concept matcher shared by the reader and Studio | passed | 160.75 ms |
| keeps reader results and their order for "ready" on both corpora | the concept matcher shared by the reader and Studio | passed | 128.9 ms |
| keeps reader results and their order for "sentinel" on both corpora | the concept matcher shared by the reader and Studio | passed | 81.92 ms |
| keeps reader results and their order for "POST /ORDERS" on both corpora | the concept matcher shared by the reader and Studio | passed | 98.71 ms |
| keeps reader results and their order for "inventorySnapshot" on both corpora | the concept matcher shared by the reader and Studio | passed | 68.28 ms |
| keeps reader results and their order for "given" on both corpora | the concept matcher shared by the reader and Studio | passed | 61.51 ms |
| keeps reader results and their order for "" on both corpora | the concept matcher shared by the reader and Studio | passed | 33.99 ms |
| keeps reader results and their order for " " on both corpora | the concept matcher shared by the reader and Studio | passed | 36.06 ms |
| pins ranking and the fields the reader scans independently of its caller | the concept matcher shared by the reader and Studio | passed | 0.38 ms |
| appends only coined-key and file matches, after concept matches | the concept matcher shared by the reader and Studio | passed | 0.39 ms |
External run evidence from test/corpus-rules.test.ts
Test anchors: test:protocol.validate-watch-rules. Specs verified by those bindings: spec:consumers.validate-watch.
| Name | Suite | Result | Duration |
|---|---|---|---|
| documents repeatable rules, per-file parameters and check-clean | corpus rule arguments | passed | 1.65 ms |
| refuses "--params" before deriving | corpus rule arguments | passed | 1.15 ms |
| refuses "--params" before deriving | corpus rule arguments | passed | 0.27 ms |
| refuses "--rules" before deriving | corpus rule arguments | passed | 0.16 ms |
| refuses "--rules" before deriving | corpus rule arguments | passed | 0.46 ms |
| refuses "--rules" before deriving | corpus rule arguments | passed | 0.65 ms |
| refuses "--rules" before deriving | corpus rule arguments | passed | 0.28 ms |
| refuses "--rules" before deriving | corpus rule arguments | passed | 0.29 ms |
| refuses "--rules" before deriving | corpus rule arguments | passed | 0.25 ms |
| binds parameters to the preceding file across other options | corpus rule arguments | passed | 1.23 ms |
| refuses rules on build | corpus rule arguments | passed | 0.41 ms |
| refuses rules on view | corpus rule arguments | passed | 0.12 ms |
| refuses rules on census | corpus rule arguments | passed | 0.12 ms |
| refuses rules on mermaid | corpus rule arguments | passed | 0.21 ms |
| refuses rules on gherkin | corpus rule arguments | passed | 0.18 ms |
| refuses rules on q | corpus rule arguments | passed | 0.3 ms |
| refuses the same rules file through a symlink before deriving | corpus rules on validate | passed | 1.8 ms |
| refuses a finding file outside root-relative POSIX paths: /etc/passwd | corpus rules on validate | passed | 16.73 ms |
| refuses a finding file outside root-relative POSIX paths: ../outside.ts | corpus rules on validate | passed | 3.88 ms |
| refuses a finding file outside root-relative POSIX paths: src/../../outside.ts | corpus rules on validate | passed | 3.36 ms |
| refuses a finding file outside root-relative POSIX paths: src\\probe.ts | corpus rules on validate | passed | 3.11 ms |
| refuses a finding file outside root-relative POSIX paths: C:/outside.ts | corpus rules on validate | passed | 2.98 ms |
| reports a root-relative finding path: src/probe.ts | corpus rules on validate | passed | 2.83 ms |
| reports a root-relative finding path: src/../probe.ts | corpus rules on validate | passed | 6.27 ms |
| reports a error finding apart from Protocol findings | corpus rules on validate | passed | 3.96 ms |
| reports a warning finding apart from Protocol findings | corpus rules on validate | passed | 4.33 ms |
| fails a broken file and continues: throw new Error('two\nlines') | corpus rules on validate | passed | 2.91 ms |
| fails a broken file and continues: return { | corpus rules on validate | passed | 6.94 ms |
| fails a broken file and continues: return { diagnostics: ['bad'] } | corpus rules on validate | passed | 2.78 ms |
| fails a broken file and continues: return { unknownParams: ['typo'], accepts: [] } | corpus rules on validate | passed | 2.77 ms |
| fails a broken file and continues: return { findings: [{ validatorId: 'a', severity: 'warning', message: 'x' }] } | corpus rules on validate | passed | 2.99 ms |
| fails a broken file and continues: return { findings: [{ ...({ validatorId: "probe-rule", subjectId: "probe-subject", severity: "error", message: "probe finding" }), severity: 'info' }] } | corpus rules on validate | passed | 2.79 ms |
| fails a broken file and continues: return { findings: [{ ...({ validatorId: "probe-rule", subjectId: "probe-subject", severity: "error", message: "probe finding" }), validatorId: 'a/b' }] } | corpus rules on validate | passed | 2.3 ms |
| fails a broken file and continues: return { findings: [{ ...({ validatorId: "probe-rule", subjectId: "probe-subject", severity: "error", message: "probe finding" }), line: 1 }] } | corpus rules on validate | passed | 2.39 ms |
| fails a broken file and continues: return { findings: [{ ...({ validatorId: "probe-rule", subjectId: "probe-subject", severity: "error", message: "probe finding" }), relatedId: 1 }] } | corpus rules on validate | passed | 2.41 ms |
| fails a broken file and continues: return { findings: [{ ...({ validatorId: "probe-rule", subjectId: "probe-subject", severity: "error", message: "probe finding" }), path: 1 }] } | corpus rules on validate | passed | 2.31 ms |
| fails a broken file and continues: return { findings: [{ ...({ validatorId: "probe-rule", subjectId: "probe-subject", severity: "error", message: "probe finding" }), file: '' }] } | corpus rules on validate | passed | 2.32 ms |
| fails an unreadable file | corpus rules on validate | passed | 2.24 ms |
| discards every finding of a malformed answer | corpus rules on validate | passed | 2.17 ms |
| clones the graph and report separately for each file and leaves written bytes whole | corpus rules on validate | passed | 4.12 ms |
| gives each file only its own parameters, including JSON files and keyed values | corpus rules on validate | passed | 2.88 ms |
| keeps the ordinary validate output unchanged and q report free of corpus data | corpus rules on validate | passed | 4.56 ms |
| does not run rules when the graph does not derive | corpus rules on validate | passed | 2.23 ms |
| exposes corpus data only on the aggregate validate outcome | not recorded | passed | 5.57 ms |
| awaits bodies in file order and keeps a Protocol error fatal | not recorded | passed | 2.87 ms |
| SIGINT exits 0 during a live rules body, with no later output or rules, even if it can settle: false | not recorded | passed | 409.71 ms |
| SIGINT exits 0 during a live rules body, with no later output or rules, even if it can settle: true | not recorded | passed | 452.12 ms |
| rereads rules when its file changes | not recorded | passed | 7.7 ms |
| gives each watch cycle fresh parameters after a body mutates them | not recorded | passed | 5.19 ms |
External run evidence from test/curation-imports.test.ts
Test anchors: test:protocol.curation-imports. Specs verified by those bindings: spec:consumers.impact-graph, spec:consumers.impact-graph.curation-assist.
| Name | Suite | Result | Duration |
|---|---|---|---|
| compares Windows source paths in the form the compiler returns them | TypeScript curation imports | passed | 1.95 ms |
| resolves aliases, JS specifiers, types, side effects, import equals and cyclic barrels within configured roots | TypeScript curation imports | passed | 611.38 ms |
| sorts paths by code unit, includes empty files, and deduplicates overlapping roots | TypeScript curation imports | passed | 623.27 ms |
| follows re-exports through files outside the roots but never follows ordinary transitive imports | TypeScript curation imports | passed | 250.5 ms |
| reads literal dynamic imports and import types, and skips computed specifiers | TypeScript curation imports | passed | 706.19 ms |
| excludes exact files and subtrees with segment boundaries and normalized metadata | TypeScript curation imports | passed | 490.89 ms |
| resolves barrel reach through excluded intermediates without emitting them | TypeScript curation imports | passed | 239.24 ms |
| accepts empty exclusions and normalizes root-relative exclusion spellings | TypeScript curation imports | passed | 773.99 ms |
| refuses invalid exclusion configuration {"extra":true} | TypeScript curation imports | passed | 2.41 ms |
| refuses invalid exclusion configuration {"exclude":null} | TypeScript curation imports | passed | 1.45 ms |
| refuses invalid exclusion configuration {"exclude":"code"} | TypeScript curation imports | passed | 1.36 ms |
| refuses invalid exclusion configuration {"exclude":[1]} | TypeScript curation imports | passed | 1.27 ms |
| refuses invalid exclusion configuration {"exclude":[""]} | TypeScript curation imports | passed | 1.24 ms |
| refuses invalid exclusion configuration {"exclude":[" "]} | TypeScript curation imports | passed | 1.41 ms |
| refuses invalid exclusion configuration {"exclude":["."]} | TypeScript curation imports | passed | 1.39 ms |
| refuses invalid exclusion configuration {"exclude":["./"]} | TypeScript curation imports | passed | 1.27 ms |
| refuses invalid exclusion configuration {"exclude":["../other"]} | TypeScript curation imports | passed | 3.83 ms |
| refuses invalid exclusion configuration {"exclude":["code/../../other"]} | TypeScript curation imports | passed | 1.26 ms |
| refuses invalid exclusion configuration {"exclude":["/code"]} | TypeScript curation imports | passed | 1.31 ms |
| refuses invalid exclusion configuration {"exclude":["C:/code"]} | TypeScript curation imports | passed | 1.25 ms |
| refuses invalid exclusion configuration {"exclude":["C:code"]} | TypeScript curation imports | passed | 2.18 ms |
| refuses invalid exclusion configuration {"exclude":["code\\leaf.ts"]} | TypeScript curation imports | passed | 3.76 ms |
| refuses invalid configuration {} | TypeScript curation imports | passed | 3.56 ms |
| refuses invalid configuration {"adapter":"other","tsconfig":"tsconfig.json","roots":["code"]} | TypeScript curation imports | passed | 2.13 ms |
| refuses invalid configuration {"adapter":"typescript","tsconfig":"tsconfig.json","roots":[]} | TypeScript curation imports | passed | 1.27 ms |
| refuses invalid configuration {"adapter":"typescript","tsconfig":"tsconfig.json","roots":[1]} | TypeScript curation imports | passed | 1.22 ms |
| refuses invalid configuration {"adapter":"typescript","tsconfig":"../tsconfig.json","roots":["code"]} | TypeScript curation imports | passed | 1.27 ms |
| refuses invalid configuration {"adapter":"typescript","tsconfig":"tsconfig.json","roots":["../"]} | TypeScript curation imports | passed | 1.16 ms |
| refuses invalid configuration {"adapter":"typescript","tsconfig":"tsconfig.json","roots":["/src"]} | TypeScript curation imports | passed | 3.27 ms |
| refuses the source root missing by its configured path | TypeScript curation imports | passed | 1.56 ms |
| refuses the source root code/leaf.ts by its configured path | TypeScript curation imports | passed | 1.88 ms |
| builds the imports file atomically and leaves the curated graph byte-identical | TypeScript curation imports | passed | 942.63 ms |
| writes no imports file without the flag and preserves an existing file even on build failure | TypeScript curation imports | passed | 25.59 ms |
| removes requested stale imports after a configuration or extraction failure | TypeScript curation imports | passed | 181.56 ms |
| refuses invalid build flag argv "build" | TypeScript curation imports | passed | 0.19 ms |
| refuses invalid build flag argv "build" | TypeScript curation imports | passed | 0.09 ms |
| refuses invalid build flag argv "build" | TypeScript curation imports | passed | 0.05 ms |
| refuses invalid build flag argv "build" | TypeScript curation imports | passed | 0.04 ms |
| refuses invalid build flag argv "validate" | TypeScript curation imports | passed | 0.04 ms |
| refuses invalid build flag argv "view" | TypeScript curation imports | passed | 0.03 ms |
| refuses invalid build flag argv "census" | TypeScript curation imports | passed | 0.03 ms |
| refuses invalid build flag argv "mermaid" | TypeScript curation imports | passed | 0.03 ms |
| refuses invalid build flag argv "gherkin" | TypeScript curation imports | passed | 0.12 ms |
| completes over the repository src and lists a known build-command import | TypeScript curation imports | passed | 2250.37 ms |
External run evidence from test/curation-recipes.test.ts
Test anchors: test:protocol.curation-recipe, test:protocol.slimming-recipe. Specs verified by those bindings: spec:consumers.impact-graph.curation-assist, spec:model.enrichment-lifecycle.
| Name | Suite | Result | Duration |
|---|---|---|---|
| requires both facts and uses recipe 24's opening span rule, with lines and bindings | slimming candidates recipe | passed | 8.7 ms |
| selects only Pack members and returns no rows for a clean Pack | slimming candidates recipe | passed | 2.5 ms |
| distinguishes an unknown Pack from a clean existing Pack | slimming candidates recipe | passed | 1.99 ms |
| includes enabled example verifier bindings without claiming they realize an entry | slimming candidates recipe | passed | 1.59 ms |
| returns diagnostics and no rows for invalid imports input undefined | curation report recipe | passed | 5.5 ms |
| returns diagnostics and no rows for invalid imports input null | curation report recipe | passed | 0.96 ms |
| returns diagnostics and no rows for invalid imports input [] | curation report recipe | passed | 0.61 ms |
| returns diagnostics and no rows for invalid imports input 'imports' | curation report recipe | passed | 0.67 ms |
| returns diagnostics and no rows for invalid imports input {} | curation report recipe | passed | 0.8 ms |
| returns diagnostics and no rows for invalid imports input { schema: 'sdp-imports/2', …(2) } | curation report recipe | passed | 0.56 ms |
| returns diagnostics and no rows for invalid imports input { schema: 'sdp-imports/1', files: [] } | curation report recipe | passed | 0.55 ms |
| returns diagnostics and no rows for invalid imports input { schema: 'sdp-imports/1', …(2) } | curation report recipe | passed | 0.54 ms |
| returns diagnostics and no rows for invalid imports input { schema: 'sdp-imports/1', …(3) } | curation report recipe | passed | 0.6 ms |
| returns diagnostics and no rows for invalid imports input { schema: 'sdp-imports/1', …(3) } | curation report recipe | passed | 0.6 ms |
| returns diagnostics and no rows for invalid imports input { schema: 'sdp-imports/1', …(2) } | curation report recipe | passed | 0.59 ms |
| returns diagnostics and no rows for invalid imports input { schema: 'sdp-imports/1', …(2) } | curation report recipe | passed | 0.52 ms |
| returns diagnostics and no rows for invalid imports input { schema: 'sdp-imports/1', …(2) } | curation report recipe | passed | 0.48 ms |
| returns diagnostics and no rows for invalid limit 0 | curation report recipe | passed | 0.51 ms |
| returns diagnostics and no rows for invalid limit -1 | curation report recipe | passed | 0.43 ms |
| returns diagnostics and no rows for invalid limit 1.5 | curation report recipe | passed | 0.53 ms |
| returns diagnostics and no rows for invalid limit "1" | curation report recipe | passed | 0.41 ms |
| returns diagnostics and no rows for invalid limit null | curation report recipe | passed | 0.41 ms |
| returns diagnostics and no rows for invalid limit true | curation report recipe | passed | 0.47 ms |
| recognizes every lawful component-id segment and keeps invalid convention values out | curation report recipe | passed | 0.73 ms |
| echoes import exclusions without changing the supplied graph or inferring omissions | curation report recipe | passed | 2.31 ms |
| joins directed component pairs, ranks uncovered files and reports incomplete input and unrealized designs | curation report recipe | passed | 1.11 ms |
| applies the limit only to uncovered rows and counts distinct file pairs | curation report recipe | passed | 0.92 ms |
| aggregates file pairs for a component pair and picks the first sample in path order | curation report recipe | passed | 0.8 ms |
| uses code-unit order for tied ranks and samples, and defaults to twenty uncovered rows | curation report recipe | passed | 2.17 ms |
| keeps several component bindings in one file and ignores inferred structural edges | curation report recipe | passed | 1.28 ms |
| builds a small fixture imports file and supplies its object to the recipe, backing uses through a barrel | curation report recipe | passed | 520.53 ms |
| reports missing or malformed parameter data {} | curation report recipe | passed | 0.62 ms |
| reports missing or malformed parameter data {"imports":{}} | curation report recipe | passed | 0.36 ms |
| reports missing or malformed parameter data {"imports":{"schema":"sdp-imports/1","adapter":"typescript","files":[{"file":"code/idle.ts","imports":[]},{"file":"code/a.ts","imports":["code/index.ts","code/leaf.ts"]},{"file":"code/index.ts","imports":["code/leaf.ts"]},{"file":"code/leaf.ts","imports":["code/a.ts"]},{"file":"code/loose.ts","imports":[]}]},"limit":-1} | curation report recipe | passed | 0.32 ms |
| reports missing or malformed parameter data {"imports":{"schema":"sdp-imports/1","adapter":"typescript","files":[{"file":"code/idle.ts","imports":[]},{"file":"code/a.ts","imports":["code/index.ts","code/leaf.ts"]},{"file":"code/index.ts","imports":["code/leaf.ts"]},{"file":"code/leaf.ts","imports":["code/a.ts"]},{"file":"code/loose.ts","imports":[]}]},"limit":1.5} | curation report recipe | passed | 0.28 ms |
External run evidence from test/design-review-pack-page.test.ts
Test anchors: test:protocol.pack-design-page. Specs verified by those bindings: spec:consumers.design-review.pack-design-page.
| Name | Suite | Result | Duration |
|---|---|---|---|
| keeps the title line, framing and vocabulary, then renders the sections in order | the Design Review's Pack page presents the Pack design | passed | 12.01 ms |
| numbers one member row from 1 in authored order, with design columns and binding columns | the Design Review's Pack page presents the Pack design | passed | 3.61 ms |
| lists what holds each member below its stated next rung, and apart, the members that wait for their author | the Design Review's Pack page presents the Pack design | passed | 2.94 ms |
| renders the boundary as four lists, each row with its rung, its binding and the members it joins | the Design Review's Pack page presents the Pack design | passed | 2.5 ms |
| renders outside superseding decisions apart from Specs that rest on members | the Design Review's Pack page presents the Pack design | passed | 2.49 ms |
| groups questions by member with their flag, address, escaped text and a line link | the Design Review's Pack page presents the Pack design | passed | 4.7 ms |
| lists each member's realizing and referencing units with a line link, role and component | the Design Review's Pack page presents the Pack design | passed | 2.09 ms |
| percent-encodes each path segment of a line link and escapes brackets in its label | the Design Review's Pack page presents the Pack design | passed | 2.02 ms |
| keeps a multiline title, question or label inside its heading or list item | the Design Review's Pack page presents the Pack design | passed | 3.46 ms |
| speaks binding language: no delivery-fact name renders as text | the Design Review's Pack page presents the Pack design | passed | 3.05 ms |
| renders byte-identical pages from two freshly derived graphs, with no time or commit | the Design Review's Pack page presents the Pack design | passed | 6.98 ms |
| says so in one line where a section has nothing to show | the Design Review's Pack page presents the Pack design | passed | 0.86 ms |
External run evidence from test/design-review.test.ts
Test anchors: test:protocol.projections-model.rendering. Specs verified by those bindings: spec:consumers.projections-model.
| Name | Suite | Result | Duration |
|---|---|---|---|
| labels the index as diagnostic when the real reader reports validation errors | the generated Design Review | passed | 28.28 ms |
| publishes the real diagnostic Design Review and returns nonzero | the generated Design Review | passed | 12.54 ms |
| renders the self-hosting spec narrative from the graph | the generated Design Review | passed | 1.17 ms |
| renders every owned description as escaped prose and omits absent prose artifacts | the generated Design Review | passed | 1.58 ms |
| reads no authored Markdown source while projecting graph and Reader values | the generated Design Review | passed | 1.64 ms |
| renders the committed self-hosting corpus byte-identically at two absolute roots | the generated Design Review | passed | 8688.68 ms |
| rejects swapped prose semantically even when the wrong graph renders deterministically | the generated Design Review | passed | 2.73 ms |
| percent-encodes source link targets on Spec and Pack headers and every binding | the generated Design Review | passed | 25.35 ms |
| percent-encodes page link targets on the index and detail pages | the generated Design Review | passed | 17.39 ms |
| golden correctness oracle: the renderer produces the right view, page set and bytes | the generated Design Review | passed | 1.15 ms |
| renders authored entry order in lists and the Model table | the generated Design Review | passed | 0.9 ms |
| re-rendering from the same graph is byte-identical (a pure projection) | the generated Design Review | passed | 19.07 ms |
| renders byte-identically when graph node insertion order differs | the generated Design Review | passed | 0.96 ms |
| escapes Markdown text fields and open-section strings | the generated Design Review | passed | 0.66 ms |
| speaks binding language, never liveness: bindings present/none, observation not tracked | the generated Design Review | passed | 0.28 ms |
| distinguishes the enabled verifier from the unenabled one — the claim cues travel along | the generated Design Review | passed | 0.16 ms |
| keeps the incomplete trace in bindings without a below-ready warning | the generated Design Review | passed | 0.19 ms |
| locates a deliberate finding through structured Primitive fields | the generated Design Review | passed | 16.7 ms |
| shows what a verifier covers on its own page (JS-G2: from the test back to the spec) | the generated Design Review | passed | 0.23 ms |
| renders bound example steps naturally while preserving typed parent vocabulary | the generated Design Review | passed | 0.22 ms |
| renders a test-anchor verifier as the enabled binding only along its contract row | the generated Design Review | passed | 1.36 ms |
| names the off-contract claim, never a missing anchor, when a bound example's edge is off-contract | the generated Design Review | passed | 0.6 ms |
| renders the pack as a review unit with the verifier gaps surfaced | the generated Design Review | passed | 0.14 ms |
| raises the derived-readiness banner only in the dishonest direction | the generated Design Review | passed | 0.99 ms |
| names an unresolved relation target instead of linking it | the generated Design Review | passed | 0.41 ms |
| lists the referencing units with file and line, and the reference confers no binding | the generated Design Review | passed | 8.09 ms |
| shows a component row's layer and context | the generated Design Review | passed | 0.57 ms |
External run evidence from test/entry-citations.test.ts
Test anchors: test:protocol.entry-citations.code-comment-cites-declaration, test:protocol.entry-citations.test-title-cites-declaration, test:protocol.entry-citations.unanchored-file-unread, test:protocol.entry-citations.unresolved-citation. Specs verified by those bindings: spec:extraction.entry-citations, spec:extraction.entry-citations.code-comment-cites-declaration, spec:extraction.entry-citations.test-title-cites-declaration, spec:extraction.entry-citations.unanchored-file-unread, spec:extraction.entry-citations.unresolved-citation.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | A test title in an anchored file cites a pinned declaration (spec:extraction.entry-citations.test-title-cites-declaration) | passed | 471.16 ms |
| executes the bound example against a fresh world | A code file's comment cites a declaration without reading as a test line (spec:extraction.entry-citations.code-comment-cites-declaration) | passed | 466.32 ms |
| executes the bound example against a fresh world | A file that carries no anchor is not read for citations (spec:extraction.entry-citations.unanchored-file-unread) | passed | 444.89 ms |
| executes the bound example against a fresh world | A citation of an entry its Spec lacks reports through the recipe, never as a Protocol finding (spec:extraction.entry-citations.unresolved-citation) | passed | 399.98 ms |
| scans comments, strings and templates, deduplicates a line and keeps code-unit order | entry citation extraction and reader | passed | 17.9 ms |
| records no citation for a token continued by interpolation, even when its prefix parses | entry citation extraction and reader | passed | 467.26 ms |
| keeps a literal malformed token beside an interpolated token on the same line | entry citation extraction and reader | passed | 0.43 ms |
| keeps a malformed literal before a separate template interpolation | entry citation extraction and reader | passed | 0.23 ms |
| records no citation for a prefix with trailing punctuation before interpolation | entry citation extraction and reader | passed | 0.27 ms |
| does not report a computed order key as an unresolved citation in recipe 51 | entry citation extraction and reader | passed | 482.07 ms |
| recipe 51 locates a citation of the second keyed question | entry citation extraction and reader | passed | 8.47 ms |
| ends citation tokens at source escapes before checking for an address | entry citation extraction and reader | passed | 6.53 ms |
| sorts in-memory citations by address on a shared source line | entry citation extraction and reader | passed | 6.78 ms |
| sorts reader citations by address before file and line | entry citation extraction and reader | passed | 4.96 ms |
| rejects a crashed rules file even when its exit code matches the example | entry citation extraction and reader | passed | 580.31 ms |
| counts Unicode source line separators as TypeScript does | entry citation extraction and reader | passed | 5.25 ms |
| reads a file carrying only an identity anchor, and ignores carriers and unanchored sources | entry citation extraction and reader | passed | 2.84 ms |
| includes only tests in the citing file that verify directly or through an example | entry citation extraction and reader | passed | 7.17 ms |
| reads a newly shared term address through termKeys even without location rows | entry citation extraction and reader | passed | 3.66 ms |
| does not treat future address sections as Model terms | entry citation extraction and reader | passed | 3.1 ms |
| resolves UI, rules, flows and questions without depending on entry locations | entry citation extraction and reader | passed | 4 ms |
External run evidence from test/entry-locations.test.ts
Test anchors: test:protocol.entry-locations. Specs verified by those bindings: spec:extraction.entry-locations, spec:validation.prose-mentions.
| Name | Suite | Result | Duration |
|---|---|---|---|
| locates each Gherkin relation at its own tag and defaults at the Scenario line | entry locations | passed | 6.91 ms |
| records Markdown Design, UI, keyed and unkeyed questions at their first item lines | entry locations | passed | 11.12 ms |
| locates Markdown question fields, rules, flows and declared relation targets | entry locations | passed | 3.12 ms |
| records TypeScript property lines through transparent wrappers | entry locations | passed | 22.49 ms |
| locates TypeScript string questions and omits properties dropped as non-static | entry locations | passed | 6.06 ms |
| locates Gherkin rules and relations while keeping open questions outside its grammar | entry locations | passed | 4.41 ms |
| sorts Specs and entries in code-unit order and serializes reversed rows identically | entry locations | passed | 4.36 ms |
| keeps Primitive and Pack nodes line-free when an edit above entries moves their lines | entry locations | passed | 6.24 ms |
| compares carrier parity on nodes and edges while locations differ | entry locations | passed | 7 ms |
| serializes an empty table for entries without recorded carrier lines | entry locations | passed | 3.99 ms |
| extracts the location table byte-identically twice | entry locations | passed | 3.74 ms |
| locates errors and warnings in behavior Behavior rule: entries | prose mention finding lines | passed | 20.91 ms |
| locates errors and warnings in behavior Behavior flow: entries | prose mention finding lines | passed | 2.84 ms |
| locates errors and warnings in rule Rule entries | prose mention finding lines | passed | 2.29 ms |
| locates errors and warnings in workflow Workflow entries | prose mention finding lines | passed | 2.16 ms |
| locates errors and warnings in workflow Workflow rule: entries | prose mention finding lines | passed | 2.7 ms |
| locates errors and warnings in contract Contract entries | prose mention finding lines | passed | 1.89 ms |
| locates question text, fields and links and omits an unrecorded line | prose mention finding lines | passed | 1.69 ms |
External run evidence from test/extract.test.ts
Test anchors: test:protocol.delivery-facts, test:protocol.extract. Specs verified by those bindings: spec:extraction.delivery-facts, spec:extraction.derive-graph.
| Name | Suite | Result | Duration |
|---|---|---|---|
| invalid-non-static-id: envelope hard error; the static sibling still extracts (L3) | extraction corpora | passed | 23.81 ms |
| invalid-malformed-id: a static id failing the id grammar is an invalid-id hard error | extraction corpora | passed | 5.63 ms |
| invalid-non-static-section: that one property drops with a warning; the spec survives | extraction corpora | passed | 4.75 ms |
| invalid-hand-authored-satisfies-edge: a raw relations[] entry is an envelope error | extraction corpora | passed | 6.29 ms |
| duplicate-id: TypeScript and Markdown sites are excluded before graph derivation; the healthy sibling remains | extraction corpora | passed | 15.13 ms |
| dangling-relation: the edge is emitted, not dropped; referential integrity flags it | extraction corpora | passed | 14.79 ms |
| unrecognized-statement: the stray statement warns and is ignored; the spec extracts | extraction corpora | passed | 5.36 ms |
| invalid-reserved-property: a hand-authored delivery fact at the top level is an envelope hard error; the sibling survives (L3) | extraction corpora | passed | 5.81 ms |
| unrecognized-property: a typoed section name drops with a warning; the spec survives without it | extraction corpora | passed | 3.43 ms |
| unrecognized in-section property: warns before canonical serialization drops it | extraction corpora | passed | 3.26 ms |
| model term named description: both carriers extract it as an ordinary term in its authored place | extraction corpora | passed | 6.42 ms |
| integer-like keys: refuses numeric and string integer-like names in design and keeps the Spec with its other keys | extraction corpora | passed | 2.77 ms |
| integer-like keys: refuses an integer-like name in ui | extraction corpora | passed | 2.12 ms |
| integer-like keys: refuses an integer-like name in model terms | extraction corpora | passed | 2.14 ms |
| integer-like keys: the string keys 00 and 01 in design are lawful and keep their values and order | extraction corpora | passed | 2.09 ms |
| integer-like keys: the string keys 00 and 01 in ui are lawful and keep their values and order | extraction corpora | passed | 1.75 ms |
| integer-like keys: the string keys 00 and 01 in model terms are lawful and keep their values and order | extraction corpora | passed | 2.67 ms |
| integer-like keys: refuses the key in design whatever its value (a static value), with one error and the Spec kept | extraction corpora | passed | 1.69 ms |
| integer-like keys: refuses the key in design whatever its value (a call), with one error and the Spec kept | extraction corpora | passed | 2.24 ms |
| integer-like keys: refuses the key in design whatever its value (an unbound identifier), with one error and the Spec kept | extraction corpora | passed | 1.96 ms |
| integer-like keys: refuses the key in design whatever its value (a template with an expression), with one error and the Spec kept | extraction corpora | passed | 1.78 ms |
| integer-like keys: refuses the key in design whatever its value (an object with a non-static entry), with one error and the Spec kept | extraction corpora | passed | 1.58 ms |
| integer-like keys: refuses the key in ui whatever its value (a static value), with one error and the Spec kept | extraction corpora | passed | 1.49 ms |
| integer-like keys: refuses the key in ui whatever its value (a call), with one error and the Spec kept | extraction corpora | passed | 1.72 ms |
| integer-like keys: refuses the key in ui whatever its value (an unbound identifier), with one error and the Spec kept | extraction corpora | passed | 1.63 ms |
| integer-like keys: refuses the key in ui whatever its value (a template with an expression), with one error and the Spec kept | extraction corpora | passed | 1.66 ms |
| integer-like keys: refuses the key in ui whatever its value (an object with a non-static entry), with one error and the Spec kept | extraction corpora | passed | 1.62 ms |
| integer-like keys: refuses the key in model terms whatever its value (a static value), with one error and the Spec kept | extraction corpora | passed | 5.28 ms |
| integer-like keys: refuses the key in model terms whatever its value (a call), with one error and the Spec kept | extraction corpora | passed | 1.79 ms |
| integer-like keys: refuses the key in model terms whatever its value (an unbound identifier), with one error and the Spec kept | extraction corpora | passed | 1.25 ms |
| integer-like keys: refuses the key in model terms whatever its value (a template with an expression), with one error and the Spec kept | extraction corpora | passed | 1.43 ms |
| integer-like keys: refuses the key in model terms whatever its value (an object with a non-static entry), with one error and the Spec kept | extraction corpora | passed | 1.28 ms |
| integer-like keys: refuses design's integer-like name on a method, one error per member and the Spec kept | extraction corpora | passed | 1.86 ms |
| integer-like keys: refuses design's integer-like name on a string-named method, one error per member and the Spec kept | extraction corpora | passed | 1.39 ms |
| integer-like keys: refuses design's integer-like name on a numeric-separator-named method, one error per member and the Spec kept | extraction corpora | passed | 1.51 ms |
| integer-like keys: refuses design's integer-like name on a getter, one error per member and the Spec kept | extraction corpora | passed | 1.7 ms |
| integer-like keys: refuses design's integer-like name on a numeric-separator-named getter, one error per member and the Spec kept | extraction corpora | passed | 1.34 ms |
| integer-like keys: refuses design's integer-like name on a setter, one error per member and the Spec kept | extraction corpora | passed | 1.31 ms |
| integer-like keys: refuses design's integer-like name on a numeric-separator-named setter, one error per member and the Spec kept | extraction corpora | passed | 1.16 ms |
| integer-like keys: refuses design's integer-like name on a getter and a setter of one name, one error per member and the Spec kept | extraction corpora | passed | 1.13 ms |
| integer-like keys: refuses ui's integer-like name on a method, one error per member and the Spec kept | extraction corpora | passed | 1.44 ms |
| integer-like keys: refuses ui's integer-like name on a string-named method, one error per member and the Spec kept | extraction corpora | passed | 1.23 ms |
| integer-like keys: refuses ui's integer-like name on a numeric-separator-named method, one error per member and the Spec kept | extraction corpora | passed | 1.36 ms |
| integer-like keys: refuses ui's integer-like name on a getter, one error per member and the Spec kept | extraction corpora | passed | 1.23 ms |
| integer-like keys: refuses ui's integer-like name on a numeric-separator-named getter, one error per member and the Spec kept | extraction corpora | passed | 1.25 ms |
| integer-like keys: refuses ui's integer-like name on a setter, one error per member and the Spec kept | extraction corpora | passed | 1.17 ms |
| integer-like keys: refuses ui's integer-like name on a numeric-separator-named setter, one error per member and the Spec kept | extraction corpora | passed | 1.32 ms |
| integer-like keys: refuses ui's integer-like name on a getter and a setter of one name, one error per member and the Spec kept | extraction corpora | passed | 1.04 ms |
| integer-like keys: refuses model terms's integer-like name on a method, one error per member and the Spec kept | extraction corpora | passed | 1.23 ms |
| integer-like keys: refuses model terms's integer-like name on a string-named method, one error per member and the Spec kept | extraction corpora | passed | 1.29 ms |
| integer-like keys: refuses model terms's integer-like name on a numeric-separator-named method, one error per member and the Spec kept | extraction corpora | passed | 1.36 ms |
| integer-like keys: refuses model terms's integer-like name on a getter, one error per member and the Spec kept | extraction corpora | passed | 1.31 ms |
| integer-like keys: refuses model terms's integer-like name on a numeric-separator-named getter, one error per member and the Spec kept | extraction corpora | passed | 1.11 ms |
| integer-like keys: refuses model terms's integer-like name on a setter, one error per member and the Spec kept | extraction corpora | passed | 1.69 ms |
| integer-like keys: refuses model terms's integer-like name on a numeric-separator-named setter, one error per member and the Spec kept | extraction corpora | passed | 2.59 ms |
| integer-like keys: refuses model terms's integer-like name on a getter and a setter of one name, one error per member and the Spec kept | extraction corpora | passed | 1.54 ms |
| integer-like keys: a numeric name in design whose key is not integer-like (1.5, value "static") drops as a non-static name | extraction corpora | passed | 1.56 ms |
| integer-like keys: a numeric name in design whose key is not integer-like (1.5, value compute()) drops as a non-static name | extraction corpora | passed | 1.14 ms |
| integer-like keys: a numeric name in design whose key is not integer-like (0.0000001, value "static") drops as a non-static name | extraction corpora | passed | 1.7 ms |
| integer-like keys: a numeric name in design whose key is not integer-like (0.0000001, value compute()) drops as a non-static name | extraction corpora | passed | 1.18 ms |
| integer-like keys: a numeric name in design whose key is not integer-like (0.000_000_1, value "static") drops as a non-static name | extraction corpora | passed | 1.21 ms |
| integer-like keys: a numeric name in design whose key is not integer-like (0.000_000_1, value compute()) drops as a non-static name | extraction corpora | passed | 1.25 ms |
| integer-like keys: a numeric name in design whose key is not integer-like (1e21, value "static") drops as a non-static name | extraction corpora | passed | 1.16 ms |
| integer-like keys: a numeric name in design whose key is not integer-like (1e21, value compute()) drops as a non-static name | extraction corpora | passed | 1.12 ms |
| integer-like keys: a numeric name in design whose key is not integer-like (1_0e21, value "static") drops as a non-static name | extraction corpora | passed | 5.93 ms |
| integer-like keys: a numeric name in design whose key is not integer-like (1_0e21, value compute()) drops as a non-static name | extraction corpora | passed | 1.38 ms |
| integer-like keys: a numeric name in ui whose key is not integer-like (1.5, value "static") drops as a non-static name | extraction corpora | passed | 1.18 ms |
| integer-like keys: a numeric name in ui whose key is not integer-like (1.5, value compute()) drops as a non-static name | extraction corpora | passed | 1.39 ms |
| integer-like keys: a numeric name in ui whose key is not integer-like (0.0000001, value "static") drops as a non-static name | extraction corpora | passed | 1.66 ms |
| integer-like keys: a numeric name in ui whose key is not integer-like (0.0000001, value compute()) drops as a non-static name | extraction corpora | passed | 1.78 ms |
| integer-like keys: a numeric name in ui whose key is not integer-like (0.000_000_1, value "static") drops as a non-static name | extraction corpora | passed | 1.42 ms |
| integer-like keys: a numeric name in ui whose key is not integer-like (0.000_000_1, value compute()) drops as a non-static name | extraction corpora | passed | 1.48 ms |
| integer-like keys: a numeric name in ui whose key is not integer-like (1e21, value "static") drops as a non-static name | extraction corpora | passed | 1.51 ms |
| integer-like keys: a numeric name in ui whose key is not integer-like (1e21, value compute()) drops as a non-static name | extraction corpora | passed | 2.18 ms |
| integer-like keys: a numeric name in ui whose key is not integer-like (1_0e21, value "static") drops as a non-static name | extraction corpora | passed | 1.18 ms |
| integer-like keys: a numeric name in ui whose key is not integer-like (1_0e21, value compute()) drops as a non-static name | extraction corpora | passed | 1.16 ms |
| integer-like keys: a numeric name in model terms whose key is not integer-like (1.5, value "static") drops as a non-static name | extraction corpora | passed | 1.36 ms |
| integer-like keys: a numeric name in model terms whose key is not integer-like (1.5, value compute()) drops as a non-static name | extraction corpora | passed | 1.35 ms |
| integer-like keys: a numeric name in model terms whose key is not integer-like (0.0000001, value "static") drops as a non-static name | extraction corpora | passed | 1.13 ms |
| integer-like keys: a numeric name in model terms whose key is not integer-like (0.0000001, value compute()) drops as a non-static name | extraction corpora | passed | 1.1 ms |
| integer-like keys: a numeric name in model terms whose key is not integer-like (0.000_000_1, value "static") drops as a non-static name | extraction corpora | passed | 0.91 ms |
| integer-like keys: a numeric name in model terms whose key is not integer-like (0.000_000_1, value compute()) drops as a non-static name | extraction corpora | passed | 2.31 ms |
| integer-like keys: a numeric name in model terms whose key is not integer-like (1e21, value "static") drops as a non-static name | extraction corpora | passed | 3.62 ms |
| integer-like keys: a numeric name in model terms whose key is not integer-like (1e21, value compute()) drops as a non-static name | extraction corpora | passed | 1.34 ms |
| integer-like keys: a numeric name in model terms whose key is not integer-like (1_0e21, value "static") drops as a non-static name | extraction corpora | passed | 0.95 ms |
| integer-like keys: a numeric name in model terms whose key is not integer-like (1_0e21, value compute()) drops as a non-static name | extraction corpora | passed | 0.96 ms |
| integer-like keys: a numeric name in design whose key is integer-like (1e3, value "static") is refused under that key | extraction corpora | passed | 1.1 ms |
| integer-like keys: a numeric name in design whose key is integer-like (1e3, value compute()) is refused under that key | extraction corpora | passed | 1.3 ms |
| integer-like keys: a numeric name in design whose key is integer-like (0x10, value "static") is refused under that key | extraction corpora | passed | 1.39 ms |
| integer-like keys: a numeric name in design whose key is integer-like (0x10, value compute()) is refused under that key | extraction corpora | passed | 1.26 ms |
| integer-like keys: a numeric name in design whose key is integer-like (1_0, value "static") is refused under that key | extraction corpora | passed | 1.23 ms |
| integer-like keys: a numeric name in design whose key is integer-like (1_0, value compute()) is refused under that key | extraction corpora | passed | 1.2 ms |
| integer-like keys: a numeric name in design whose key is integer-like (1_000, value "static") is refused under that key | extraction corpora | passed | 1.15 ms |
| integer-like keys: a numeric name in design whose key is integer-like (1_000, value compute()) is refused under that key | extraction corpora | passed | 1.17 ms |
| integer-like keys: a numeric name in ui whose key is integer-like (1e3, value "static") is refused under that key | extraction corpora | passed | 1.21 ms |
| integer-like keys: a numeric name in ui whose key is integer-like (1e3, value compute()) is refused under that key | extraction corpora | passed | 1.35 ms |
| integer-like keys: a numeric name in ui whose key is integer-like (0x10, value "static") is refused under that key | extraction corpora | passed | 0.97 ms |
| integer-like keys: a numeric name in ui whose key is integer-like (0x10, value compute()) is refused under that key | extraction corpora | passed | 0.92 ms |
| integer-like keys: a numeric name in ui whose key is integer-like (1_0, value "static") is refused under that key | extraction corpora | passed | 3.85 ms |
| integer-like keys: a numeric name in ui whose key is integer-like (1_0, value compute()) is refused under that key | extraction corpora | passed | 1.06 ms |
| integer-like keys: a numeric name in ui whose key is integer-like (1_000, value "static") is refused under that key | extraction corpora | passed | 1.03 ms |
| integer-like keys: a numeric name in ui whose key is integer-like (1_000, value compute()) is refused under that key | extraction corpora | passed | 1.18 ms |
| integer-like keys: a numeric name in model terms whose key is integer-like (1e3, value "static") is refused under that key | extraction corpora | passed | 1.14 ms |
| integer-like keys: a numeric name in model terms whose key is integer-like (1e3, value compute()) is refused under that key | extraction corpora | passed | 1.27 ms |
| integer-like keys: a numeric name in model terms whose key is integer-like (0x10, value "static") is refused under that key | extraction corpora | passed | 1.21 ms |
| integer-like keys: a numeric name in model terms whose key is integer-like (0x10, value compute()) is refused under that key | extraction corpora | passed | 1.14 ms |
| integer-like keys: a numeric name in model terms whose key is integer-like (1_0, value "static") is refused under that key | extraction corpora | passed | 1.17 ms |
| integer-like keys: a numeric name in model terms whose key is integer-like (1_0, value compute()) is refused under that key | extraction corpora | passed | 1.23 ms |
| integer-like keys: a numeric name in model terms whose key is integer-like (1_000, value "static") is refused under that key | extraction corpora | passed | 1.1 ms |
| integer-like keys: a numeric name in model terms whose key is integer-like (1_000, value compute()) is refused under that key | extraction corpora | passed | 1.12 ms |
| reserved camel delivery fact: rejects hasVerifier at the TS carrier envelope (R-6 parity) | extraction corpora | passed | 1.03 ms |
| retains a nested __proto__ model term as own string content | extraction corpora | passed | 1.09 ms |
| retains an object-valued nested __proto__ term without prototype pollution | extraction corpora | passed | 1.56 ms |
| retains a Markdown __proto__ Model term through extract and serializeGraph | extraction corpora | passed | 1.86 ms |
| id-shaped-string-content: a raw id-shaped string in section content is prose — kept, edge-free, finding-free | extraction corpora | passed | 2.07 ms |
| invalid-parse-error: a parse-broken file is excluded whole, loudly, on both surfaces; siblings survive (L3) | extraction corpora | passed | 3.82 ms |
| invalid-missing-envelope-fields: every absent required field reports in one pass — spec, pack, and anchor carriers | extraction corpora | passed | 4.6 ms |
| invalid-duplicate-property: a property authored twice in one carrier fails the envelope loudly; the last value never wins | extraction corpora | passed | 3.21 ms |
| ref-in-section-content: an id builder in section content drops the owning property (MD-10) | extraction corpora | passed | 2.09 ms |
| invalid-wrong-builder: an id wrapping the wrong builder is an invalid-id hard error — the builder's contract, restated statically | extraction corpora | passed | 1.92 ms |
| opaque-envelope-entries: a shorthand or spread entry never double-reports its fields as missing | extraction corpora | passed | 2.18 ms |
| duplicate-section-property: a repeated name inside section content drops with a warning; the first authored value survives | extraction corpora | passed | 1.82 ms |
| entry-address-slots: every TypeScript id slot refuses an entry address, and no # reaches the graph | extraction corpora | passed | 13.09 ms |
| entry-address-slots: anchor verifies refuses an entry address, and no # reaches the graph | extraction corpora | passed | 8.18 ms |
| entry-address-slots: anchor models refuses an entry address, and no # reaches the graph | extraction corpora | passed | 3.4 ms |
| entry-address-slots: anchor component refuses an entry address, and no # reaches the graph | extraction corpora | passed | 3.23 ms |
| entry-address-slots: anchor uses refuses an entry address, and no # reaches the graph | extraction corpora | passed | 2.97 ms |
| entry-address-slots: the Pack identity refuses an entry address, and no # reaches the graph | extraction corpora | passed | 2.85 ms |
| entry-address-slots: the test anchor identity refuses an entry address, and no # reaches the graph | extraction corpora | passed | 4.9 ms |
| entry-address-slots: the oracle anchor identity refuses an entry address, and no # reaches the graph | extraction corpora | passed | 3.52 ms |
| entry-address-slots: the API anchor identity refuses an entry address, and no # reaches the graph | extraction corpora | passed | 2.98 ms |
| routes the five defused target documents through real discovery with their exact nodes | Markdown carrier discovery | passed | 8.89 ms |
| derives semantically equivalent accepted subsets through extract and serializeGraph | Markdown carrier discovery | passed | 4.45 ms |
| excludes a malformed Markdown carrier while retaining its healthy TypeScript sibling | Markdown carrier discovery | passed | 2.91 ms |
| reports same-ID TypeScript and Markdown carriers at both sites without deriving either | Markdown carrier discovery | passed | 3.53 ms |
| anchored-binding: the full ladder — anchored edges and delivery facts per `spec:extraction.delivery-facts` | anchor extraction corpora | passed | 7.9 ms |
| unenabled-verifier: a below-ready example confers nothing; a wrong-kind verifier still warns | anchor extraction corpora | passed | 4.11 ms |
| invalid-non-static-anchor: envelope hard error; the static sibling still extracts (L3) | anchor extraction corpora | passed | 4.19 ms |
| invalid-anchor-namespace: a code anchor with a test: id is an invalid-id hard error | anchor extraction corpora | passed | 1.99 ms |
| duplicate-anchor-id: both sites reported (L2); neither enters the graph; the counts record both | anchor extraction corpora | passed | 7.29 ms |
| dangling-anchor: the edge is emitted, no fact is conferred, and referential integrity flags it | anchor extraction corpora | passed | 2.74 ms |
| misplaced-anchor: authoring calls outside their surface warn and are not extracted | anchor extraction corpora | passed | 2.3 ms |
| non-static-anchor-label: the label drops with a warning; the binding survives whole | anchor extraction corpora | passed | 1.94 ms |
| namespace-import: carriers authored as `ns.builder(…)` extract on both surfaces — the full anchored ladder | import-surface and discovery corpora | passed | 4.05 ms |
| namespace-misplaced-authoring: the misplaced-authoring sweep sees the property-access spelling (L2) | import-surface and discovery corpora | passed | 3.16 ms |
| dot-directory-skipped: discovery never descends into a dot-directory, so a stray copy raises no duplicate-id noise | import-surface and discovery corpora | passed | 2.78 ms |
| shadowed-namespace-local: a parameter or local shadowing the import is somebody else's value — no spurious misplaced-authoring | import-surface and discovery corpora | passed | 3.54 ms |
| default-import: a binding authored through a default-import local extracts — it never silently falls out (L2) | import-surface and discovery corpora | passed | 1.83 ms |
| consumer exclusions are case-sensitive root-relative prefixes applied before either surface classifies | import-surface and discovery corpora | passed | 7.81 ms |
| rejects the invalid consumer exclusion "" | import-surface and discovery corpora | passed | 1.19 ms |
| rejects the invalid consumer exclusion "." | import-surface and discovery corpora | passed | 0.52 ms |
| rejects the invalid consumer exclusion "./explorations" | import-surface and discovery corpora | passed | 0.33 ms |
| rejects the invalid consumer exclusion "explorations/" | import-surface and discovery corpora | passed | 0.36 ms |
| rejects the invalid consumer exclusion "/explorations" | import-surface and discovery corpora | passed | 0.33 ms |
| rejects the invalid consumer exclusion "C:/work/specs" | import-surface and discovery corpora | passed | 0.3 ms |
| rejects the invalid consumer exclusion "../x" | import-surface and discovery corpora | passed | 0.28 ms |
| rejects the invalid consumer exclusion "a/../b" | import-surface and discovery corpora | passed | 0.3 ms |
| rejects the invalid consumer exclusion "a/./b" | import-surface and discovery corpora | passed | 0.52 ms |
| rejects the invalid consumer exclusion "a/." | import-surface and discovery corpora | passed | 0.51 ms |
| rejects the invalid consumer exclusion "a//b" | import-surface and discovery corpora | passed | 0.48 ms |
| rejects the invalid consumer exclusion "a\\b" | import-surface and discovery corpora | passed | 0.41 ms |
| invalid-ready-with-unresolved-dependency: the conformance error and the floor failure both fire — two families, two statements | graph-validator corpora | passed | 3.37 ms |
| invalid-ready-with-target-below-defined: every reference resolves; the one error is the floor clause | graph-validator corpora | passed | 3.58 ms |
| invalid-hand-authored-delivery-fact-in-section: the smuggled key fails over the graph end-to-end (MD-16) | graph-validator corpora | passed | 1.89 ms |
| invalid-duplicate-pack-member: a duplicated manifest entry is a pack-coherence error | graph-validator corpora | passed | 2.97 ms |
| invalid-non-model-modelref: a resolving but wrong-kind modelRef is a pack-coherence error | graph-validator corpora | passed | 3.14 ms |
| non-example-verifier: a declared verifies from a non-example kind is surfaced, never gated | graph-validator corpora | passed | 2.46 ms |
| orphan-spec: no relations and nothing pointing at it — a warning, never a gate | graph-validator corpora | passed | 1.31 ms |
| ready-without-verifier: the cleared floor plus the surfaced gap — informative only | graph-validator corpora | passed | 2.82 ms |
| two independent extractions of the example serialize byte-identically | determinism self-check (rebuild twice, byte-compare — distinct from the golden oracle) | passed | 60.25 ms |
| materializes a defused .sdp.gherkin carrier and leaves ordinary .feature beside it on disk | Gherkin carrier suffix discovery | passed | 0.66 ms |
| discovers and routes only .sdp.gherkin; an ordinary Cucumber Feature never enters specFiles or poisons extraction | Gherkin carrier suffix discovery | passed | 2.75 ms |
| treats a root of only ordinary .feature files as an empty authored model at the extractor | Gherkin carrier suffix discovery | passed | 0.46 ms |
| admits a lawful key beside prose and unkeyed questions | open question keys in the TypeScript carrier | passed | 1.6 ms |
| drops a key off the grammar with an error and keeps the question and the Spec | open question keys in the TypeScript carrier | passed | 4.25 ms |
| drops a key an earlier question carries, keeping the first | open question keys in the TypeScript carrier | passed | 6.66 ms |
| derives a graph where only the first of a repeated key remains | open question keys in the TypeScript carrier | passed | 1.73 ms |
| derives ready when no question blocks — the control for every case below | open question keys in the TypeScript carrier > a non-static key drops alone and the blocking sibling holds readiness | passed | 3.9 ms |
| strips a key that is null and keeps the question and its blocking sibling | open question keys in the TypeScript carrier > a non-static key drops alone and the blocking sibling holds readiness | passed | 2.83 ms |
| strips a key that is undefined and keeps the question and its blocking sibling | open question keys in the TypeScript carrier > a non-static key drops alone and the blocking sibling holds readiness | passed | 5.99 ms |
| strips a key that is a function and keeps the question and its blocking sibling | open question keys in the TypeScript carrier > a non-static key drops alone and the blocking sibling holds readiness | passed | 3.1 ms |
| strips a key that is an identifier and keeps the question and its blocking sibling | open question keys in the TypeScript carrier > a non-static key drops alone and the blocking sibling holds readiness | passed | 2.88 ms |
| strips a key that is a template with a substitution and keeps the question and its blocking sibling | open question keys in the TypeScript carrier > a non-static key drops alone and the blocking sibling holds readiness | passed | 2.77 ms |
| drops a repeated key alone and keeps the blocking sibling | open question keys in the TypeScript carrier > a non-static key drops alone and the blocking sibling holds readiness | passed | 6.38 ms |
| admits an omitted key beside the blocking sibling | open question keys in the TypeScript carrier > a non-static key drops alone and the blocking sibling holds readiness | passed | 4.62 ms |
| keeps every other property strict: a non-static question still drops the array | open question keys in the TypeScript carrier > a non-static key drops alone and the blocking sibling holds readiness | passed | 4.76 ms |
External run evidence from test/gherkin-view.test.ts
Test anchors: test:protocol.gherkin-view. Specs verified by those bindings: spec:consumers.gherkin-view.
| Name | Suite | Result | Duration |
|---|---|---|---|
| double-renders byte-identically and sorts independently of input order | the generated Gherkin-shaped READ projection | passed | 3.27 ms |
| labels the index as diagnostic when validation errors are present | the generated Gherkin-shaped READ projection | passed | 0.46 ms |
| marks refused kinds with the ruled lie-reason and never uses .sdp.gherkin | the generated Gherkin-shaped READ projection | passed | 0.37 ms |
| marks escaped relation reasons as lossy commentary in relation order without changing tags | the generated Gherkin-shaped READ projection | passed | 4.88 ms |
| marks every populated section that a canonical Gherkin shape cannot represent | the generated Gherkin-shaped READ projection | passed | 0.62 ms |
| escapes hostile characters so they cannot close a fence or invent a DocString | the generated Gherkin-shaped READ projection | passed | 0.35 ms |
| renders the checkout-v1 corpus as a disposable generated view | the generated Gherkin-shaped READ projection | passed | 133.62 ms |
| publishes diagnostic output for validation errors and returns nonzero | sdp gherkin publication | passed | 24.21 ms |
| surfaces the explicit command in help and names Gherkin on bad input | sdp gherkin publication | passed | 0.45 ms |
| publishes only generated/gherkin wholesale and regenerates byte-identically without tmp residue | sdp gherkin publication | passed | 17.44 ms |
| passes --check-clean only when twin renders and the published bytes agree | sdp gherkin publication | passed | 19.63 ms |
| refuses perturbed published bytes and removes both live and temporary roots | sdp gherkin publication | passed | 17.56 ms |
| refuses divergent --check-clean twins and removes both publication roots | sdp gherkin publication | passed | 20.96 ms |
| removes planted stale live and tmp output when the authored corpus fails | sdp gherkin publication | passed | 6.04 ms |
External run evidence from test/graph-schema.test.ts
Test anchors: test:protocol.claim-taxonomy, test:protocol.open-section-order. Specs verified by those bindings: spec:extraction.claim-taxonomy, spec:extraction.open-section-order.
| Name | Suite | Result | Duration |
|---|---|---|---|
| serializes authored entry order with description first and schema 0.12.0 | graph schema | passed | 2.17 ms |
| gives the reader, the serialized graph, and the Design Review one entry order | graph schema | passed | 31.66 ms |
| serializes question text, optional blocking and optional key in canonical order | graph schema | passed | 0.6 ms |
| inherits the Pack's declared claim for membership and keeps binding claims apart | graph schema | passed | 74.94 ms |
| exports the graph schema contracts | graph schema | passed | 0.36 ms |
External run evidence from test/import-round-trip.test.ts
Test anchors: test:protocol.markdown-authoring. Specs verified by those bindings: spec:carrier.markdown-authoring.
| Name | Suite | Result | Duration |
|---|---|---|---|
| preserves reified authored data through emitted Markdown | import round-trip harness | passed | 25.5 ms |
| preserves the mini-corpus graph under the declared delta catalog | import round-trip harness | passed | 82.22 ms |
| rejects a corrupted Markdown twin | import round-trip harness | passed | 55.41 ms |
External run evidence from test/iteration-recipes.test.ts
Test anchors: test:protocol.context-bundle-recipe, test:protocol.design-diff-recipe, test:protocol.perspective-filter-recipe, test:protocol.proposal-schema-and-recipe. Specs verified by those bindings: spec:consumers.context-bundle, spec:consumers.design-diff, spec:consumers.intent-composition.proposal, spec:consumers.review-perspectives.
| Name | Suite | Result | Duration |
|---|---|---|---|
| compares keyed values, keyed order and unkeyed sections while keeping bindings apart | iteration loop: design diff | passed | 83.58 ms |
| compares question fields by key, whole unkeyed questions, envelope fields and other sections | iteration loop: design diff | passed | 24.03 ms |
| reports added and removed Specs and Packs, filters the union of membership, and ignores source lines | iteration loop: design diff | passed | 39.49 ms |
| diagnoses required input and schema differences and compares common content | iteration loop: design diff | passed | 10.49 ms |
| runs the documented base-worktree procedure, preserves constant anchors, and compares HEAD | iteration loop: design diff | passed | 23367.74 ms |
| compares a keyed rule that becomes a flow at the same address | iteration loop: design diff | passed | 31.53 ms |
| compares new Design entries across schema versions when the base corpus has none | iteration loop: design diff | passed | 26.78 ms |
| diagnoses uncertain optional fields at base 0.9.0 and head 0.9.0 | iteration loop: design diff | passed | 14.73 ms |
| diagnoses uncertain optional fields at base 0.9.0 and head 0.10.0 | iteration loop: design diff | passed | 18.9 ms |
| diagnoses uncertain optional fields at base 0.10.0 and head 0.9.0 | iteration loop: design diff | passed | 28.09 ms |
| normalizes legacy rule markers in graphs with comparable rule-key capability | iteration loop: design diff | passed | 17.53 ms |
| invents no order across rules and flows from a legacy base | iteration loop: design diff | passed | 26.36 ms |
| compares a legacy base's keyed entries by order within each list | iteration loop: design diff | passed | 21.05 ms |
| reports proposal scopes outside the common schema as incomparable | iteration loop: design diff | passed | 7.3 ms |
| lists all authored reasons into and out of the planning subject in type/from/to order | relation reasons in planning recipes | passed | 18.61 ms |
| keeps dependency reasons in context-bundle footing | relation reasons in planning recipes | passed | 8.94 ms |
| matches every declared selector, combines requirements, and keeps authored order unless prioritized | iteration loop: perspective filter | passed | 69.31 ms |
| matches layers and contexts only through named bindings and keeps anchored matches apart | iteration loop: perspective filter | passed | 27.79 ms |
| reports malformed and unsupported selectors while applying understood ones | iteration loop: perspective filter | passed | 26.17 ms |
| keeps term addresses, term lines and key maps through the section cut | iteration loop: context bundle | passed | 29.65 ms |
| keeps questions and declarations in one place and member-example steps only in their member row | iteration loop: context bundle | passed | 30.4 ms |
| takes the declaration cut last only with addresses and keeps compact pointers and links | iteration loop: context bundle | passed | 91.81 ms |
| cuts a pinned dotted key to its line when it has no entry address | iteration loop: context bundle | passed | 20.04 ms |
| composes both scopes, dependency footing, declarations, example bindings and a perspective subset | iteration loop: context bundle | passed | 38.24 ms |
| takes all six whole-mode cuts in fixed order and counts the complete returned value including Unicode | iteration loop: context bundle | passed | 70.24 ms |
| keeps a pinned declaration whole through the sixth cut when its key contains a dot | iteration loop: context bundle | passed | 21.59 ms |
| reports invalid, missing, doubled and unknown scopes without a partial bundle | iteration loop: context bundle | passed | 34.89 ms |
| accepts term scopes and detects changed definitions through their authored keys | iteration loop: proposal schema and check | passed | 39.18 ms |
| holds the schema and recipe to the same accepted and refused documents | iteration loop: proposal schema and check | passed | 126.52 ms |
| checks the complete scope union, resolves both graphs, and reports each change independently | iteration loop: proposal schema and check | passed | 15.33 ms |
| agrees with recipe 35 on added, removed and changed entry values and on whole-Spec changes | iteration loop: proposal schema and check | passed | 13.3 ms |
| excludes anchor-only changes and requires the caller's base graph | iteration loop: proposal schema and check | passed | 14.83 ms |
| compares interleaved keyed rules and flows in their authored order and reports verifier changes apart | iteration loop: comparison and budget edges | passed | 21.4 ms |
| cuts example text once and preserves compact pointers after the sixth cut | iteration loop: comparison and budget edges | passed | 60.02 ms |
| reads the base graph and proposal from named JSON files through the real parameter seam | iteration loop: comparison and budget edges | passed | 8.13 ms |
| requires a test bound directly to an example before the bundle names it enabled | iteration loop: example enablement | passed | 17.83 ms |
| compares rule order by text and other anonymous collections as a whole | iteration loop: anonymous collection order | passed | 16.78 ms |
| keeps addresses in each place when narrative, example, question and section text are cut | iteration loop: protected entry addresses | passed | 47.69 ms |
External run evidence from test/keyed-content.test.ts
Test anchors: test:protocol.keyed-content. Specs verified by those bindings: spec:carrier.step-keys, spec:model.term-addresses.
| Name | Suite | Result | Duration |
|---|---|---|---|
| records each TypeScript term's own physical line and authored key | keyed carrier content | passed | 16.54 ms |
| locates a refused TypeScript exampleSpace step below its Spec declaration | keyed carrier content | passed | 3.49 ms |
| locates a refused TypeScript examples step below its Spec declaration | keyed carrier content | passed | 2.23 ms |
| rejects unexpected step extraction findings when the example's message slot is empty | keyed carrier content | passed | 1236.58 ms |
| rejects unexpected term extraction findings when the example's message slot is empty | keyed carrier content | passed | 19.08 ms |
| reports false when unchanged handlers typecheck but the step reach changes | keyed carrier content | passed | 733 ms |
| preserves authored key order, strips markers, records terms and never records steps | keyed carrier content | passed | 1.79 ms |
| refuses malformed markers at their physical step and term: [#bad-key] text | keyed carrier content | passed | 0.77 ms |
| refuses malformed markers at their physical step and term: [#good] text | keyed carrier content | passed | 0.73 ms |
| refuses malformed markers at their physical step and term: [#good] text | keyed carrier content | passed | 0.53 ms |
| refuses malformed markers at their physical step and term: [#good] | keyed carrier content | passed | 0.51 ms |
| keeps later markers as ordinary text and permits a repeated keyed skeleton | keyed carrier content | passed | 3.67 ms |
| drops each conflicting TypeScript key while preserving its Spec and marker-free text | keyed carrier content | passed | 4.07 ms |
| refuses a Gherkin carrier whole at every conflicting step | keyed carrier content | passed | 3.64 ms |
| keeps keyed fence text and derived key maps out of the prose mention scan | keyed carrier content | passed | 1 ms |
| checks term addresses and refuses them in Spec id slots | keyed carrier content | passed | 0.36 ms |
| locates mentions inside keyed and unkeyed definitions, even when a term contains dots | keyed carrier content | passed | 1.02 ms |
| breaks a keyed binding when its parameter or key changes: items -> count | keyed carrier content | passed | 676.27 ms |
| breaks a keyed binding when its parameter or key changes: [#cartSize] -> | keyed carrier content | passed | 581.73 ms |
| breaks an unchanged typed handler when a still-compatible bound point changes slot type | contract keys and Then outcomes | passed | 598.12 ms |
| withholds a child marker where the vocabulary step carries no marker | contract keys and Then outcomes | passed | 5.93 ms |
| keys a standalone example and a generated Then registrar by the authored keys | contract keys and Then outcomes | passed | 6.62 ms |
| uses a keyed Then for the Outcome union and the registrar binding | contract keys and Then outcomes | passed | 4.15 ms |
| withholds a colliding space and its registrars, while naming the space collision | contract keys and Then outcomes | passed | 6.82 ms |
| dispatches keyed steps and renders a failure from their current wording | contract keys and Then outcomes | passed | 0.88 ms |
| compares an oracle by contract key and lists keys when no Then matches | contract keys and Then outcomes | passed | 1.6 ms |
External run evidence from test/markdown-reifier.test.ts
Test anchors: test:protocol.envelope-contract, test:protocol.markdown-parser, test:protocol.prose-ownership. Specs verified by those bindings: spec:carrier.envelope-contract, spec:carrier.markdown-parser, spec:carrier.prose-ownership-rule.
| Name | Suite | Result | Duration |
|---|---|---|---|
| reifies a lawful Markdown Pack manifest | Markdown frontmatter reifier | passed | 8.88 ms |
| refuses a Spec-only key on a Pack | Markdown frontmatter reifier | passed | 1.83 ms |
| refuses Pack membership on a Spec | Markdown frontmatter reifier | passed | 2.21 ms |
| refuses a Pack section heading | Markdown frontmatter reifier | passed | 1.2 ms |
| refuses a wrong-namespace Pack member | Markdown frontmatter reifier | passed | 0.88 ms |
| refuses a reserved derived-name key on a Pack | Markdown frontmatter reifier | passed | 0.67 ms |
| refuses a pack: id that fails the id grammar | Markdown frontmatter reifier | passed | 0.88 ms |
| reifies the frozen corpus envelopes at their id token lines | Markdown frontmatter reifier | passed | 9.43 ms |
| maps scalar and list relations in authored order | Markdown frontmatter reifier | passed | 1.69 ms |
| distinguishes an explicit empty relation set from a missing relation key | Markdown frontmatter reifier | passed | 1.69 ms |
| refuses warning without throwing | Markdown frontmatter reifier | passed | 1 ms |
| refuses directive without throwing | Markdown frontmatter reifier | passed | 0.97 ms |
| refuses tag without throwing | Markdown frontmatter reifier | passed | 0.94 ms |
| refuses anchor without throwing | Markdown frontmatter reifier | passed | 0.7 ms |
| refuses alias without throwing | Markdown frontmatter reifier | passed | 0.75 ms |
| refuses merge without throwing | Markdown frontmatter reifier | passed | 0.71 ms |
| refuses complex key without throwing | Markdown frontmatter reifier | passed | 0.72 ms |
| refuses non-string scalar without throwing | Markdown frontmatter reifier | passed | 0.44 ms |
| refuses body delimiter without throwing | Markdown frontmatter reifier | passed | 0.16 ms |
| caps findings and leaves a healthy sibling independently reifiable | Markdown frontmatter reifier | passed | 17.06 ms |
| caps body findings with the frozen structure finding ID | Markdown frontmatter reifier | passed | 1.91 ms |
| reports a genuine YAML document warning | Markdown frontmatter reifier | passed | 0.72 ms |
| contains the YAML parser's unknown throw at the public reifier boundary | Markdown frontmatter reifier | passed | 16.97 ms |
| enforces the 256 KiB carrier byte limit at and immediately over its boundary | Markdown frontmatter reifier | passed | 1.7 ms |
| enforces the 32 KiB frontmatter byte limit at and immediately over its boundary | Markdown frontmatter reifier | passed | 0.87 ms |
| enforces the 16 KiB scalar byte limit at and immediately over its boundary | Markdown frontmatter reifier | passed | 2.08 ms |
| enforces the 2,000 node limit at and immediately over its boundary | Markdown frontmatter reifier | passed | 594.17 ms |
| enforces the depth limit of 16 at and immediately over its boundary | Markdown frontmatter reifier | passed | 6.3 ms |
| refuses duplicate relation keys | Markdown frontmatter reifier | passed | 0.68 ms |
| refuses duplicate targets within one relation list | Markdown frontmatter reifier | passed | 0.43 ms |
| refuses an empty relation sequence | Markdown frontmatter reifier | passed | 0.48 ms |
| refuses a wrong-namespace relation target | Markdown frontmatter reifier | passed | 0.37 ms |
| refuses an entry address in the Spec id at the field's line | Markdown frontmatter reifier | passed | 0.59 ms |
| refuses an entry address in a relation target at the field's line | Markdown frontmatter reifier | passed | 0.4 ms |
| refuses an entry address in a Pack member at the field's line | Markdown frontmatter reifier | passed | 0.35 ms |
| refuses an entry address in a Pack model reference at the field's line | Markdown frontmatter reifier | passed | 1.93 ms |
| refuses a Pack whose own id carries an entry address with the namespace reason | Markdown frontmatter reifier | passed | 0.53 ms |
| accepts distinct relation keys that share a target | Markdown frontmatter reifier | passed | 0.53 ms |
| accepts a pure CRLF carrier | Markdown frontmatter reifier | passed | 0.68 ms |
| refuses a byte-order mark | Markdown frontmatter reifier | passed | 0.14 ms |
| refuses an indented opener | Markdown frontmatter reifier | passed | 0.07 ms |
| refuses a document-end closer | Markdown frontmatter reifier | passed | 0.07 ms |
| refuses a lone CR after a valid LF carrier | Markdown frontmatter reifier | passed | 0.06 ms |
| refuses mixed CRLF and LF newlines | Markdown frontmatter reifier | passed | 0.06 ms |
| maps the ruled title, intent, and behavior lists from the body | Markdown frontmatter reifier | passed | 0.91 ms |
| maps the ruled fences and every remaining typed owner | Markdown frontmatter reifier | passed | 2.52 ms |
| serializes owned prose canonically across both public carrier reifiers | Markdown frontmatter reifier | passed | 24.64 ms |
| serializes GWT and behavior key permutations to identical bytes | Markdown frontmatter reifier | passed | 11.1 ms |
| omits absent prose fields and rejects constraint-local prose from the TypeScript carrier | Markdown frontmatter reifier | passed | 5.03 ms |
| uses the first minimum heading suggestion within edit distance two | Markdown frontmatter reifier | passed | 2.31 ms |
| refuses a missing H1 through the frozen body diagnostic | Markdown frontmatter reifier | passed | 0.59 ms |
| refuses an empty H1 through the frozen body diagnostic | Markdown frontmatter reifier | passed | 0.43 ms |
| refuses a heading beyond suggestion distance two through the frozen body diagnostic | Markdown frontmatter reifier | passed | 0.65 ms |
| refuses a tied heading using the first minimum through the frozen body diagnostic | Markdown frontmatter reifier | passed | 0.75 ms |
| refuses a blank line in a fence through the frozen body diagnostic | Markdown frontmatter reifier | passed | 1.94 ms |
| refuses fence attributes through the frozen body diagnostic | Markdown frontmatter reifier | passed | 0.47 ms |
| refuses an unclosed fence through the frozen body diagnostic | Markdown frontmatter reifier | passed | 0.42 ms |
| refuses a gwt fence on a non-example through the frozen body diagnostic | Markdown frontmatter reifier | passed | 0.43 ms |
| refuses an invalid Verification mode through the frozen body diagnostic | Markdown frontmatter reifier | passed | 0.46 ms |
| refuses a repeated identical literal heading through the frozen body diagnostic | Markdown frontmatter reifier | passed | 0.36 ms |
| refuses ordered dot list in narrative | Markdown frontmatter reifier | passed | 0.43 ms |
| refuses ordered parenthesis list in narrative | Markdown frontmatter reifier | passed | 0.34 ms |
| refuses star list in narrative | Markdown frontmatter reifier | passed | 0.32 ms |
| refuses plus list in narrative | Markdown frontmatter reifier | passed | 0.33 ms |
| refuses ordered dot tab list in narrative | Markdown frontmatter reifier | passed | 0.31 ms |
| refuses ordered parenthesis tab list in narrative | Markdown frontmatter reifier | passed | 0.31 ms |
| refuses star tab list in narrative | Markdown frontmatter reifier | passed | 0.52 ms |
| refuses plus tab list in narrative | Markdown frontmatter reifier | passed | 1.2 ms |
| refuses HTML comment in narrative | Markdown frontmatter reifier | passed | 0.36 ms |
| refuses setext equals underline in narrative | Markdown frontmatter reifier | passed | 3.51 ms |
| refuses setext dash underline in narrative | Markdown frontmatter reifier | passed | 0.44 ms |
| refuses star thematic break in narrative | Markdown frontmatter reifier | passed | 0.36 ms |
| refuses underscore thematic break in narrative | Markdown frontmatter reifier | passed | 0.32 ms |
| refuses ordered list in section prose | Markdown frontmatter reifier | passed | 0.32 ms |
| refuses star list in section prose | Markdown frontmatter reifier | passed | 0.51 ms |
| refuses plus list in section prose | Markdown frontmatter reifier | passed | 0.37 ms |
| refuses setext underline in section prose | Markdown frontmatter reifier | passed | 0.85 ms |
| refuses thematic break in section prose | Markdown frontmatter reifier | passed | 0.34 ms |
| refuses bare HTML opener in section prose | Markdown frontmatter reifier | passed | 0.36 ms |
| refuses dash tab list in section prose | Markdown frontmatter reifier | passed | 0.36 ms |
| refuses HTML comment in section prose | Markdown frontmatter reifier | passed | 0.34 ms |
| refuses processing instruction in section prose | Markdown frontmatter reifier | passed | 0.38 ms |
| refuses declaration in section prose | Markdown frontmatter reifier | passed | 0.35 ms |
| refuses mixed-mode Verification headings instead of overwriting the first section | Markdown frontmatter reifier | passed | 2.91 ms |
| preserves Behavior rules when an example Intent appears after Behavior | Markdown frontmatter reifier | passed | 0.87 ms |
| refuses a GWT fence under Model | Markdown frontmatter reifier | passed | 0.64 ms |
| refuses an H3 under Design | Markdown frontmatter reifier | passed | 0.51 ms |
| refuses an open question before its H3 owner | Markdown frontmatter reifier | passed | 0.61 ms |
| refuses an Intent field after the open-questions H3 | Markdown frontmatter reifier | passed | 0.48 ms |
| refuses frontmatter title through its ruled diagnostic | Markdown frontmatter reifier | passed | 0.49 ms |
| refuses second H1 through its ruled diagnostic | Markdown frontmatter reifier | passed | 0.39 ms |
| refuses near-miss heading through its ruled diagnostic | Markdown frontmatter reifier | passed | 0.46 ms |
| refuses indented list through its ruled diagnostic | Markdown frontmatter reifier | passed | 0.43 ms |
| refuses empty list through its ruled diagnostic | Markdown frontmatter reifier | passed | 0.4 ms |
| refuses nested list through its ruled diagnostic | Markdown frontmatter reifier | passed | 0.51 ms |
| refuses extra heading space through its ruled diagnostic | Markdown frontmatter reifier | passed | 0.35 ms |
| refuses extra list space through its ruled diagnostic | Markdown frontmatter reifier | passed | 0.34 ms |
| refuses invalid GWT phase through its ruled diagnostic | Markdown frontmatter reifier | passed | 0.4 ms |
| refuses late description through its ruled diagnostic | Markdown frontmatter reifier | passed | 0.34 ms |
| refuses raw HTML through its ruled diagnostic | Markdown frontmatter reifier | passed | 3.58 ms |
| refuses inline raw HTML through its ruled diagnostic | Markdown frontmatter reifier | passed | 0.43 ms |
| refuses trailing prose through its ruled diagnostic | Markdown frontmatter reifier | passed | 0.5 ms |
| refuses unsupported block through its ruled diagnostic | Markdown frontmatter reifier | passed | 0.36 ms |
| refuses reserved authored fact through its ruled diagnostic | Markdown frontmatter reifier | passed | 0.49 ms |
| reads a key after the flag and leaves an unkeyed question without one | open question keys in the Markdown marker | passed | 1.41 ms |
| refuses the carrier whole on a key with an upper-case first letter | open question keys in the Markdown marker | passed | 0.47 ms |
| refuses the carrier whole on a key with an empty key | open question keys in the Markdown marker | passed | 0.39 ms |
| refuses the carrier whole on a key with a hyphen | open question keys in the Markdown marker | passed | 0.36 ms |
| refuses the carrier whole on a key with a digit first | open question keys in the Markdown marker | passed | 0.37 ms |
| refuses the carrier whole on a key with a space inside | open question keys in the Markdown marker | passed | 0.38 ms |
| refuses the carrier whole on a key with a non-ASCII letter | open question keys in the Markdown marker | passed | 0.34 ms |
| refuses the carrier whole on a key an earlier question of the Spec carries | open question keys in the Markdown marker | passed | 0.6 ms |
| keeps distinct keys that differ only in case | open question keys in the Markdown marker | passed | 1.36 ms |
| keeps today's refusal for a marker with no space before the hash | open question keys in the Markdown marker | passed | 0.49 ms |
| keeps today's refusal for a marker with two spaces before the hash | open question keys in the Markdown marker | passed | 1.65 ms |
| keeps today's refusal for a marker with a key without its hash | open question keys in the Markdown marker | passed | 0.37 ms |
| refuses a keyed question outside its H3 owner as an unkeyed one is refused | open question keys in the Markdown marker | passed | 0.45 ms |
External run evidence from test/mermaid-render.test.ts
Test anchors: test:protocol.mermaid-view. Specs verified by those bindings: spec:consumers.mermaid-view.
| Name | Suite | Result | Duration |
|---|---|---|---|
| renders every checkout-v1 Spec, Pack, and index page as the reviewed golden | the bounded Mermaid projection | passed | 85.05 ms |
| is byte-identical under node and edge permutation with code-unit sorted records | the bounded Mermaid projection | passed | 1.18 ms |
| labels the index as diagnostic when validation errors are present | the bounded Mermaid projection | passed | 1.18 ms |
| escapes hostile labels without changing injective full-ID machine tokens | the bounded Mermaid projection | passed | 0.52 ms |
| refuses a diagram whose neighbor has a duplicated id and names that neighbor | the bounded Mermaid projection | passed | 0.74 ms |
| names each duplicated root in its own refusal | the bounded Mermaid projection | passed | 0.34 ms |
| keeps one-hop cycles, disconnected Pack members, foreign edges, and dangling placeholders without emitting a whole graph | the bounded Mermaid projection | passed | 0.57 ms |
| withholds only the affected diagram when identities collide or a bound overflows | the bounded Mermaid projection | passed | 2.05 ms |
| accepts diagrams exactly at the 64-node and 128-edge bounds | the bounded Mermaid projection | passed | 1.94 ms |
| withholds an oversized Pack and still renders every in-bound Spec diagram | the bounded Mermaid projection | passed | 11.55 ms |
External run evidence from test/pack-design.test.ts
Test anchors: test:protocol.pack-design. Specs verified by those bindings: spec:consumers.pack-design, spec:model.design-maturity.
| Name | Suite | Result | Duration |
|---|---|---|---|
| keeps the manifest's order and every existing field | the Pack design on the Pack context | passed | 11.36 ms |
| names the stated next rung's unmet clauses, with the targets a dependency clause names | the Pack design on the Pack context | passed | 2.6 ms |
| reads an empty list where the floor already holds the stated next rung | the Pack design on the Pack context | passed | 1.11 ms |
| keeps the stated reading apart from the floor-reached reading | the Pack design on the Pack context | passed | 1.77 ms |
| names no next rung above ready | the Pack design on the Pack context | passed | 1.24 ms |
| counts the design columns: keyed entries, pinned declarations and questions | the Pack design on the Pack context | passed | 1.74 ms |
| exposes the same design columns on Spec context and Pack members | the Pack design on the Pack context | passed | 3.29 ms |
| lists the decisions a member names, unresolved when the target is no Spec | the Pack design on the Pack context | passed | 1.11 ms |
| carries each realizing and referencing unit with its component on the member and on the Spec context | the Pack design on the Pack context | passed | 2.17 ms |
| counts verifiers and verifying examples with how many are enabled | the Pack design on the Pack context | passed | 2.06 ms |
| counts a verifying Spec of another kind as a verifier, never as an example | the Pack design on the Pack context | passed | 0.47 ms |
| lists the boundary both ways, rows by id and members in authored order | the Pack design on the Pack context | passed | 1.01 ms |
| keeps verification and supersession outside restedOnBy, ignoring anchored verifiers | the Pack design on the Pack context | passed | 1.66 ms |
| marks an outside Spec that carries the implementation fact | the Pack design on the Pack context | passed | 0.98 ms |
| keeps an unresolved member's existing row and nothing more | the Pack design on the Pack context | passed | 0.81 ms |
| carries each Spec's location rows on its Spec context, sorted by entry | the Pack design on the Pack context | passed | 1.47 ms |
| is a pure function of the graph: two reads of one graph are equal | the Pack design on the Pack context | passed | 1.69 ms |
| joins many members to one outside Spec in one step each, members in authored order | the Pack design on the Pack context | passed | 1016.4 ms |
External run evidence from test/package-smoke.test.ts
Test anchors: test:protocol.shipped-protocol-corpus. Specs verified by those bindings: spec:consumers.adopter-on-ramp, spec:consumers.shipped-protocol-corpus.
| Name | Suite | Result | Duration |
|---|---|---|---|
| packing leaves every repository dist file's inode, size and mtime untouched | published package surface | passed | 927.4 ms |
| packs the same files and bytes as npm 11 selects from the built repository | published package surface | passed | 12003.68 ms |
| dist/adapters/vitest.js keeps Vitest runner code outside the package | published package surface | passed | 0.96 ms |
| dist/index.cjs keeps Vitest runner code outside the package | published package surface | passed | 1.79 ms |
| registers and passes one bindExample test with the installed consumer's Vitest | published package surface | passed | 2883.63 ms |
| proves the installed tarball lists import, dry-runs conversion without writes, and exposes the barrel | published package surface | passed | 6378.43 ms |
External run evidence from test/reach-examples.test.ts
Test anchors: test:protocol.consumers.agent-surface.address-and-cycle-recipes.chain-reports-nothing, test:protocol.consumers.agent-surface.address-and-cycle-recipes.cycle-fails-a-rules-run, test:protocol.consumers.agent-surface.address-and-cycle-recipes.unresolved-address-fails-a-rules-run, test:protocol.consumers.agent-surface.evaluation-sink.exported-evaluator, test:protocol.consumers.agent-surface.evaluation-sink.recipe-call, test:protocol.consumers.agent-surface.evaluation-sink.unknown-recipe, test:protocol.validation.corpus-rules.params-edit-starts-a-cycle, test:protocol.validation.corpus-rules.rules-edit-starts-a-cycle, test:protocol.validation.corpus-rules.unreadable-params-fail-one-file. Specs verified by those bindings: spec:consumers.agent-surface.address-and-cycle-recipes, spec:consumers.agent-surface.address-and-cycle-recipes.chain-reports-nothing, spec:consumers.agent-surface.address-and-cycle-recipes.cycle-fails-a-rules-run, spec:consumers.agent-surface.address-and-cycle-recipes.unresolved-address-fails-a-rules-run, spec:consumers.agent-surface.evaluation-sink, spec:consumers.agent-surface.evaluation-sink.exported-evaluator, spec:consumers.agent-surface.evaluation-sink.recipe-call, spec:consumers.agent-surface.evaluation-sink.unknown-recipe, spec:validation.corpus-rules, spec:validation.corpus-rules.params-edit-starts-a-cycle, spec:validation.corpus-rules.rules-edit-starts-a-cycle, spec:validation.corpus-rules.unreadable-params-fail-one-file.
| Name | Suite | Result | Duration |
|---|---|---|---|
| gives every watch example the heavy-test timeout | not recorded | passed | 2.15 ms |
| leaves non-watch corpus-rule points and incomplete points unspecified | not recorded | passed | 0.41 ms |
| leaves address points outside the oracle's bound probes unspecified | not recorded | passed | 0.19 ms |
| executes the bound example against a fresh world | A body calls a shipped recipe and returns its answer unchanged (spec:consumers.agent-surface.evaluation-sink.recipe-call) | passed | 32.45 ms |
| executes the bound example against a fresh world | A call to a recipe the catalog does not hold fails the body (spec:consumers.agent-surface.evaluation-sink.unknown-recipe) | passed | 6.78 ms |
| executes the bound example against a fresh world | A script holding a graph runs a shipped recipe through the exported evaluator (spec:consumers.agent-surface.evaluation-sink.exported-evaluator) | passed | 6.15 ms |
| executes the bound example against a fresh world | A dependency chain with no cycle yields no finding (spec:consumers.agent-surface.address-and-cycle-recipes.chain-reports-nothing) | passed | 3.3 ms |
| executes the bound example against a fresh world | The shipped dependency-cycles file fails a rules run on a cycle (spec:consumers.agent-surface.address-and-cycle-recipes.cycle-fails-a-rules-run) | passed | 5.51 ms |
| executes the bound example against a fresh world | The shipped address-resolution file fails a rules run on an address that names no entry (spec:consumers.agent-surface.address-and-cycle-recipes.unresolved-address-fails-a-rules-run) | passed | 3.87 ms |
| executes the bound example against a fresh world | Rewriting a rules file under node_modules starts a cycle that runs the new body (spec:validation.corpus-rules.rules-edit-starts-a-cycle) | passed | 12.46 ms |
| executes the bound example against a fresh world | Editing a parameter file starts a cycle that reads the new parameters (spec:validation.corpus-rules.params-edit-starts-a-cycle) | passed | 32.96 ms |
| executes the bound example against a fresh world | A parameter file that stops being JSON fails only its own rules file, and the watcher runs on (spec:validation.corpus-rules.unreadable-params-fail-one-file) | passed | 106.96 ms |
External run evidence from test/reader.test.ts
Test anchors: test:protocol.projections-model.reader. Specs verified by those bindings: spec:consumers.projections-model.
| Name | Suite | Result | Duration |
|---|---|---|---|
| exposes authored open-section and model-term order in a Spec context | the reader — the thin typed loader behind the agent surface > flat accessors | passed | 5.39 ms |
| carries owned prose in spec summaries and contexts | the reader — the thin typed loader behind the agent surface > flat accessors | passed | 1.32 ms |
| summarizes every spec with the decode done once: display label, recomputed facts, packs, derived readiness | the reader — the thin typed loader behind the agent surface > flat accessors | passed | 8.13 ms |
| summarizes packs and exposes the full findings — the holes beside the assertions (JS-E2) | the reader — the thin typed loader behind the agent surface > flat accessors | passed | 1.97 ms |
| finds narrative and owned section descriptions | the reader — the thin typed loader behind the agent surface > findByConcept — the grep→graph bridge from a string | passed | 0.58 ms |
| matches ids first, then titles/labels, then section prose — deterministic, never fuzzy | the reader — the thin typed loader behind the agent surface > findByConcept — the grep→graph bridge from a string | passed | 1.7 ms |
| reaches the domain vocabulary: a model term key is content, not structure | the reader — the thin typed loader behind the agent surface > findByConcept — the grep→graph bridge from a string | passed | 1.04 ms |
| matches an anchor label, case-insensitively — label tier before prose tier | the reader — the thin typed loader behind the agent surface > findByConcept — the grep→graph bridge from a string | passed | 1.21 ms |
| never matches section structure keys: a query naming a shape key finds only content | the reader — the thin typed loader behind the agent surface > findByConcept — the grep→graph bridge from a string | passed | 1.08 ms |
| returns nothing for an empty query | the reader — the thin typed loader behind the agent surface > findByConcept — the grep→graph bridge from a string | passed | 0.97 ms |
| maps a spec file to the spec authored there | the reader — the thin typed loader behind the agent surface > byFile — the grep→graph bridge from a file | passed | 1.3 ms |
| maps a source file through its bindings to the specs they satisfy (./-prefix normalized) | the reader — the thin typed loader behind the agent surface > byFile — the grep→graph bridge from a file | passed | 0.99 ms |
| maps the oracle's file through its models binding to the spec it models — no blind spot | the reader — the thin typed loader behind the agent surface > byFile — the grep→graph bridge from a file | passed | 0.92 ms |
| maps a test file through its anchor to the example it verifies | the reader — the thin typed loader behind the agent surface > byFile — the grep→graph bridge from a file | passed | 1.08 ms |
| answers honestly for a file the graph records nothing at | the reader — the thin typed loader behind the agent surface > byFile — the grep→graph bridge from a file | passed | 0.95 ms |
| reaches the bound spec and its one-hop neighborhood with the connecting edges named | the reader — the thin typed loader behind the agent surface > blastRadius — file-level impact, coverage-unknown honest (`06` §2) | passed | 1.97 ms |
| treats a changed spec file as direct impact (no binding in the reason) | the reader — the thin typed loader behind the agent surface > blastRadius — file-level impact, coverage-unknown honest (`06` §2) | passed | 0.98 ms |
| treats a changed pack manifest as pack impact with the members at risk via belongsTo | the reader — the thin typed loader behind the agent surface > blastRadius — file-level impact, coverage-unknown honest (`06` §2) | passed | 3.99 ms |
| surfaces an unanchored changed file as coverage-unknown, never silently dropped | the reader — the thin typed loader behind the agent surface > blastRadius — file-level impact, coverage-unknown honest (`06` §2) | passed | 1.02 ms |
| normalizes, dedupes, and sorts the changed-file list | the reader — the thin typed loader behind the agent surface > blastRadius — file-level impact, coverage-unknown honest (`06` §2) | passed | 1.04 ms |
| joins relations, bindings, recomputed facts, and the spec's findings in one answer | the reader — the thin typed loader behind the agent surface > specContext — the irreducible per-spec join | passed | 1.27 ms |
| decodes a test anchor as an enabled verifier binding with its source location | the reader — the thin typed loader behind the agent surface > specContext — the irreducible per-spec join | passed | 5.83 ms |
| decodes the oracle binding — existence with its source location, never content | the reader — the thin typed loader behind the agent surface > specContext — the irreducible per-spec join | passed | 1.61 ms |
| decodes a rule-kind oracle through the shared example-space predicate | the reader — the thin typed loader behind the agent surface > specContext — the irreducible per-spec join | passed | 0.55 ms |
| fails closed on off-contract or competing oracle edges | the reader — the thin typed loader behind the agent surface > specContext — the irreducible per-spec join | passed | 2.5 ms |
| carries the oracle's file into blast radius through the models binding | the reader — the thin typed loader behind the agent surface > specContext — the irreducible per-spec join | passed | 0.9 ms |
| returns undefined for an id the graph does not hold | the reader — the thin typed loader behind the agent surface > specContext — the irreducible per-spec join | passed | 0.68 ms |
| names the scoped dependency of a Spec stating defined at the next rung, ready | the reader — the thin typed loader behind the agent surface > nextRungFailures — the unmet clauses of the rung above the floor reached | passed | 0.71 ms |
| has no next-rung failure when the same dependency states defined and ready derives | the reader — the thin typed loader behind the agent surface > nextRungFailures — the unmet clauses of the rung above the floor reached | passed | 2.86 ms |
| reads the rung above the floor reached, not the rung above the stated one | the reader — the thin typed loader behind the agent surface > nextRungFailures — the unmet clauses of the rung above the floor reached | passed | 0.4 ms |
| reads idea as the next rung when no rung derives, and nothing for an unratified kind | the reader — the thin typed loader behind the agent surface > nextRungFailures — the unmet clauses of the rung above the floor reached | passed | 0.56 ms |
| lists members with their decode and the verifier gaps, ready ones as the priority slice | the reader — the thin typed loader behind the agent surface > packContext — the pack reviewed as a unit (JS-E4, JS-G4) | passed | 2.68 ms |
| excludes ready and below-ready decisions from gaps while preserving non-decision order | the reader — the thin typed loader behind the agent surface > packContext — the pack reviewed as a unit (JS-E4, JS-G4) | passed | 0.74 ms |
| flags a ready member without a verifier as the priority gap | the reader — the thin typed loader behind the agent surface > packContext — the pack reviewed as a unit (JS-E4, JS-G4) | passed | 0.46 ms |
| answers membership the same from the list and from the belongsTo edges, and the validator names a graph where they disagree | the reader — the thin typed loader behind the agent surface > packContext — the pack reviewed as a unit (JS-E4, JS-G4) | passed | 0.88 ms |
| returns undefined for a non-pack id | the reader — the thin typed loader behind the agent surface > packContext — the pack reviewed as a unit (JS-E4, JS-G4) | passed | 0.64 ms |
| exposes recomputed delivery facts, never stated ones — the divergence stays a finding | the reader — the thin typed loader behind the agent surface > honesty over foreign producers | passed | 0.37 ms |
| never decodes an anchored verifies edge from a non-Anchor source as the enabling test binding | the reader — the thin typed loader behind the agent surface > honesty over foreign producers | passed | 0.55 ms |
| never decodes an off-contract verifies edge from an anchor-bound example as enabled | the reader — the thin typed loader behind the agent surface > honesty over foreign producers | passed | 0.51 ms |
| never confers has-verifier from an anchor-bound non-example verifier — the kind gate of the shared enabled-example rule | the reader — the thin typed loader behind the agent surface > honesty over foreign producers | passed | 0.42 ms |
| keys the verifier by first carrier on a duplicate-id graph — decode and derived facts agree | the reader — the thin typed loader behind the agent surface > honesty over foreign producers | passed | 0.64 ms |
| carries the claim through impact answers — machine-derived reach is marked, never promoted | the reader — the thin typed loader behind the agent surface > honesty over foreign producers | passed | 0.52 ms |
| lists the units that reference a Spec beside its implementations, with role and location | the reader — the thin typed loader behind the agent surface > the binding grain: references and unlinked code units | passed | 0.71 ms |
| never confers a delivery fact through references | the reader — the thin typed loader behind the agent surface > the binding grain: references and unlinked code units | passed | 0.41 ms |
| carries layer and context on a component's binding row | the reader — the thin typed loader behind the agent surface > the binding grain: references and unlinked code units | passed | 0.31 ms |
| reaches a referenced Spec from a source file | the reader — the thin typed loader behind the agent surface > the binding grain: references and unlinked code units | passed | 0.34 ms |
| returns an identity-only unit with an empty Spec list | the reader — the thin typed loader behind the agent surface > the binding grain: references and unlinked code units | passed | 3.34 ms |
| traverses references as a binding, naming the edge type and its claim | the reader — the thin typed loader behind the agent surface > the binding grain: references and unlinked code units | passed | 0.49 ms |
| lists changed units with no Spec linkage as unlinked, never coverage-unknown or dropped | the reader — the thin typed loader behind the agent surface > the binding grain: references and unlinked code units | passed | 0.42 ms |
| keeps a file holding only an identity-only unit out of coverage-unknown and out of impact | the reader — the thin typed loader behind the agent surface > the binding grain: references and unlinked code units | passed | 0.25 ms |
| reports nothing unlinked when every changed unit has a Spec linkage | the reader — the thin typed loader behind the agent surface > the binding grain: references and unlinked code units | passed | 0.8 ms |
| never mutates the graph and answers identically across fresh readers | the reader — the thin typed loader behind the agent surface > purity and determinism | passed | 5.69 ms |
External run evidence from test/readiness.test.ts
Test anchors: test:protocol.readiness-floor. Specs verified by those bindings: spec:validation.readiness-floor.
| Name | Suite | Result | Duration |
|---|---|---|---|
| exports the canonical validator families and severities | readiness and validation contracts | passed | 1.31 ms |
| defines the kind-blind structural clauses as one table (MD-13), clause ids defined exactly once | readiness and validation contracts | passed | 0.44 ms |
| evaluates every clause — the ready clauses included — over the one graph (one validation path, MD-14) | readiness and validation contracts | passed | 0.91 ms |
| covers every kind in the evidence table; workflow and contract ride the behavior row (MD-12) | readiness and validation contracts | passed | 0.27 ms |
| keeps a workflow with flows below defined until it carries a rule | readiness and validation contracts | passed | 0.41 ms |
| counts promoted children as evidence — promotion never costs an earned rung (MD-10/MD-12) | readiness and validation contracts | passed | 0.41 ms |
| keeps the constraint floor monotonic: an untargeted entry clears scoped, not defined (MD-12) | readiness and validation contracts | passed | 0.29 ms |
| keeps every kind's evidence row monotonic: defined evidence implies scoped evidence (MD-12) | readiness and validation contracts | passed | 1.42 ms |
| requires a structured GWT entry for a defined example; prose clears scoped only (MD-10) | readiness and validation contracts | passed | 0.48 ms |
| derives the highest cumulatively-cleared rung, independent of the stated one | readiness and validation contracts > derived readiness (the stated-vs-derived split, `spec:validation.readiness-floor`) | passed | 0.41 ms |
| derives below the stated rung exactly where the floor check fails (the divergence) | readiness and validation contracts > derived readiness (the stated-vs-derived split, `spec:validation.readiness-floor`) | passed | 0.34 ms |
| derives undefined when even the idea clauses fail | readiness and validation contracts > derived readiness (the stated-vs-derived split, `spec:validation.readiness-floor`) | passed | 0.24 ms |
| stays total over an unratified kind: no rung derives, the conformance error owns it | readiness and validation contracts > derived readiness (the stated-vs-derived split, `spec:validation.readiness-floor`) | passed | 0.3 ms |
| holds a fully bound example at defined — the clause flips on the binding alone | the concreteness law — an example is a bound point (the plan-12 ratification) | passed | 0.79 ms |
| caps a fully bound example below defined when a parent example space no longer owns its step | the concreteness law — an example is a bound point (the plan-12 ratification) | passed | 0.67 ms |
| caps an example with a bare unbound slot in a used step below defined | the concreteness law — an example is a bound point (the plan-12 ratification) | passed | 0.29 ms |
| caps a declaration-form slot in a used step the same way ({n:number} is not a binding) | the concreteness law — an example is a bound point (the plan-12 ratification) | passed | 0.23 ms |
| keeps a partial point honest: an unused step binds nothing and fails nothing | the concreteness law — an example is a bound point (the plan-12 ratification) | passed | 0.22 ms |
| derives the honest rung: the unbound-slot example structurally reaches scoped, never defined | the concreteness law — an example is a bound point (the plan-12 ratification) | passed | 0.18 ms |
| names the scoped dependency at a target rung of ready on a Spec stating defined | the floor for a target rung and the targets a dependency failure names | passed | 0.44 ms |
| finds nothing at ready when the same dependency states defined | the floor for a target rung and the targets a dependency failure names | passed | 0.19 ms |
| evaluates the target rung, not the stated one, in both directions | the floor for a target rung and the targets a dependency failure names | passed | 0.32 ms |
| evaluates the cumulative clauses of every rung up to the target | the floor for a target rung and the targets a dependency failure names | passed | 0.25 ms |
| yields no failure for an unratified kind or an unratified target rung | the floor for a target rung and the targets a dependency failure names | passed | 0.34 ms |
| names every distinct breaking target, sorted by relation type and then by id | the floor for a target rung and the targets a dependency failure names | passed | 0.51 ms |
| keeps the readiness-floor finding message free of targets | the floor for a target rung and the targets a dependency failure names | passed | 2.54 ms |
| sets a targets reader on the typed-dependency clause alone | the floor for a target rung and the targets a dependency failure names | passed | 0.24 ms |
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.
| Name | Suite | Result | Duration |
|---|---|---|---|
| cites each recipe that a Spec names by number and heading under the catalog's number | the agent-surface recipe corpus | passed | 203.44 ms |
| pairs every documented recipe with exactly one fenced body | the agent-surface recipe corpus | passed | 1.09 ms |
| keeps self-hosting and adopter invocation forms distinct | the agent-surface recipe corpus | passed | 7.14 ms |
| teaches parameters as data and keeps the on-ramps naming the CLI verbs and recipes | the agent-surface recipe corpus | passed | 4.55 ms |
| keeps every body plain JavaScript with a return | the agent-surface recipe corpus | passed | 5.66 ms |
| runs every body through the front door without throwing | the agent-surface recipe corpus | passed | 4526.76 ms |
| returns the non-example build backlog and audits excluded example evidence | the agent-surface recipe corpus | passed | 71.36 ms |
| returns a drift alarm of code-bound specs below ready, with the floor named | the agent-surface recipe corpus | passed | 46.65 ms |
| returns one spec's guarantees with its relations and verifier bindings | the agent-surface recipe corpus | passed | 38.2 ms |
| keeps hostile changed filenames as inert JSON data | the agent-surface recipe corpus | passed | 36.27 ms |
| returns the complete diff-to-at-risk bridge | the agent-surface recipe corpus | passed | 48.16 ms |
| names a changed identity-only unit as unlinked, never coverage-unknown or dropped | the agent-surface recipe corpus | passed | 66.24 ms |
| returns a pack's review backbone with its verifier gaps | the agent-surface recipe corpus | passed | 54.38 ms |
| returns concept matches carrying the fields that matched | the agent-surface recipe corpus | passed | 86.65 ms |
| returns readiness divergence as an array, where empty is lawful | the agent-surface recipe corpus | passed | 94.47 ms |
| returns the warn-level signals as data rather than as a gate | the agent-surface recipe corpus | passed | 57.35 ms |
| returns promotion preflight without conferring a readiness edit | the agent-surface recipe corpus | passed | 29.14 ms |
| names the next rung's unmet clause and the dependency that breaks it on a probe | the agent-surface recipe corpus | passed | 1.95 ms |
| keeps declared examples distinct from enabled verifier bindings | the agent-surface recipe corpus | passed | 315.12 ms |
| returns the complete non-ready ladder grouped by family | the agent-surface recipe corpus | passed | 112.21 ms |
| distinguishes a passing current floor from a blocked or clear stated next rung | the agent-surface recipe corpus | passed | 4.94 ms |
| returns every committed structural component with non-empty membership | the agent-surface recipe corpus | passed | 59.76 ms |
| returns exact component uses fan-in and fan-out from the structural oracle | the agent-surface recipe corpus | passed | 47.86 ms |
| returns a component structural neighborhood and an exact absent shape | the agent-surface recipe corpus | passed | 87.05 ms |
| reports census structural coverage from graph and report ground truth | the agent-surface recipe corpus | passed | 40.04 ms |
| reports graph-side upper bounds for every shipped projection root | the agent-surface recipe corpus | passed | 34.89 ms |
| returns the architecture map of every live component with recomputed fan-in and fan-out | the agent-surface recipe corpus | passed | 54.87 ms |
| explains the shared policy and adapter collaborations from graph intent and binding claims | the agent-surface recipe corpus | passed | 69.84 ms |
| retains local uses and their claims without counting a component as its own dependency | the agent-surface recipe corpus | passed | 75.74 ms |
| preserves an unresolved responsibility without inventing its design | the agent-surface recipe corpus | passed | 89.93 ms |
| keeps a dangling component row and surfaces unresolved uses edges | the agent-surface recipe corpus | passed | 92.01 ms |
| preserves an unresolved architecture-map member when memberOf outlives the node | the agent-surface recipe corpus | passed | 86.53 ms |
| returns the decision map ranked by live shaping fan-in | the agent-surface recipe corpus | passed | 49.06 ms |
| returns a planning-slice neighborhood and an exact absent shape | the agent-surface recipe corpus | passed | 100.85 ms |
| returns non-empty bidirectional dependencies for the binding-grain planning slice | the agent-surface recipe corpus | passed | 55.05 ms |
| returns planning-slice implementations, never abstractions | the agent-surface recipe corpus | passed | 49.58 ms |
| preserves an unresolved component row when memberOf outlives the node | the agent-surface recipe corpus | passed | 114.57 ms |
| reports derived design columns beside the existing backlog fields | the agent-surface recipe corpus | passed | 5.97 ms |
| groups backlog rows under lawful Object.prototype path segments | the agent-surface recipe corpus | passed | 70.12 ms |
| groups lower-ladder rows under lawful Object.prototype path segments | the agent-surface recipe corpus | passed | 65.98 ms |
| groups decided subjects under lawful Object.prototype path segments | the agent-surface recipe corpus | passed | 50.79 ms |
| lists key families across the corpus in key, Spec and section order with the documented sample | register recipe semantics | passed | 87.47 ms |
| lists Design and UI key families without a row cap, preserving values, lines and overlapping prefixes | register recipe semantics | passed | 6.93 ms |
| diagnoses an unresolved Pack member without returning a partial register | register recipe semantics | passed | 2 ms |
| diagnoses malformed key-family parameters without a register: {"prefixes":[]} | register recipe semantics | passed | 47.39 ms |
| diagnoses malformed key-family parameters without a register: {"prefixes":[""]} | register recipe semantics | passed | 51.9 ms |
| diagnoses malformed key-family parameters without a register: {"prefixes":["a","a"]} | register recipe semantics | passed | 60.77 ms |
| diagnoses malformed key-family parameters without a register: {"prefixes":"limit"} | register recipe semantics | passed | 48.71 ms |
| diagnoses malformed key-family parameters without a register: {"pack":"pack:absent"} | register recipe semantics | passed | 47.17 ms |
| diagnoses malformed key-family parameters without a register: {"specs":["spec:absent"]} | register recipe semantics | passed | 47.63 ms |
| diagnoses malformed key-family parameters without a register: {"specs":"bad"} | register recipe semantics | passed | 48.35 ms |
| diagnoses malformed key-family parameters without a register: {"pack":"pack:self-hosting-v1","specs":[]} | register recipe semantics | passed | 61.9 ms |
| runs recipe 20 as written in default output | register recipe semantics | passed | 83.5 ms |
| runs recipe 21 as written in default output | register recipe semantics | passed | 43.91 ms |
| runs recipe 22 as written in default output | register recipe semantics | passed | 140.26 ms |
| runs recipe 23 as written in default output | register recipe semantics | passed | 135.22 ms |
| runs recipe 24 as written in default output | register recipe semantics | passed | 76.44 ms |
| runs recipe 25 as written in default output | register recipe semantics | passed | 32.84 ms |
| runs recipe 26 as written in default output | register recipe semantics | passed | 34.44 ms |
| runs recipe 27 as written in default output | register recipe semantics | passed | 35.78 ms |
| runs recipe 28 as written in default output | register recipe semantics | passed | 28.08 ms |
| runs recipe 29 as written in default output | register recipe semantics | passed | 25.29 ms |
| runs recipe 30 as written in default output | register recipe semantics | passed | 66.24 ms |
| runs recipe 31 as written in default output | register recipe semantics | passed | 36.6 ms |
| runs recipe 32 as written in default output | register recipe semantics | passed | 22.72 ms |
| renders long JSON values with the same default text bound as strings | register recipe semantics | passed | 7.07 ms |
| registers an omitted blocking flag through a TypeScript carrier | register recipe semantics | passed | 2.89 ms |
| searches coined keys of every value shape through a TypeScript carrier | register recipe semantics | passed | 2.3 ms |
| searches strings inside a matching coined list or object key | register recipe semantics | passed | 2.92 ms |
| searches a null coined-key value in the reader graph | register recipe semantics | passed | 2.36 ms |
| keeps register counts under totals and top-level plural nouns as arrays | register recipe semantics | passed | 602.26 ms |
| pins whole-token matching for 'retry' in 'entry' / 'retry' | register recipe semantics | passed | 1 ms |
| pins whole-token matching for 'retry' in 'entry' / 'retryable' | register recipe semantics | passed | 0.29 ms |
| pins whole-token matching for 'retry' in 'entry' / 'retry-worker' | register recipe semantics | passed | 0.22 ms |
| pins whole-token matching for 'retry' in 'retryWorker' / 'unrelated' | register recipe semantics | passed | 0.21 ms |
| pins whole-token matching for 'Retry' in 'entry' / 'RETRY.' | register recipe semantics | passed | 0.19 ms |
| pins whole-token matching for 'retry worker' in 'retryWorker' / 'retry-worker' | register recipe semantics | passed | 0.18 ms |
| pins whole-token matching for 'retry worker' in 'entry' / 'worker retry' | register recipe semantics | passed | 0.27 ms |
| pins whole-token matching for 'retry worker' in 'entry' / 'retry the worker' | register recipe semantics | passed | 0.18 ms |
| pins whole-token matching for 'server' in 'entry' / 'HTTPServer' | register recipe semantics | passed | 0.27 ms |
| pins whole-token matching for 'v' in 'entry' / 'v2' | register recipe semantics | passed | 0.21 ms |
| registers every authored question, blocking Specs first | register recipe semantics | passed | 65.36 ms |
| reports one-hop footing of all four types, including unresolved targets | register recipe semantics | passed | 94.97 ms |
| audits mention pairs, skips fences, and preserves full ids and direction | register recipe semantics | passed | 1.17 ms |
| resolves entry mentions and retains every token and pair location through a probe root | register recipe semantics | passed | 5.54 ms |
| reads the whole mention token through an underscore as malformed, never the existing prefix | register recipe semantics | passed | 0.73 ms |
| reads the whole mention token through a slash as malformed, never the existing prefix | register recipe semantics | passed | 0.46 ms |
| reads the whole mention token through a comma as malformed, never the existing prefix | register recipe semantics | passed | 0.49 ms |
| reads the whole mention token through an underscore and a letter as malformed, never the existing prefix | register recipe semantics | passed | 0.42 ms |
| reads the whole mention token through a slash and a letter as malformed, never the existing prefix | register recipe semantics | passed | 0.38 ms |
| reads the whole mention token through a comma and a letter as malformed, never the existing prefix | register recipe semantics | passed | 0.4 ms |
| reads the whole mention token through a letter outside ASCII as malformed, never the existing prefix | register recipe semantics | passed | 0.37 ms |
| reads the whole mention token through an escaped underscore as malformed, never the existing prefix | register recipe semantics | passed | 0.36 ms |
| reads the whole mention token through a combining mark as malformed, never the existing prefix | register recipe semantics | passed | 0.48 ms |
| reads the whole mention token through a combining mark after an entry key as malformed, never the existing prefix | register recipe semantics | passed | 0.45 ms |
| reads the whole mention token through a zero-width space as malformed, never the existing prefix | register recipe semantics | passed | 0.44 ms |
| reads the whole mention token through fullwidth connector punctuation as malformed, never the existing prefix | register recipe semantics | passed | 0.4 ms |
| reads the whole mention token through a NUL as malformed, never the existing prefix | register recipe semantics | passed | 0.41 ms |
| reads the whole mention token through an escape character as malformed, never the existing prefix | register recipe semantics | passed | 0.39 ms |
| reads the whole mention token through a delete character as malformed, never the existing prefix | register recipe semantics | passed | 0.55 ms |
| reads the whole mention token through a C1 control character as malformed, never the existing prefix | register recipe semantics | passed | 0.43 ms |
| reads the whole mention token through a hyphenated entry key as malformed, never the existing prefix | register recipe semantics | passed | 0.43 ms |
| reads the whole mention token through an entry suffix with no key as malformed, never the existing prefix | register recipe semantics | passed | 0.43 ms |
| reads the whole mention token through an entry suffix outside design and ui as malformed, never the existing prefix | register recipe semantics | passed | 0.44 ms |
| reads the clean id through Markdown punctuation: a sentence dot | register recipe semantics | passed | 0.51 ms |
| reads the clean id through Markdown punctuation: a comma | register recipe semantics | passed | 0.42 ms |
| reads the clean id through Markdown punctuation: a colon | register recipe semantics | passed | 0.43 ms |
| reads the clean id through Markdown punctuation: a closing parenthesis | register recipe semantics | passed | 0.41 ms |
| reads the clean id through Markdown punctuation: bold | register recipe semantics | passed | 0.41 ms |
| reads the clean id through Markdown punctuation: emphasis | register recipe semantics | passed | 0.41 ms |
| reads the clean id through Markdown punctuation: strikethrough | register recipe semantics | passed | 0.38 ms |
| reads the clean id through Markdown punctuation: backticks | register recipe semantics | passed | 0.43 ms |
| reads the clean id through Markdown punctuation: ASCII double quotes | register recipe semantics | passed | 0.38 ms |
| reads the clean id through Markdown punctuation: ASCII single quotes | register recipe semantics | passed | 0.53 ms |
| reads the clean id through Markdown punctuation: typographic double quotes | register recipe semantics | passed | 0.46 ms |
| reads the clean id through Markdown punctuation: typographic single quotes | register recipe semantics | passed | 0.43 ms |
| reads the clean id through Markdown punctuation: an em dash | register recipe semantics | passed | 0.41 ms |
| reads the clean id through Markdown punctuation: an en dash | register recipe semantics | passed | 0.43 ms |
| reads the clean id through Markdown punctuation: an ellipsis | register recipe semantics | passed | 0.42 ms |
| reads the clean id through Markdown punctuation: an escaped star | register recipe semantics | passed | 0.42 ms |
| reads the clean id through Markdown punctuation: an escaped exclamation mark | register recipe semantics | passed | 0.45 ms |
| reads the clean id through Markdown punctuation: U+0085 | register recipe semantics | passed | 0.4 ms |
| reads the clean id through Markdown punctuation: a no-break space | register recipe semantics | passed | 0.4 ms |
| reads the clean id through Markdown punctuation: a tab | register recipe semantics | passed | 0.38 ms |
| reads the clean id through Markdown punctuation: an arrow | register recipe semantics | passed | 0.37 ms |
| reads a placeholder or a bare prefix as prose, not a mention | register recipe semantics | passed | 0.47 ms |
| scans nested arrays in examples while skipping object fences by position | register recipe semantics | passed | 1.04 ms |
| addresses only lawful Design and UI entry keys in search results | register recipe semantics | passed | 1.08 ms |
| scopes mentions by the mentioning Spec only | register recipe semantics | passed | 3.1 ms |
| reports malformed open questions without counting them: "one question" | register recipe semantics | passed | 0.51 ms |
| reports malformed open questions without counting them: {} | register recipe semantics | passed | 0.28 ms |
| reports malformed open questions without counting them: 42 | register recipe semantics | passed | 0.29 ms |
| reports malformed open questions without counting them: {"blocking":true} | register recipe semantics | passed | 0.27 ms |
| reports malformed open questions without counting them: null | register recipe semantics | passed | 0.32 ms |
| reports malformed open questions without counting them: "" | register recipe semantics | passed | 0.3 ms |
| reports malformed open questions without counting them: {"question":"valid","blocking":"yes"} | register recipe semantics | passed | 0.31 ms |
| reports malformed open questions without counting them: {"question":"valid","blocking":null} | register recipe semantics | passed | 0.33 ms |
| reports malformed open questions without counting them: {"question":"valid"} | register recipe semantics | passed | 0.38 ms |
| reports an off-grammar question key as malformed: {"question":"valid","key":"AggregateReach"} | register recipe semantics | passed | 0.46 ms |
| reports an off-grammar question key as malformed: {"question":"valid","key":"aggregate-reach"} | register recipe semantics | passed | 0.32 ms |
| reports an off-grammar question key as malformed: {"question":"valid","key":""} | register recipe semantics | passed | 0.33 ms |
| reports an off-grammar question key as malformed: {"question":"valid","key":7} | register recipe semantics | passed | 0.33 ms |
| reports an off-grammar question key as malformed: {"question":"valid","key":null} | register recipe semantics | passed | 0.31 ms |
| reports an off-grammar question key as malformed: {"question":"valid","blocking":true} | register recipe semantics | passed | 0.32 ms |
| searches whole tokens, coined keys, narrative and fence steps | register recipe semantics | passed | 10.86 ms |
| lists every pinned declaration this corpus holds | register recipe semantics | passed | 151.14 ms |
| reads spans of any run length and skips every entry that pins nothing | register recipe semantics | passed | 0.81 ms |
| resolves the catalog's addresses on this corpus as written | address resolution and dependency cycles | passed | 64.16 ms |
| reports this corpus's dependency cycles as an independent reachability check finds them | address resolution and dependency cycles | passed | 88.32 ms |
| reports the probe's one set and one self-dependent Spec, and nothing for a Spec that only reaches a set | address resolution and dependency cycles | passed | 4.2 ms |
| reports a self-loop inside a larger set only with that set | address resolution and dependency cycles | passed | 4.72 ms |
| walks targets in code-unit order, so of two tied shortest cycles the first target's is reported | address resolution and dependency cycles | passed | 6.46 ms |
| walks a chain of 10,000 Specs and one cycle of 5,000 without recursing | address resolution and dependency cycles | passed | 178.94 ms |
| resolves an inherited property name only where the Spec authors it as a key | address resolution and dependency cycles | passed | 3.03 ms |
| resolves the design's probe addresses with one row and one reason each | address resolution and dependency cycles | passed | 2.86 ms |
| resolves a keyed question, refuses description in Design and UI, and keeps repeats | address resolution and dependency cycles | passed | 2.69 ms |
| registers a keyed question with its key and an unkeyed one with a null key | address resolution and dependency cycles | passed | 1.76 ms |
| audits a question address against the target's open question keys | address resolution and dependency cycles | passed | 1.86 ms |
| addresses a keyed question's text and matches its key, never the key as a row | address resolution and dependency cycles | passed | 5.05 ms |
| returns one row per Studio member with four independent facts | design references and the architecture taxonomy | passed | 114.98 ms |
| lists a referencing unit beside the realizing units without conferring implemented | design references and the architecture taxonomy | passed | 152.22 ms |
| lists the reader beside each Studio member that depends on it, with its realizing units | design references and the architecture taxonomy | passed | 66.69 ms |
| derives builds-on from the member's relations without conferring a fact on it | design references and the architecture taxonomy | passed | 154.09 ms |
| returns the role, layer, and context taxonomy from the code units alone | design references and the architecture taxonomy | passed | 33.37 ms |
| counts references as edges apart from the units that carry them | design references and the architecture taxonomy | passed | 83.72 ms |
| creates each taxonomy bucket once, however many units share the value | design references and the architecture taxonomy | passed | 102.31 ms |
| declares and checks only its indexed parameter names first: 1 | recipe parameters and the shipped recipe files | passed | 0.86 ms |
| declares and checks only its indexed parameter names first: 2 | recipe parameters and the shipped recipe files | passed | 0.45 ms |
| declares and checks only its indexed parameter names first: 3 | recipe parameters and the shipped recipe files | passed | 0.48 ms |
| declares and checks only its indexed parameter names first: 4 | recipe parameters and the shipped recipe files | passed | 0.4 ms |
| declares and checks only its indexed parameter names first: 5 | recipe parameters and the shipped recipe files | passed | 0.39 ms |
| declares and checks only its indexed parameter names first: 6 | recipe parameters and the shipped recipe files | passed | 0.39 ms |
| declares and checks only its indexed parameter names first: 7 | recipe parameters and the shipped recipe files | passed | 0.42 ms |
| declares and checks only its indexed parameter names first: 8 | recipe parameters and the shipped recipe files | passed | 0.45 ms |
| declares and checks only its indexed parameter names first: 9 | recipe parameters and the shipped recipe files | passed | 0.44 ms |
| declares and checks only its indexed parameter names first: 10 | recipe parameters and the shipped recipe files | passed | 0.41 ms |
| declares and checks only its indexed parameter names first: 11 | recipe parameters and the shipped recipe files | passed | 0.36 ms |
| declares and checks only its indexed parameter names first: 12 | recipe parameters and the shipped recipe files | passed | 0.35 ms |
| declares and checks only its indexed parameter names first: 13 | recipe parameters and the shipped recipe files | passed | 0.98 ms |
| declares and checks only its indexed parameter names first: 14 | recipe parameters and the shipped recipe files | passed | 0.42 ms |
| declares and checks only its indexed parameter names first: 15 | recipe parameters and the shipped recipe files | passed | 0.38 ms |
| declares and checks only its indexed parameter names first: 16 | recipe parameters and the shipped recipe files | passed | 0.38 ms |
| declares and checks only its indexed parameter names first: 17 | recipe parameters and the shipped recipe files | passed | 0.34 ms |
| declares and checks only its indexed parameter names first: 18 | recipe parameters and the shipped recipe files | passed | 0.36 ms |
| declares and checks only its indexed parameter names first: 19 | recipe parameters and the shipped recipe files | passed | 3.5 ms |
| declares and checks only its indexed parameter names first: 20 | recipe parameters and the shipped recipe files | passed | 0.42 ms |
| declares and checks only its indexed parameter names first: 21 | recipe parameters and the shipped recipe files | passed | 0.42 ms |
| declares and checks only its indexed parameter names first: 22 | recipe parameters and the shipped recipe files | passed | 0.4 ms |
| declares and checks only its indexed parameter names first: 23 | recipe parameters and the shipped recipe files | passed | 0.38 ms |
| declares and checks only its indexed parameter names first: 24 | recipe parameters and the shipped recipe files | passed | 3.6 ms |
| declares and checks only its indexed parameter names first: 25 | recipe parameters and the shipped recipe files | passed | 0.41 ms |
| declares and checks only its indexed parameter names first: 26 | recipe parameters and the shipped recipe files | passed | 0.41 ms |
| declares and checks only its indexed parameter names first: 27 | recipe parameters and the shipped recipe files | passed | 0.44 ms |
| declares and checks only its indexed parameter names first: 28 | recipe parameters and the shipped recipe files | passed | 3.48 ms |
| declares and checks only its indexed parameter names first: 29 | recipe parameters and the shipped recipe files | passed | 0.4 ms |
| declares and checks only its indexed parameter names first: 30 | recipe parameters and the shipped recipe files | passed | 0.39 ms |
| declares and checks only its indexed parameter names first: 31 | recipe parameters and the shipped recipe files | passed | 0.36 ms |
| declares and checks only its indexed parameter names first: 32 | recipe parameters and the shipped recipe files | passed | 3.39 ms |
| declares and checks only its indexed parameter names first: 33 | recipe parameters and the shipped recipe files | passed | 0.45 ms |
| declares and checks only its indexed parameter names first: 34 | recipe parameters and the shipped recipe files | passed | 0.36 ms |
| declares and checks only its indexed parameter names first: 35 | recipe parameters and the shipped recipe files | passed | 0.39 ms |
| declares and checks only its indexed parameter names first: 36 | recipe parameters and the shipped recipe files | passed | 0.45 ms |
| declares and checks only its indexed parameter names first: 37 | recipe parameters and the shipped recipe files | passed | 0.41 ms |
| declares and checks only its indexed parameter names first: 38 | recipe parameters and the shipped recipe files | passed | 0.37 ms |
| declares and checks only its indexed parameter names first: 39 | recipe parameters and the shipped recipe files | passed | 0.38 ms |
| declares and checks only its indexed parameter names first: 40 | recipe parameters and the shipped recipe files | passed | 0.39 ms |
| declares and checks only its indexed parameter names first: 41 | recipe parameters and the shipped recipe files | passed | 0.38 ms |
| declares and checks only its indexed parameter names first: 42 | recipe parameters and the shipped recipe files | passed | 0.39 ms |
| declares and checks only its indexed parameter names first: 43 | recipe parameters and the shipped recipe files | passed | 0.43 ms |
| declares and checks only its indexed parameter names first: 44 | recipe parameters and the shipped recipe files | passed | 0.4 ms |
| declares and checks only its indexed parameter names first: 45 | recipe parameters and the shipped recipe files | passed | 0.39 ms |
| declares and checks only its indexed parameter names first: 46 | recipe parameters and the shipped recipe files | passed | 0.37 ms |
| declares and checks only its indexed parameter names first: 47 | recipe parameters and the shipped recipe files | passed | 0.38 ms |
| declares and checks only its indexed parameter names first: 48 | recipe parameters and the shipped recipe files | passed | 0.42 ms |
| declares and checks only its indexed parameter names first: 49 | recipe parameters and the shipped recipe files | passed | 0.41 ms |
| declares and checks only its indexed parameter names first: 50 | recipe parameters and the shipped recipe files | passed | 0.42 ms |
| declares and checks only its indexed parameter names first: 51 | recipe parameters and the shipped recipe files | passed | 0.37 ms |
| declares and checks only its indexed parameter names first: 52 | recipe parameters and the shipped recipe files | passed | 0.47 ms |
| declares and checks only its indexed parameter names first: 53 | recipe parameters and the shipped recipe files | passed | 0.48 ms |
| declares and checks only its indexed parameter names first: 54 | recipe parameters and the shipped recipe files | passed | 0.56 ms |
| declares and checks only its indexed parameter names first: 55 | recipe parameters and the shipped recipe files | passed | 0.44 ms |
| returns only the unknown-name answer before reading recipe inputs: 1 | recipe parameters and the shipped recipe files | passed | 64.45 ms |
| returns only the unknown-name answer before reading recipe inputs: 2 | recipe parameters and the shipped recipe files | passed | 86.74 ms |
| returns only the unknown-name answer before reading recipe inputs: 3 | recipe parameters and the shipped recipe files | passed | 64.56 ms |
| returns only the unknown-name answer before reading recipe inputs: 4 | recipe parameters and the shipped recipe files | passed | 40.29 ms |
| returns only the unknown-name answer before reading recipe inputs: 5 | recipe parameters and the shipped recipe files | passed | 46.83 ms |
| returns only the unknown-name answer before reading recipe inputs: 6 | recipe parameters and the shipped recipe files | passed | 46.25 ms |
| returns only the unknown-name answer before reading recipe inputs: 7 | recipe parameters and the shipped recipe files | passed | 48.18 ms |
| returns only the unknown-name answer before reading recipe inputs: 8 | recipe parameters and the shipped recipe files | passed | 42.23 ms |
| returns only the unknown-name answer before reading recipe inputs: 9 | recipe parameters and the shipped recipe files | passed | 71.25 ms |
| returns only the unknown-name answer before reading recipe inputs: 10 | recipe parameters and the shipped recipe files | passed | 31.24 ms |
| returns only the unknown-name answer before reading recipe inputs: 11 | recipe parameters and the shipped recipe files | passed | 31.96 ms |
| returns only the unknown-name answer before reading recipe inputs: 12 | recipe parameters and the shipped recipe files | passed | 49.78 ms |
| returns only the unknown-name answer before reading recipe inputs: 13 | recipe parameters and the shipped recipe files | passed | 39.97 ms |
| returns only the unknown-name answer before reading recipe inputs: 14 | recipe parameters and the shipped recipe files | passed | 63.85 ms |
| returns only the unknown-name answer before reading recipe inputs: 15 | recipe parameters and the shipped recipe files | passed | 52.92 ms |
| returns only the unknown-name answer before reading recipe inputs: 16 | recipe parameters and the shipped recipe files | passed | 35.88 ms |
| returns only the unknown-name answer before reading recipe inputs: 17 | recipe parameters and the shipped recipe files | passed | 33.16 ms |
| returns only the unknown-name answer before reading recipe inputs: 18 | recipe parameters and the shipped recipe files | passed | 39.7 ms |
| returns only the unknown-name answer before reading recipe inputs: 19 | recipe parameters and the shipped recipe files | passed | 36.47 ms |
| returns only the unknown-name answer before reading recipe inputs: 20 | recipe parameters and the shipped recipe files | passed | 34.05 ms |
| returns only the unknown-name answer before reading recipe inputs: 21 | recipe parameters and the shipped recipe files | passed | 37.69 ms |
| returns only the unknown-name answer before reading recipe inputs: 22 | recipe parameters and the shipped recipe files | passed | 34.48 ms |
| returns only the unknown-name answer before reading recipe inputs: 23 | recipe parameters and the shipped recipe files | passed | 45.55 ms |
| returns only the unknown-name answer before reading recipe inputs: 24 | recipe parameters and the shipped recipe files | passed | 37.07 ms |
| returns only the unknown-name answer before reading recipe inputs: 25 | recipe parameters and the shipped recipe files | passed | 41.58 ms |
| returns only the unknown-name answer before reading recipe inputs: 26 | recipe parameters and the shipped recipe files | passed | 36.43 ms |
| returns only the unknown-name answer before reading recipe inputs: 27 | recipe parameters and the shipped recipe files | passed | 40.71 ms |
| returns only the unknown-name answer before reading recipe inputs: 28 | recipe parameters and the shipped recipe files | passed | 40.12 ms |
| returns only the unknown-name answer before reading recipe inputs: 29 | recipe parameters and the shipped recipe files | passed | 34.37 ms |
| returns only the unknown-name answer before reading recipe inputs: 30 | recipe parameters and the shipped recipe files | passed | 41.06 ms |
| returns only the unknown-name answer before reading recipe inputs: 31 | recipe parameters and the shipped recipe files | passed | 35.56 ms |
| returns only the unknown-name answer before reading recipe inputs: 32 | recipe parameters and the shipped recipe files | passed | 43.01 ms |
| returns only the unknown-name answer before reading recipe inputs: 33 | recipe parameters and the shipped recipe files | passed | 37.21 ms |
| returns only the unknown-name answer before reading recipe inputs: 34 | recipe parameters and the shipped recipe files | passed | 41.37 ms |
| returns only the unknown-name answer before reading recipe inputs: 35 | recipe parameters and the shipped recipe files | passed | 39.18 ms |
| returns only the unknown-name answer before reading recipe inputs: 36 | recipe parameters and the shipped recipe files | passed | 38.62 ms |
| returns only the unknown-name answer before reading recipe inputs: 37 | recipe parameters and the shipped recipe files | passed | 43.69 ms |
| returns only the unknown-name answer before reading recipe inputs: 38 | recipe parameters and the shipped recipe files | passed | 38.21 ms |
| returns only the unknown-name answer before reading recipe inputs: 39 | recipe parameters and the shipped recipe files | passed | 37.8 ms |
| returns only the unknown-name answer before reading recipe inputs: 40 | recipe parameters and the shipped recipe files | passed | 34.85 ms |
| returns only the unknown-name answer before reading recipe inputs: 41 | recipe parameters and the shipped recipe files | passed | 38.46 ms |
| returns only the unknown-name answer before reading recipe inputs: 42 | recipe parameters and the shipped recipe files | passed | 37.37 ms |
| returns only the unknown-name answer before reading recipe inputs: 43 | recipe parameters and the shipped recipe files | passed | 31.83 ms |
| returns only the unknown-name answer before reading recipe inputs: 44 | recipe parameters and the shipped recipe files | passed | 25.05 ms |
| returns only the unknown-name answer before reading recipe inputs: 45 | recipe parameters and the shipped recipe files | passed | 35.12 ms |
| returns only the unknown-name answer before reading recipe inputs: 46 | recipe parameters and the shipped recipe files | passed | 41.83 ms |
| returns only the unknown-name answer before reading recipe inputs: 47 | recipe parameters and the shipped recipe files | passed | 35.78 ms |
| returns only the unknown-name answer before reading recipe inputs: 48 | recipe parameters and the shipped recipe files | passed | 40.67 ms |
| returns only the unknown-name answer before reading recipe inputs: 49 | recipe parameters and the shipped recipe files | passed | 40.51 ms |
| returns only the unknown-name answer before reading recipe inputs: 50 | recipe parameters and the shipped recipe files | passed | 37.07 ms |
| returns only the unknown-name answer before reading recipe inputs: 51 | recipe parameters and the shipped recipe files | passed | 40.67 ms |
| returns only the unknown-name answer before reading recipe inputs: 52 | recipe parameters and the shipped recipe files | passed | 39.56 ms |
| returns only the unknown-name answer before reading recipe inputs: 53 | recipe parameters and the shipped recipe files | passed | 27.59 ms |
| returns only the unknown-name answer before reading recipe inputs: 54 | recipe parameters and the shipped recipe files | passed | 33.04 ms |
| returns only the unknown-name answer before reading recipe inputs: 55 | recipe parameters and the shipped recipe files | passed | 41.41 ms |
| diagnoses wrong subject names, mixed known names and ordered unknown names through shipped bodies | recipe parameters and the shipped recipe files | passed | 100 ms |
| reads and names each parameter, with a fallback only when the contract supplies one | recipe parameters and the shipped recipe files | passed | 9.19 ms |
| ships every catalog body as dist/recipes/NN-slug.js, byte for byte | recipe parameters and the shipped recipe files | passed | 8.28 ms |
| runs every shipped file, read whole, to the answer its catalog body gives | recipe parameters and the shipped recipe files | passed | 6827.51 ms |
| refuses a catalog whose bodies and headings do not pair, rather than guess a file name | recipe parameters and the shipped recipe files | passed | 1.37 ms |
| reads a CRLF catalog as its LF bodies, and refuses a catalog with no recipe before publishing | recipe parameters and the shipped recipe files | passed | 17.95 ms |
| removes only completed recipe files the catalog no longer owes, never another run's temporary file | recipe parameters and the shipped recipe files | passed | 0.82 ms |
| passes recipe 4 its changed files from a file named with @PATH | recipe parameters and the shipped recipe files | passed | 40.39 ms |
| resolves the addresses recipe 25 receives as data | recipe parameters and the shipped recipe files | passed | 67.17 ms |
| reads the Pack the Pack recipes review from params.pack | recipe parameters and the shipped recipe files | passed | 187.66 ms |
| returns the Pack design of every corpus Pack as the raw graph states it | design recipes | passed | 789.57 ms |
| returns the probe Pack's design exactly, member by member | design recipes | passed | 8.24 ms |
| reaches every Spec resting on the corpus sample, by a shortest path of real edges | design recipes | passed | 364.56 ms |
| walks a dependency chain inbound only, once per Spec, and keeps a reference apart | design recipes | passed | 1.71 ms |
| registers every corpus decision with its supersession, subjects and keyed questions | design recipes | passed | 86.75 ms |
| registers a supersedes pair both ways and a decision that shapes nothing | design recipes | passed | 4.58 ms |
| carries a relation's reason beside the relation in recipes 3, 19, 21 and 31 | design recipes | passed | 1.68 ms |
| registers narrowing decisions both ways and excludes refinement by other kinds | design recipes | passed | 0.54 ms |
| keeps the decoder in reader without adding crossings against the lawful notation alternative | design recipes | passed | 90.25 ms |
| reports the corpus's architecture crossings as the raw edges state them | design recipes | passed | 61.19 ms |
| names a crossing of two contexts and of two layers, and skips what cannot cross | design recipes | passed | 4.2 ms |
| resolves every keyed corpus entry to its value and the line the location table records | entry lines in entry search and address resolution | passed | 134.85 ms |
| gives each corpus entry-search row the line of a located entry and null otherwise | entry lines in entry search and address resolution | passed | 220.2 ms |
| never gives a nested entry the line of a literal top-level key its path spells | entry lines in entry search and address resolution | passed | 4.76 ms |
| counts a verifying Spec of another kind as a verifier, never as an example, in the Pack design | entry lines in entry search and address resolution | passed | 2.88 ms |
| gives a string-form open question the line its question[n] row records, as the object form | entry lines in entry search and address resolution | passed | 5.46 ms |
| counts equal layers and contexts between distinct components even without crossings | answers that fit | passed | 0.51 ms |
| returns guarantee entries and complete unit and verifier locations from context | answers that fit | passed | 6.21 ms |
| reports directions relative to an impacted Pack | answers that fit | passed | 0.89 ms |
| indexes exactly the present recipes with names, parameters and uses | answers that fit | passed | 3.39 ms |
| runs a shipped body wrapped inside a caller's filter | answers that fit | passed | 112.01 ms |
| keeps impact totals and puts both edge directions in the summary | answers that fit | passed | 2.35 ms |
| keeps the reader's Pack value in summary, full and selected-member answers | answers that fit | passed | 7.28 ms |
| reports both next rungs when the stated rung is below the floor | answers that fit | passed | 0.62 ms |
| reports no next rung at ready | answers that fit | passed | 35.24 ms |
| reports gap exemptions and every omitted warning beyond the first 25 | answers that fit | passed | 2.84 ms |
| lists only defined unimplemented designs and keeps exclusions and references | answers that fit | passed | 1.08 ms |
| registers fields and counts deferrals apart from design holds | authoring grammar recipes | passed | 4.32 ms |
| lists intended mentions apart and preserves the validator's warnings | authoring grammar recipes | passed | 8.87 ms |
| matches rule keys beside their text without searching the derived map | authoring grammar recipes | passed | 5.29 ms |
| locates unkeyed rule text and question field text | authoring grammar recipes | passed | 7.51 ms |
| resolves rule addresses and preserves every parsed part of a miss | authoring grammar recipes | passed | 3 ms |
| counts rule coverage from bound examples and reports unbound intent beside it | authoring grammar recipes | passed | 3.01 ms |
| reports missing rule-coverage scopes and accepts a scope with no rules | authoring grammar recipes | passed | 2.53 ms |
| runs the catalog body in the evaluator without a module loader | entry citations recipe | passed | 0.77 ms |
| orders a declaration's citing files and lines independently of input order | entry citations recipe | passed | 0.6 ms |
| joins declarations and other cited entries, including uncited declarations | entry citations recipe | passed | 0.74 ms |
| includes absent Specs and malformed tokens only in the corpus unresolved list | entry citations recipe | passed | 1.17 ms |
| returns diagnostics without findings for {"pack":"pack:missing"} | entry citations recipe | passed | 0.78 ms |
| returns diagnostics without findings for {"specs":["spec:missing"]} | entry citations recipe | passed | 0.44 ms |
| returns diagnostics without findings for {"specs":"spec:probe.cited"} | entry citations recipe | passed | 0.38 ms |
| returns diagnostics without findings for {"pack":"pack:probe.citations","specs":[]} | entry citations recipe | passed | 0.41 ms |
| returns diagnostics without findings for {"severity":"fatal"} | entry citations recipe | passed | 0.34 ms |
| returns diagnostics without findings for {"severity":null} | entry citations recipe | passed | 0.44 ms |
| reads an absent table as empty, and accepts an empty Spec scope | entry citations recipe | passed | 0.48 ms |
| adds recorded component fields, references, member roles and exact crossing-use counts | Studio architecture and example-space recipe additions | passed | 82.69 ms |
| runs shipped recipe 44 over every decoded space and refuses bad scopes | Studio architecture and example-space recipe additions | passed | 425.18 ms |
| runs recipe 45 as shipped and reports missing and malformed CTRF metadata | not recorded | passed | 462.11 ms |
| recipe 49 renders the panel memo from its catalog body and refuses a malformed document | not recorded | passed | 116.15 ms |
| reports text-preserving rule and flow key changes apart from rewording | not recorded | passed | 8.96 ms |
| preserves a removed keyed rule address beside new unkeyed text | not recorded | passed | 2.6 ms |
| preserves a removed keyed flow address beside new unkeyed text | not recorded | passed | 2.19 ms |
| distinguishes removed unkeyed rule base positions from head positions | not recorded | passed | 3.04 ms |
| distinguishes removed unkeyed flow base positions from head positions | not recorded | passed | 2.55 ms |
| retains every diamond edge and intermediate node while counting each descendant once | the capability map recipe | passed | 1.25 ms |
| returns summary/full parity with explicit omissions for scope {} | the capability map recipe | passed | 1.76 ms |
| returns summary/full parity with explicit omissions for scope {"epic":"spec:probe.epic"} | the capability map recipe | passed | 1.06 ms |
| normalizes prose and unflagged questions while preserving authored indices | the capability map recipe | passed | 0.38 ms |
| retains null titles in serialized node and epic rows when a title degrades | the capability map recipe | passed | 0.71 ms |
| reports a self-refining epic as a cycle without making it its own parent epic | the capability map recipe | passed | 2.75 ms |
| uses the outside unreached parent as root rather than its child cycle group | the capability map recipe | passed | 0.49 ms |
| selects an epic of kind behavior without changing its kind | the capability map recipe | passed | 0.45 ms |
| selects an epic of kind workflow without changing its kind | the capability map recipe | passed | 0.25 ms |
| selects an epic of kind example without changing its kind | the capability map recipe | passed | 0.19 ms |
| selects an epic of kind rule without changing its kind | the capability map recipe | passed | 0.18 ms |
| selects an epic of kind constraint without changing its kind | the capability map recipe | passed | 0.19 ms |
| selects an epic of kind model without changing its kind | the capability map recipe | passed | 0.23 ms |
| selects an epic of kind decision without changing its kind | the capability map recipe | passed | 0.23 ms |
| selects an epic of kind contract without changing its kind | the capability map recipe | passed | 0.22 ms |
| reads node evidence and ordered questions directly, including examples and decisions as parents | the capability map recipe | passed | 0.77 ms |
| represents a missing floor as none and keeps the epic's evidence outside its rollup | the capability map recipe | passed | 0.49 ms |
| counts stated rungs separately from reached floors without lending a bound example's facts to its epic | the capability map recipe | passed | 0.78 ms |
| keeps nested and overlapping memberships and outside parents when selecting one epic | the capability map recipe | passed | 1.12 ms |
| traverses only declared refinement and never infers ancestry from other graph structure | the capability map recipe | passed | 0.63 ms |
| reports cycles, self-links and unresolved or non-Spec endpoints separately from parameter failures | the capability map recipe | passed | 0.54 ms |
| limits damage to edges touching a selected epic scope and terminates reached cycles | the capability map recipe | passed | 0.34 ms |
| keeps overlapping unreached root scopes unique and exposes an empty corpus | the capability map recipe | passed | 0.34 ms |
| refuses invalid parameters without a map: { epic: null } | the capability map recipe | passed | 0.17 ms |
| refuses invalid parameters without a map: { epic: 1 } | the capability map recipe | passed | 0.11 ms |
| refuses invalid parameters without a map: { epic: [] } | the capability map recipe | passed | 0.07 ms |
| refuses invalid parameters without a map: { epic: 'spec:probe.absent' } | the capability map recipe | passed | 0.06 ms |
| refuses invalid parameters without a map: { epic: 'spec:probe.plain' } | the capability map recipe | passed | 0.05 ms |
| refuses invalid parameters without a map: { epic: 'impl:probe.non-spec' } | the capability map recipe | passed | 0.05 ms |
| refuses invalid parameters without a map: { detail: 'true' } | the capability map recipe | passed | 0.05 ms |
| refuses invalid parameters without a map: { detail: 1 } | the capability map recipe | passed | 0.05 ms |
| refuses invalid parameters without a map: { detail: null } | the capability map recipe | passed | 0.05 ms |
| refuses invalid parameters without a map: { epic: 1, detail: 'x' } | the capability map recipe | passed | 0.11 ms |
| checks unknown names before known values | the capability map recipe | passed | 0.11 ms |
| answers deterministically in code-unit id order even when graph arrays are reversed | the capability map recipe | passed | 1.22 ms |
| reaches every Spec from the intended epic owners while preserving kinds and overlapping refinement | the Protocol's capability epics | passed | 207.42 ms |
| keeps refinement and dependency from spec:extraction.build-pipeline to spec:extraction.derive-graph | the Protocol's capability epics | passed | 2.08 ms |
| keeps refinement and dependency from spec:validation.corpus-rules to spec:consumers.agent-surface | the Protocol's capability epics | passed | 2.24 ms |
| keeps refinement and dependency from spec:validation.architecture-constraints to spec:validation.corpus-rules | the Protocol's capability epics | passed | 2.19 ms |
| keeps refinement and dependency from spec:validation.external-registers to spec:validation.corpus-rules | the Protocol's capability epics | passed | 2.35 ms |
| keeps every ready statement at the ready floor and leaves the drift alarm empty | the Protocol's capability epics | passed | 73.37 ms |
| runs the catalog body over the arc Pack through the CLI and keeps its summary totals | the shipped design slice | passed | 359.23 ms |
| runs the roadmap and its memo from the catalog over a named Pack | not recorded | passed | 283.82 ms |
| pins the adopter roadmap and its forward memo over the worked example | not recorded | passed | 24.1 ms |
External run evidence from test/roadmap-examples.test.ts
Test anchors: test:protocol.roadmap.blocking-part, test:protocol.roadmap.buildable-part, test:protocol.roadmap.built-work, test:protocol.roadmap.design-part, test:protocol.roadmap.drifting-part, test:protocol.roadmap.missing-evidence, test:protocol.roadmap.outside-parent, test:protocol.roadmap.statement-order, test:protocol.roadmap.statement-part. Specs verified by those bindings: spec:consumers.roadmap, spec:consumers.roadmap.blocking-part, spec:consumers.roadmap.buildable-part, spec:consumers.roadmap.built-work, spec:consumers.roadmap.design-part, spec:consumers.roadmap.drifting-part, spec:consumers.roadmap.missing-evidence, spec:consumers.roadmap.outside-parent, spec:consumers.roadmap.statement-order, spec:consumers.roadmap.statement-part.
| Name | Suite | Result | Duration |
|---|---|---|---|
| rejects a statement-order point with a different bound state | not recorded | passed | 2.38 ms |
| checks the bound work against the observed scope | not recorded | passed | 35.82 ms |
| executes the bound example against a fresh world | Built work stays on the roadmap (spec:consumers.roadmap.built-work) | passed | 8.17 ms |
| executes the bound example against a fresh world | A ready unbound part needs building (spec:consumers.roadmap.buildable-part) | passed | 6.64 ms |
| executes the bound example against a fresh world | A complete part waits for a statement (spec:consumers.roadmap.statement-part) | passed | 6.31 ms |
| executes the bound example against a fresh world | An unfinished part needs design (spec:consumers.roadmap.design-part) | passed | 9.78 ms |
| executes the bound example against a fresh world | A binding below ready remains drift (spec:consumers.roadmap.drifting-part) | passed | 13.87 ms |
| executes the bound example against a fresh world | A descendant without evidence names its holding clause (spec:consumers.roadmap.missing-evidence) | passed | 4.62 ms |
| executes the bound example against a fresh world | A descendant question holds the entry for design (spec:consumers.roadmap.blocking-part) | passed | 4.81 ms |
| executes the bound example against a fresh world | A descendant names its outside parent (spec:consumers.roadmap.outside-parent) | passed | 8.57 ms |
| executes the bound example against a fresh world | Waiting statements keep dependency order against roadmap places (spec:consumers.roadmap.statement-order) | passed | 4.83 ms |
External run evidence from test/roadmap-priority.test.ts
Test anchors: test:protocol.roadmap-priority. Specs verified by those bindings: spec:carrier.markdown-pack-authoring, spec:consumers.design-diff, spec:consumers.spec-studio.diff-page, spec:consumers.spec-studio.pack-page, spec:extraction.pack-member-order, spec:model.pack-aggregate.
| Name | Suite | Result | Duration |
|---|---|---|---|
| derives equal Markdown and TypeScript Pack nodes and edges, serializes order last, and exposes it through the reader | roadmap priority manifest | passed | 45.69 ms |
| refuses the invalid Markdown value reading | roadmap priority manifest | passed | 1.85 ms |
| refuses the invalid Markdown value arbitrary | roadmap priority manifest | passed | 1.57 ms |
| refuses the invalid Markdown value true | roadmap priority manifest | passed | 1.49 ms |
| refuses the invalid Markdown value null | roadmap priority manifest | passed | 1.94 ms |
| refuses the invalid Markdown value [] | roadmap priority manifest | passed | 1.71 ms |
| refuses the invalid Markdown value {} | roadmap priority manifest | passed | 1.43 ms |
| refuses the invalid TypeScript value "reading" | roadmap priority manifest | passed | 7.24 ms |
| refuses the invalid TypeScript value "arbitrary" | roadmap priority manifest | passed | 2.88 ms |
| refuses the invalid TypeScript value true | roadmap priority manifest | passed | 3.36 ms |
| refuses the invalid TypeScript value null | roadmap priority manifest | passed | 3.31 ms |
| refuses the invalid TypeScript value [] | roadmap priority manifest | passed | 9.61 ms |
| refuses the invalid TypeScript value {} | roadmap priority manifest | passed | 3.83 ms |
| refuses the invalid TypeScript value undefined | roadmap priority manifest | passed | 2.87 ms |
| refuses the invalid TypeScript value chosenOrder | roadmap priority manifest | passed | 4.04 ms |
| names a removed Pack by its order meaning (priority true) | roadmap priority design diff | passed | 19.39 ms |
| names a removed Pack by its order meaning (priority false) | roadmap priority design diff | passed | 17.38 ms |
| names an added roadmap and preserves manifest order in its member delta | roadmap priority design diff | passed | 26.27 ms |
| labels Pack membership by its order meaning (priority true) | roadmap priority design diff | passed | 15.16 ms |
| labels Pack membership by its order meaning (priority false) | roadmap priority design diff | passed | 6.39 ms |
| states order values when a change is not a known roadmap transition | roadmap priority design diff | passed | 11.93 ms |
| documents the order comparison fields, default and diagnostic in the recipe contract | roadmap priority design diff | passed | 1.3 ms |
| compares a priority transition to true without a membership edit | roadmap priority design diff | passed | 10.9 ms |
| compares a priority transition to false without a membership edit | roadmap priority design diff | passed | 6.76 ms |
| reads an absent order as reading order in a base schema that predates the field | roadmap priority design diff | passed | 14.49 ms |
| marks the absent side of an added or removed roadmap as null (true) | roadmap priority design diff | passed | 10.48 ms |
| marks the absent side of an added or removed roadmap as null (false) | roadmap priority design diff | passed | 4.24 ms |
| diagnoses an unknown order at the base without reporting an order change | roadmap priority design diff | passed | 3.41 ms |
| diagnoses an unknown order at the head without reporting an order change | roadmap priority design diff | passed | 4.06 ms |
| still compares membership and member order when the base order is unknown | roadmap priority design diff | passed | 5.37 ms |
| still compares membership and member order when the head order is unknown | roadmap priority design diff | passed | 9.28 ms |
| keeps an order-only change in the selected Pack's comparison scope | roadmap priority design diff | passed | 3.1 ms |
| shows no roadmap transition for a membership-only change (priority true) | roadmap priority design diff | passed | 8.38 ms |
| shows no roadmap transition for a membership-only change (priority false) | roadmap priority design diff | passed | 7.43 ms |
| shows the roadmap transition to true on the diff and Pack pages | roadmap priority design diff | passed | 8.78 ms |
| shows the roadmap transition to false on the diff and Pack pages | roadmap priority design diff | passed | 17.15 ms |
External run evidence from test/roadmap.test.ts
Test anchors: test:protocol.roadmap-memo-recipe, test:protocol.roadmap-recipe. Specs verified by those bindings: spec:consumers.roadmap, spec:consumers.roadmap.memo.
| Name | Suite | Result | Duration |
|---|---|---|---|
| keeps manifest places and reports an unresolved middle member | the roadmap recipes | passed | 38.1 ms |
| escapes HTML outside code spans in memo titles and framing | the roadmap recipes | passed | 5.44 ms |
| reads the work's need: 'is ready and implemented throughout' | the roadmap recipes | passed | 20.1 ms |
| reads the work's need: 'has one part ready and not implemented' | the roadmap recipes | passed | 9.72 ms |
| reads the work's need: 'has one part below ready whose floor …' | the roadmap recipes | passed | 7.15 ms |
| reads the work's need: 'has one part below ready whose floor …' | the roadmap recipes | passed | 14.65 ms |
| reads the work's need: 'has one part implemented below ready' | the roadmap recipes | passed | 13 ms |
| reads the work's need: 'has a ready root and one descendant w…' | the roadmap recipes | passed | 6.1 ms |
| reads the work's need: 'has a ready root and one descendant h…' | the roadmap recipes | passed | 9.38 ms |
| reads the work's need: 'has one descendant that also refines …' | the roadmap recipes | passed | 8.17 ms |
| selects priority Packs in id order and reads an explicitly named ordinary Pack | the roadmap recipes | passed | 17.93 ms |
| names holding parts and a descendant's outside parent | the roadmap recipes | passed | 24.05 ms |
| renders each unbuilt dependency once when two relations reach it | the roadmap recipes | passed | 9.95 ms |
| lists sorted incoming relations, Pack memberships and dependency places | the roadmap recipes | passed | 13.87 ms |
| includes keyed and unkeyed blocking questions on shaping decisions | the roadmap recipes | passed | 9.19 ms |
| finds earlier statements through a shaping decision's own waiting statement | the roadmap recipes | passed | 4.22 ms |
| ends the intent line with a full stop: A purpose? | the roadmap recipes | passed | 3.05 ms |
| ends the intent line with a full stop: A purpose! | the roadmap recipes | passed | 2.43 ms |
| ends the intent line with a full stop: A purpose | the roadmap recipes | passed | 2.45 ms |
| ends the intent line with a full stop: A purpose. | the roadmap recipes | passed | 2.65 ms |
| keeps queue order across places, including earlier statements inside, elsewhere and outside | the roadmap recipes | passed | 7.51 ms |
| deduplicates shared descendants, preserves places, and lists decision entries apart | the roadmap recipes | passed | 6.16 ms |
| lists every unassigned question apart, including unkeyed and shared shaping decisions | the roadmap recipes | passed | 7.14 ms |
| pins memo bytes, intent fallback, line breaks and table escaping | the roadmap recipes | passed | 8.9 ms |
| pins every populated memo section byte for byte | the roadmap recipes | passed | 23.61 ms |
| pins empty design and build sections byte for byte | the roadmap recipes | passed | 5.75 ms |
| reads purpose from intent and counts distinct waiting Specs and buildable parts | the roadmap recipes | passed | 22.83 ms |
External run evidence from test/self-hosting-bundle-parts.test.ts
Test anchors: test:protocol.context-bundle.oversized-member-named, test:protocol.context-bundle.parts-cover-the-pack. Specs verified by those bindings: spec:consumers.context-bundle, spec:consumers.context-bundle.oversized-member-named, spec:consumers.context-bundle.parts-cover-the-pack.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | A Pack too large for one bundle reads whole in parts (spec:consumers.context-bundle.parts-cover-the-pack) | passed | 41.74 ms |
| executes the bound example against a fresh world | A member larger than the budget is named, and no part is returned (spec:consumers.context-bundle.oversized-member-named) | passed | 10.19 ms |
| diagnoses invalid part 0 | bundle part budgets | passed | 6.27 ms |
| diagnoses invalid part -1 | bundle part budgets | passed | 4 ms |
| diagnoses invalid part 1.5 | bundle part budgets | passed | 6.09 ms |
| diagnoses invalid part null | bundle part budgets | passed | 3.19 ms |
| diagnoses invalid part "1" | bundle part budgets | passed | 3.03 ms |
| diagnoses invalid part true | bundle part budgets | passed | 2.96 ms |
| diagnoses a part beyond the final count | bundle part budgets | passed | 6.06 ms |
| accepts an exact whole-part budget and cuts only when that item cannot fit | bundle part budgets | passed | 14.42 ms |
| measures two-digit part counts and takes the longest whole run at every boundary | bundle part budgets | passed | 71.11 ms |
| repartitions at the first common cut stage instead of mixing cut and whole members | bundle part budgets | passed | 6.81 ms |
| preserves pinned declarations until addresses are allowed, and never returns a partial part | bundle part budgets | passed | 14.85 ms |
| gives an empty scope one complete part when it fits | bundle part budgets | passed | 2.48 ms |
| names only the part header when the repeated Pack framing alone exceeds the budget | bundle part budgets | passed | 14.51 ms |
| names an oversized boundary when its outside neighbour ids exceed the budget after every cut | bundle part budgets | passed | 48.62 ms |
External run evidence from test/self-hosting-carrier-gherkin.test.ts
Test anchors: test:protocol.gherkin-authoring.authored-fact-refused, test:protocol.gherkin-authoring.contract-parity, test:protocol.gherkin-authoring.description-location-refused, test:protocol.gherkin-authoring.duplicate-surface-refused, test:protocol.gherkin-authoring.example-space-extraction, test:protocol.gherkin-authoring.malformed-relation-refused, test:protocol.gherkin-authoring.missing-id-refused, test:protocol.gherkin-authoring.multi-finding-bounded, test:protocol.gherkin-authoring.parent-child-extraction, test:protocol.gherkin-authoring.step-less-scenario-refused, test:protocol.gherkin-authoring.unbound-ready-refused, test:protocol.gherkin-authoring.unknown-tag-refused, test:protocol.gherkin-authoring.unsupported-construct-refused. Specs verified by those bindings: spec:carrier.gherkin-authoring, spec:carrier.gherkin-authoring.authored-fact-refused, spec:carrier.gherkin-authoring.contract-parity, spec:carrier.gherkin-authoring.description-location-refused, spec:carrier.gherkin-authoring.duplicate-surface-refused, spec:carrier.gherkin-authoring.example-space-extraction, spec:carrier.gherkin-authoring.malformed-relation-refused, spec:carrier.gherkin-authoring.missing-id-refused, spec:carrier.gherkin-authoring.multi-finding-bounded, spec:carrier.gherkin-authoring.parent-child-extraction, spec:carrier.gherkin-authoring.step-less-scenario-refused, spec:carrier.gherkin-authoring.unbound-ready-refused, spec:carrier.gherkin-authoring.unknown-tag-refused, spec:carrier.gherkin-authoring.unsupported-construct-refused, spec:validation.kind-evidence.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | An authored delivery fact lookalike is refused (spec:carrier.gherkin-authoring.authored-fact-refused) | passed | 9.67 ms |
| executes the bound example against a fresh world | Markdown and Gherkin twins derive equal graphs and contracts (spec:carrier.gherkin-authoring.contract-parity) | passed | 34.78 ms |
| executes the bound example against a fresh world | Duplicate Markdown and Gherkin surfaces are both excluded (spec:carrier.gherkin-authoring.duplicate-surface-refused) | passed | 4.09 ms |
| executes the bound example against a fresh world | The pseudo-scenario supplies example space without a node (spec:carrier.gherkin-authoring.example-space-extraction) | passed | 2.35 ms |
| executes the bound example against a fresh world | A malformed relation target is refused (spec:carrier.gherkin-authoring.malformed-relation-refused) | passed | 1.84 ms |
| executes the bound example against a fresh world | A Feature without identity is refused (spec:carrier.gherkin-authoring.missing-id-refused) | passed | 1.67 ms |
| executes the bound example against a fresh world | A Feature and Scenario enter the graph as parent and child (spec:carrier.gherkin-authoring.parent-child-extraction) | passed | 5.39 ms |
| executes the bound example against a fresh world | A Gherkin example with an unbound used slot fails its stated readiness floor (spec:carrier.gherkin-authoring.unbound-ready-refused) | passed | 6.57 ms |
| executes the bound example against a fresh world | A graph-aware tag near miss is refused (spec:carrier.gherkin-authoring.unknown-tag-refused) | passed | 2.39 ms |
| executes the bound example against a fresh world | A Scenario Outline is refused (spec:carrier.gherkin-authoring.unsupported-construct-refused) | passed | 2.26 ms |
| executes the bound example against a fresh world | A bad description key reports its physical source line (spec:carrier.gherkin-authoring.description-location-refused) | passed | 1.57 ms |
| executes the bound example against a fresh world | A step-less Scenario is refused at its Scenario line (spec:carrier.gherkin-authoring.step-less-scenario-refused) | passed | 1.37 ms |
| executes the bound example against a fresh world | Multiple findings exclude one carrier and keep a healthy sibling (spec:carrier.gherkin-authoring.multi-finding-bounded) | passed | 6.35 ms |
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.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | One finding class is shared while the carriers' outcomes stay their own (spec:carrier.markdown-parser.bounded-parity) | passed | 27.95 ms |
| executes the bound example against a fresh world | A typed declaration normalizes to the skeleton its binding shares (spec:carrier.slot-notation.typed-declaration) | passed | 0.52 ms |
| executes the bound example against a fresh world | A stray brace stays prose while an unusable group stays a named slot (spec:carrier.slot-notation.refused-guess) | passed | 0.38 ms |
| executes the bound example against a fresh world | A one-literal group in a vocabulary is a binding that declares nothing (spec:carrier.slot-notation.one-literal-binding) | passed | 2.37 ms |
| executes the bound example against a fresh world | A TypeScript question list that cannot be read drops whole with a warning (spec:model.open-question-fields.dropped-list-warns) | passed | 8.41 ms |
| drops the whole question list for a non-static question text | not recorded | passed | 4.35 ms |
| drops the whole question list for a non-static blocking flag | not recorded | passed | 3.64 ms |
| drops the whole question list for a spread in the list | not recorded | passed | 6.65 ms |
External run evidence from test/self-hosting-command-line.test.ts
Test anchors: test:protocol.command-line.generate-check-failure, test:protocol.command-line.generate-writes-every-root, test:protocol.command-line.verb-help-touches-nothing. Specs verified by those bindings: spec:consumers.command-line, spec:consumers.command-line.generate-check-failure, spec:consumers.command-line.generate-writes-every-root, spec:consumers.command-line.verb-help-touches-nothing.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | One run of sdp generate leaves all five roots current (spec:consumers.command-line.generate-writes-every-root) | passed | 122.72 ms |
| executes the bound example against a fresh world | A root that fails its check is removed while sdp generate writes the others (spec:consumers.command-line.generate-check-failure) | passed | 81.13 ms |
| executes the bound example against a fresh world | A publisher's --help prints its help and touches no root (spec:consumers.command-line.verb-help-touches-nothing) | passed | 2.44 ms |
External run evidence from test/self-hosting-consumers.test.ts
Test anchors: test:protocol.agent-surface.demand-map-entries, test:protocol.agent-surface.scripted-context-body, test:protocol.reader.changeset-entry, test:protocol.reader.concept-entry, test:protocol.reader.file-entry. Specs verified by those bindings: spec:consumers.agent-surface, spec:consumers.agent-surface.demand-map-entries, spec:consumers.agent-surface.scripted-context-body, spec:consumers.reader, spec:consumers.reader.changeset-entry, spec:consumers.reader.concept-entry, spec:consumers.reader.file-entry.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | A scripted body returns claim-decoded context, pre-shaped by the body (spec:consumers.agent-surface.scripted-context-body) | passed | 55.11 ms |
| executes the bound example against a fresh world | One body reaches every entry point the demand map names, and no symbol entry (spec:consumers.agent-surface.demand-map-entries) | passed | 17.19 ms |
| executes the bound example against a fresh world | A concept recorded only inside a Spec's sections is still reached, and the field is named (spec:consumers.reader.concept-entry) | passed | 29.24 ms |
| executes the bound example against a fresh world | A source file reaches the Spec its binding names, and a carrier reaches its own Spec (spec:consumers.reader.file-entry) | passed | 23.41 ms |
| executes the bound example against a fresh world | A changeset names what it reaches, why, and what it cannot see (spec:consumers.reader.changeset-entry) | passed | 17.23 ms |
External run evidence from test/self-hosting-corpus-checks.test.ts
Test anchors: test:protocol.model.planned-architecture.differing-layer-and-uses, test:protocol.model.planned-architecture.matching-design, test:protocol.model.planned-architecture.unrealized-design, test:protocol.validation.architecture-constraints.forbidden-layer-pair, test:protocol.validation.architecture-constraints.isolated-context-as-rule, test:protocol.validation.architecture-constraints.unstated-layer-unclassified, test:protocol.validation.corpus-rules.copies-contain-changes, test:protocol.validation.corpus-rules.error-finding-fails, test:protocol.validation.corpus-rules.malformed-finding-fails, test:protocol.validation.corpus-rules.warning-finding-informs. Specs verified by those bindings: spec:model.planned-architecture, spec:model.planned-architecture.differing-layer-and-uses, spec:model.planned-architecture.matching-design, spec:model.planned-architecture.unrealized-design, spec:validation.architecture-constraints, spec:validation.architecture-constraints.forbidden-layer-pair, spec:validation.architecture-constraints.isolated-context-as-rule, spec:validation.architecture-constraints.unstated-layer-unclassified, spec:validation.corpus-rules, spec:validation.corpus-rules.copies-contain-changes, spec:validation.corpus-rules.error-finding-fails, spec:validation.corpus-rules.malformed-finding-fails, spec:validation.corpus-rules.warning-finding-informs.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | A rules file that empties its graph leaves the next file's graph whole (spec:validation.corpus-rules.copies-contain-changes) | passed | 21.88 ms |
| executes the bound example against a fresh world | An error from a corpus rule fails validation and leaves the Protocol's line alone (spec:validation.corpus-rules.error-finding-fails) | passed | 4.69 ms |
| executes the bound example against a fresh world | A finding with no subject fails its rules file (spec:validation.corpus-rules.malformed-finding-fails) | passed | 4.13 ms |
| executes the bound example against a fresh world | A warning from a corpus rule informs and passes (spec:validation.corpus-rules.warning-finding-informs) | passed | 3.83 ms |
| executes the bound example against a fresh world | A domain member that uses an infrastructure member breaks a forbidden pair (spec:validation.architecture-constraints.forbidden-layer-pair) | passed | 15.92 ms |
| executes the bound example against a fresh world | The walk named as a rules file fails validation on an isolation breach (spec:validation.architecture-constraints.isolated-context-as-rule) | passed | 4.55 ms |
| executes the bound example against a fresh world | A component with no layer leaves its edge unclassified (spec:validation.architecture-constraints.unstated-layer-unclassified) | passed | 2.97 ms |
| executes the bound example against a fresh world | A realized component that differs from its design gives one row per field (spec:model.planned-architecture.differing-layer-and-uses) | passed | 6.29 ms |
| executes the bound example against a fresh world | A realized component that matches its design gives no row (spec:model.planned-architecture.matching-design) | passed | 17.77 ms |
| executes the bound example against a fresh world | A component design no anchor satisfies is listed as unrealized (spec:model.planned-architecture.unrealized-design) | passed | 6.93 ms |
External run evidence from test/self-hosting-design-slice.test.ts
Test anchors: test:protocol.design-slice, test:protocol.design-slice.chain, test:protocol.design-slice.component-absent, test:protocol.design-slice.component-differing, test:protocol.design-slice.component-matching, test:protocol.design-slice.component-unreadable, test:protocol.design-slice.component-unrelated, test:protocol.design-slice.decision-backlink, test:protocol.design-slice.dependency-cycle, test:protocol.design-slice.folded-example, test:protocol.design-slice.independent-example, test:protocol.design-slice.outside-components, test:protocol.design-slice.outside-holding, test:protocol.design-slice.outside-satisfied, test:protocol.design-slice.outside-unbound. Specs verified by those bindings: spec:consumers.design-slice, spec:consumers.design-slice.chain, spec:consumers.design-slice.component-absent, spec:consumers.design-slice.component-differing, spec:consumers.design-slice.component-matching, spec:consumers.design-slice.component-unreadable, spec:consumers.design-slice.component-unrelated, spec:consumers.design-slice.decision-backlink, spec:consumers.design-slice.dependency-cycle, spec:consumers.design-slice.folded-example, spec:consumers.design-slice.independent-example, spec:consumers.design-slice.outside-components, spec:consumers.design-slice.outside-holding, spec:consumers.design-slice.outside-satisfied, spec:consumers.design-slice.outside-unbound.
| Name | Suite | Result | Duration |
|---|---|---|---|
| keeps authored order while assigning depth and composing whole-Pack boundary | design slice | passed | 44.88 ms |
| keeps summary totals, selected full members and explicit omissions | design slice | passed | 37.9 ms |
| reads an ordered Spec list and a narrowed Pack, marking excluded Pack members | design slice | passed | 8.52 ms |
| only suppresses a refinement the target answers with dependsOn | design slice | passed | 3.91 ms |
| only suppresses a refinement the target answers with constrainedBy | design slice | passed | 3.6 ms |
| only suppresses a refinement the target answers with decidedBy | design slice | passed | 3.77 ms |
| lists cycles at the depth after their deepest outside prerequisite | design slice | passed | 5.52 ms |
| does not fold an example with another refines in either direction or across the boundary | design slice | passed | 9.85 ms |
| does not fold an example with another dependsOn in either direction or across the boundary | design slice | passed | 8.16 ms |
| does not fold an example with another constrainedBy in either direction or across the boundary | design slice | passed | 11.15 ms |
| does not fold an example with another decidedBy in either direction or across the boundary | design slice | passed | 17.53 ms |
| accumulates diagnostics in contract order and skips dependent checks | design slice | passed | 47.44 ms |
| pins the component Design grammar and totals to recipe 43 | design slice | passed | 59.6 ms |
| executes the bound example against a fresh world | Outside components stop at the touched components' neighbors (spec:consumers.design-slice.outside-components) | passed | 9.76 ms |
| executes the bound example against a fresh world | Members rest on a chain (spec:consumers.design-slice.chain) | passed | 11.33 ms |
| executes the bound example against a fresh world | A shaping decision comes before its member (spec:consumers.design-slice.decision-backlink) | passed | 5.84 ms |
| executes the bound example against a fresh world | A cycle shares a depth (spec:consumers.design-slice.dependency-cycle) | passed | 3.66 ms |
| executes the bound example against a fresh world | An example folds without lending its readiness (spec:consumers.design-slice.folded-example) | passed | 7.62 ms |
| executes the bound example against a fresh world | An example with its own dependency stays unfolded (spec:consumers.design-slice.independent-example) | passed | 4.43 ms |
| executes the bound example against a fresh world | An unanchored component design stays visible (spec:consumers.design-slice.component-absent) | passed | 5.36 ms |
| executes the bound example against a fresh world | An anchor alone does not realize a component design (spec:consumers.design-slice.component-unrelated) | passed | 6.17 ms |
| executes the bound example against a fresh world | A realized component matches its declared values (spec:consumers.design-slice.component-matching) | passed | 10.64 ms |
| executes the bound example against a fresh world | A realized component keeps its differing layer and uses apart (spec:consumers.design-slice.component-differing) | passed | 7.66 ms |
| executes the bound example against a fresh world | An unreadable declared layer stays visible (spec:consumers.design-slice.component-unreadable) | passed | 9.45 ms |
| executes the bound example against a fresh world | A prerequisite reaches its satisfying component (spec:consumers.design-slice.outside-satisfied) | passed | 4.75 ms |
| executes the bound example against a fresh world | An unbound prerequisite invents no component (spec:consumers.design-slice.outside-unbound) | passed | 3.99 ms |
| executes the bound example against a fresh world | An outside prerequisite names the member it holds (spec:consumers.design-slice.outside-holding) | passed | 4.46 ms |
| keeps unresolved targets and boundary relation reasons in the recipe answer | design slice composition | passed | 4.1 ms |
| keeps bindings to unresolved components unplaced rather than touching an invented component | design slice composition | passed | 3.43 ms |
| pins every full and summary row shape to the carrying Design entries | design slice composition | passed | 47.9 ms |
| reports outside holds, waiting statements, decision replacements and own-Spec question holds | design slice composition | passed | 16.07 ms |
| the executable order observation rejects rest on each other in a chain with setDepth[index] = 1; | design slice composition | passed | 7.51 ms |
| the executable order observation rejects include a decision that refines the member it shapes with setDepth[index] = 1; | design slice composition | passed | 10.16 ms |
| the executable order observation rejects include a decision that refines the member it shapes with edge.orders = true; | design slice composition | passed | 13.64 ms |
| the executable assertions reject missing rest on each other in a chain evidence for scope | design slice composition | passed | 7.78 ms |
| the executable assertions reject missing rest on each other in a chain evidence for memberColumns | design slice composition | passed | 4.12 ms |
| the executable assertions reject missing include a decision that refines the member it shapes evidence for decisionsInScope | design slice composition | passed | 5.14 ms |
| the executable assertions reject missing include an example that refines a member and depends on an outside Spec evidence for boundary | design slice composition | passed | 10.03 ms |
| the executable assertions reject missing include two members that depend on each other evidence for depth | design slice composition | passed | 9.38 ms |
| counts only example-kind declared verifiers as examples, keeping all verifiers | design slice composition | passed | 15.99 ms |
| names the hold detail and decision shape lists the summary omits | design slice composition | passed | 3.72 ms |
| summarizes component and design rows without losing totals | design slice composition | passed | 17.3 ms |
| keeps all binding paths, unplaced units, pair counts and planned uses apart | design slice composition | passed | 5.14 ms |
| reads outside decisions and orders their questions before non-blocking member questions | design slice composition | passed | 5.7 ms |
| reads declared values with the realization comparison grammar: {"layer":"`domain` explanation","context":"``probe`` explanation","role":"service","uses":"`none` explanation"} | design slice composition | passed | 6.97 ms |
| reads declared values with the realization comparison grammar: {"layer":"Domain","context":"Bad","role":"bad_role","uses":"component:probe.bad, invalid"} | design slice composition | passed | 5.75 ms |
| reads declared values with the realization comparison grammar: {"uses":"component:probe.z, component:probe.a, component:probe.z"} | design slice composition | passed | 5.33 ms |
| reads declared values with the realization comparison grammar: {} | design slice composition | passed | 4.58 ms |
External run evidence from test/self-hosting-duplicate-ids.test.ts
Test anchors: test:protocol.duplicate-ids.dual-carrier. Specs verified by those bindings: spec:validation.duplicate-ids, spec:validation.duplicate-ids.dual-carrier.
| Name | Suite | Result | Duration |
|---|---|---|---|
| names self-hosting generation before collecting its filtered tracer | generated contract preflight | passed | 45.3 ms |
| names checkout generation before collecting its filtered example | generated contract preflight | passed | 40.68 ms |
| names both generations when an unfiltered suite lacks both contract trees | generated contract preflight | passed | 41.68 ms |
| matches a Vitest substring filter before collecting the self-hosting tracer | generated contract preflight | passed | 35.49 ms |
| matches a ./-prefixed filter before collecting the self-hosting tracer | generated contract preflight | passed | 52.14 ms |
| matches an absolute-path filter before collecting the self-hosting tracer | generated contract preflight | passed | 71.13 ms |
| does not require contracts for an unrelated Vitest filter | generated contract preflight | passed | 109.7 ms |
| proceeds for the unfiltered invocation once both contract trees are generated | generated contract preflight | passed | 113.95 ms |
| fails a pooled run that mutates repository-root generated state | pooled root generated-state sentinel | passed | 88.95 ms |
| passes a pooled run that leaves repository-root generated state untouched | pooled root generated-state sentinel | passed | 68.74 ms |
| derives the duplicate-ID verifier facts from the bound executable example | not recorded | passed | 4854.19 ms |
| executes the bound example against a fresh world | TypeScript and Markdown duplicates are both refused (spec:validation.duplicate-ids.dual-carrier) | passed | 11.49 ms |
External run evidence from test/self-hosting-external-registers.test.ts
Test anchors: test:protocol.external-registers.uncited-on-request, test:protocol.external-registers.unknown-and-retired. Specs verified by those bindings: spec:validation.external-registers, spec:validation.external-registers.uncited-on-request, spec:validation.external-registers.unknown-and-retired.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | A cited token the register lacks or retires fails a rules run (spec:validation.external-registers.unknown-and-retired) | passed | 24.3 ms |
| executes the bound example against a fresh world | A held token no Spec cites fails a rules run only when the caller asks (spec:validation.external-registers.uncited-on-request) | passed | 5.86 ms |
External run evidence from test/self-hosting-extraction.test.ts
Test anchors: test:protocol.build-pipeline.same-invocation, test:protocol.example-runner.red-step-naming, test:protocol.example-runner.step-order, test:protocol.excludes.refused-path, test:protocol.excludes.segment-boundary, test:protocol.executable-contracts.case-colliding-path, test:protocol.executable-contracts.concreteness-refusal, test:protocol.executable-contracts.multi-entry-example, test:protocol.schema-versioning.declared-version. Specs verified by those bindings: spec:extraction.build-pipeline, spec:extraction.build-pipeline.same-invocation, spec:extraction.example-runner, spec:extraction.example-runner.red-step-naming, spec:extraction.example-runner.step-order, spec:extraction.excludes, spec:extraction.excludes.refused-path, spec:extraction.excludes.segment-boundary, spec:extraction.executable-contracts, spec:extraction.executable-contracts.case-colliding-path, spec:extraction.executable-contracts.concreteness-refusal, spec:extraction.executable-contracts.multi-entry-example, spec:extraction.schema-versioning, spec:extraction.schema-versioning.declared-version.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | One query invocation shares its extracted graph and validation result (spec:extraction.build-pipeline.same-invocation) | passed | 16.91 ms |
| executes the bound example against a fresh world | A prefix excludes its own tree and leaves a similar sibling standing (spec:extraction.excludes.segment-boundary) | passed | 1.58 ms |
| executes the bound example against a fresh world | A Windows-drive absolute path is refused rather than normalized (spec:extraction.excludes.refused-path) | passed | 1.08 ms |
| executes the bound example against a fresh world | A derived payload carries a schema version its consumer can read (spec:extraction.schema-versioning.declared-version) | passed | 0.5 ms |
| executes the bound example against a fresh world | An unbound slot in a used step earns no step contract (spec:extraction.executable-contracts.concreteness-refusal) | passed | 2.41 ms |
| executes the bound example against a fresh world | A second structured entry is named, never left silently inert (spec:extraction.executable-contracts.multi-entry-example) | passed | 2.37 ms |
| executes the bound example against a fresh world | A case-only path collision withholds the whole contracts tree (spec:extraction.executable-contracts.case-colliding-path) | passed | 0.95 ms |
| executes the bound example against a fresh world | A repeated step runs its one handler at each occurrence, in contract order (spec:extraction.example-runner.step-order) | passed | 0.4 ms |
| executes the bound example against a fresh world | A red step names itself before the assertion detail (spec:extraction.example-runner.red-step-naming) | passed | 0.45 ms |
External run evidence from test/self-hosting-graph.test.ts
Test anchors: test:protocol.self-hosting, test:protocol.structural-self-binding. Specs verified by those bindings: spec:model.structural-patterns, spec:protocol.self-hosting, spec:protocol.significant-units-review, spec:protocol.structural-self-binding.
| Name | Suite | Result | Duration |
|---|---|---|---|
| traces changes to 'test/self-hosting-oracle/structural-e…' through its realizing anchor | the self-hosting corpus | passed | 82.88 ms |
| traces changes to 'test/helpers/validator-probes.ts' through its realizing anchor | the self-hosting corpus | passed | 48.41 ms |
| reifies the root corpus without an extraction finding | the self-hosting corpus | passed | 0.27 ms |
| reports exactly the retained verifier gaps and no unbacked prose mention | the self-hosting corpus | passed | 42.46 ms |
| holds the frozen corpus totals | the self-hosting corpus | passed | 2.28 ms |
| permits a named second diagram view in the authored element-id contract | the self-hosting corpus | passed | 86.41 ms |
| states the owner queue's reader lookup by Spec and question key | the self-hosting corpus | passed | 35.31 ms |
| names vault and stamp beside every other help verb in the authored contract | the self-hosting corpus | passed | 38.73 ms |
| rosters exactly the authored Spec, Pack, and anchor node ids | the self-hosting corpus | passed | 1.9 ms |
| carries the authored descriptors of the carrier family | the self-hosting corpus | passed | 3 ms |
| carries the authored descriptors of the protocol family | the self-hosting corpus | passed | 0.6 ms |
| carries the authored descriptors of the extraction family | the self-hosting corpus | passed | 1.39 ms |
| carries the authored descriptors of the validation family | the self-hosting corpus | passed | 3.28 ms |
| carries the authored descriptors of the model family | the self-hosting corpus | passed | 1.68 ms |
| carries the authored descriptors of the observation family | the self-hosting corpus | passed | 0.45 ms |
| carries the authored descriptors of the consumers family | the self-hosting corpus | passed | 7.69 ms |
| carries the authored descriptors of the decisions family | the self-hosting corpus | passed | 3.55 ms |
| leaves no authored Spec outside the families | the self-hosting corpus | passed | 0.99 ms |
| derives exactly the authored declared relations | the self-hosting corpus | passed | 9.73 ms |
| holds the frozen stated-readiness distribution | the self-hosting corpus | passed | 0.66 ms |
| derives the Pack membership edges from the manifest, in manifest order | the self-hosting corpus | passed | 2.59 ms |
| carries the Pack aggregate nodes exactly as authored | the self-hosting corpus | passed | 0.47 ms |
| derives the independent zero-to-many binding edge roster | the self-hosting corpus | passed | 7.9 ms |
| rosters exactly the accepted component set | the self-hosting corpus | passed | 0.39 ms |
| gives every owned impl/api CodeNode exactly one component | the self-hosting corpus | passed | 20.85 ms |
| derives exactly the sparse authored component uses edges | the self-hosting corpus | passed | 0.46 ms |
| covers every accepted architecturally significant unit | the self-hosting corpus | passed | 858.17 ms |
| gives every accepted unit a readable responsibility label | the self-hosting corpus | passed | 4.54 ms |
| detects a missing accepted member independently of the source | the self-hosting corpus | passed | 8.37 ms |
| detects extra unrostered membership independently of the source | the self-hosting corpus | passed | 62 ms |
| finds every converted comment anchor at its block's first line | the self-hosting corpus | passed | 15.34 ms |
| projects every anchor and code node at the line its declaration occupies | the self-hosting corpus | passed | 91.42 ms |
| rejects comment-only and string activation sites and accepts executable calls | the self-hosting corpus | passed | 1.32 ms |
| keeps every anchor beside the site it binds | the self-hosting corpus | passed | 1187.88 ms |
| derives the duplicate-ids delivery facts from the bindings, never from authoring | the self-hosting corpus | passed | 1.09 ms |
| derives sdp-import realization from its direct code and child verifier bindings | the self-hosting corpus | passed | 0.26 ms |
External run evidence from test/self-hosting-inline-code.test.ts
Test anchors: test:protocol.inline-code-spans.description, test:protocol.inline-code-spans.list, test:protocol.inline-code-spans.narrative, test:protocol.inline-code-spans.pack. Specs verified by those bindings: spec:carrier.inline-code-spans, spec:carrier.inline-code-spans.description, spec:carrier.inline-code-spans.list, spec:carrier.inline-code-spans.narrative, spec:carrier.inline-code-spans.pack.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | Code spans in a Spec narrative are literal (spec:carrier.inline-code-spans.narrative) | passed | 53.78 ms |
| executes the bound example against a fresh world | Code spans in section descriptions are literal (spec:carrier.inline-code-spans.description) | passed | 21.98 ms |
| executes the bound example against a fresh world | Code spans in list entries are literal (spec:carrier.inline-code-spans.list) | passed | 32.76 ms |
| executes the bound example against a fresh world | Code spans in Pack framing are literal (spec:carrier.inline-code-spans.pack) | passed | 9.14 ms |
External run evidence from test/self-hosting-markdown-grammar.test.ts
Test anchors: test:protocol.markdown-body-grammar.continuation-line-refused, test:protocol.markdown-body-grammar.foreign-fence-refused, test:protocol.markdown-body-grammar.h3-refused, test:protocol.markdown-body-grammar.integer-term-refused, test:protocol.markdown-body-grammar.keyed-bullet-refused, test:protocol.markdown-body-grammar.ordered-list-refused, test:protocol.markdown-body-grammar.plain-bullet-refused, test:protocol.markdown-body-grammar.raw-html-refused, test:protocol.markdown-body-grammar.repeated-field-refused, test:protocol.markdown-body-grammar.second-primary-owner-refused, test:protocol.markdown-body-grammar.shared-description-refused, test:protocol.markdown-body-grammar.table-refused, test:protocol.markdown-body-grammar.trailing-prose-refused, test:protocol.markdown-body-grammar.unrecognized-heading-refused. Specs verified by those bindings: spec:carrier.markdown-body-grammar, spec:carrier.markdown-body-grammar.continuation-line-refused, spec:carrier.markdown-body-grammar.foreign-fence-refused, spec:carrier.markdown-body-grammar.h3-refused, spec:carrier.markdown-body-grammar.integer-term-refused, spec:carrier.markdown-body-grammar.keyed-bullet-refused, spec:carrier.markdown-body-grammar.ordered-list-refused, spec:carrier.markdown-body-grammar.plain-bullet-refused, spec:carrier.markdown-body-grammar.raw-html-refused, spec:carrier.markdown-body-grammar.repeated-field-refused, spec:carrier.markdown-body-grammar.second-primary-owner-refused, spec:carrier.markdown-body-grammar.shared-description-refused, spec:carrier.markdown-body-grammar.table-refused, spec:carrier.markdown-body-grammar.trailing-prose-refused, spec:carrier.markdown-body-grammar.unrecognized-heading-refused.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | A table under a section is refused (spec:carrier.markdown-body-grammar.table-refused) | passed | 12.41 ms |
| executes the bound example against a fresh world | A bullet wrapped onto a second line is refused (spec:carrier.markdown-body-grammar.continuation-line-refused) | passed | 3.13 ms |
| executes the bound example against a fresh world | An ordered list is refused (spec:carrier.markdown-body-grammar.ordered-list-refused) | passed | 2.76 ms |
| executes the bound example against a fresh world | A fence other than gwt or gwt-vocabulary is refused (spec:carrier.markdown-body-grammar.foreign-fence-refused) | passed | 2.79 ms |
| executes the bound example against a fresh world | An H3 under Design is refused (spec:carrier.markdown-body-grammar.h3-refused) | passed | 2.62 ms |
| executes the bound example against a fresh world | A plain bullet under an open section is refused (spec:carrier.markdown-body-grammar.plain-bullet-refused) | passed | 2.52 ms |
| executes the bound example against a fresh world | A keyed bullet under a plain-bullet owner is refused (spec:carrier.markdown-body-grammar.keyed-bullet-refused) | passed | 2.33 ms |
| executes the bound example against a fresh world | Prose after structured content is refused (spec:carrier.markdown-body-grammar.trailing-prose-refused) | passed | 1.87 ms |
| executes the bound example against a fresh world | A repeated single-valued field is refused (spec:carrier.markdown-body-grammar.repeated-field-refused) | passed | 2.43 ms |
| executes the bound example against a fresh world | An unrecognized heading is refused with a suggestion (spec:carrier.markdown-body-grammar.unrecognized-heading-refused) | passed | 8.41 ms |
| executes the bound example against a fresh world | A second primary owner is refused (spec:carrier.markdown-body-grammar.second-primary-owner-refused) | passed | 2.67 ms |
| executes the bound example against a fresh world | Raw HTML outside a code span is refused (spec:carrier.markdown-body-grammar.raw-html-refused) | passed | 2.13 ms |
| executes the bound example against a fresh world | A second description across Behavior and Example space is refused (spec:carrier.markdown-body-grammar.shared-description-refused) | passed | 1.85 ms |
| executes the bound example against a fresh world | An integer-like Model term is refused (spec:carrier.markdown-body-grammar.integer-term-refused) | passed | 2.02 ms |
External run evidence from test/self-hosting-model.test.ts
Test anchors: test:protocol.anchors.lookalike-refusal, test:protocol.anchors.physical-identity, test:protocol.stable-ids.malformed-refusal, test:protocol.stable-ids.namespaced-round-trip, test:protocol.stable-ids.unsectioned-address-refused. Specs verified by those bindings: spec:model.anchors, spec:model.anchors.lookalike-refusal, spec:model.anchors.physical-identity, spec:model.stable-ids, spec:model.stable-ids.malformed-refusal, spec:model.stable-ids.namespaced-round-trip, spec:model.stable-ids.unsectioned-address-refused.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | A namespaced dotted path with a sub-part survives parsing unchanged (spec:model.stable-ids.namespaced-round-trip) | passed | 2.33 ms |
| executes the bound example against a fresh world | An uppercase namespace is refused with its reason named (spec:model.stable-ids.malformed-refusal) | passed | 0.39 ms |
| executes the bound example against a fresh world | A `#` sub-part without its section is refused with its reason named (spec:model.stable-ids.unsectioned-address-refused) | passed | 0.3 ms |
| executes the bound example against a fresh world | A consumer-local lookalike builder mints no anchor and no finding (spec:model.anchors.lookalike-refusal) | passed | 19.13 ms |
| executes the bound example against a fresh world | A deep relative import that resolves to the Protocol builders is trusted (spec:model.anchors.physical-identity) | passed | 8.59 ms |
External run evidence from test/self-hosting-next-rung-floor.test.ts
Test anchors: test:protocol.next-rung-floor.blocking-question, test:protocol.next-rung-floor.typed-dependency-targets. Specs verified by those bindings: spec:validation.next-rung-floor, spec:validation.next-rung-floor.blocking-question, spec:validation.next-rung-floor.typed-dependency-targets.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | A defined Spec resting on a scoped dependency is told which one (spec:validation.next-rung-floor.typed-dependency-targets) | passed | 10.27 ms |
| executes the bound example against a fresh world | A scoped Spec held by a blocking question is told the clause (spec:validation.next-rung-floor.blocking-question) | passed | 1.18 ms |
External run evidence from test/self-hosting-open-question-keys.test.ts
Test anchors: test:protocol.open-question-keys.keyed-question-resolves, test:protocol.open-question-keys.renamed-key-breaks, test:protocol.open-question-keys.repeated-key-refused. Specs verified by those bindings: spec:model.open-question-keys, spec:model.open-question-keys.keyed-question-resolves, spec:model.open-question-keys.renamed-key-breaks, spec:model.open-question-keys.repeated-key-refused.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | A keyed question is reified and its address resolves (spec:model.open-question-keys.keyed-question-resolves) | passed | 17.42 ms |
| executes the bound example against a fresh world | A renamed question key fails the mention that addresses it (spec:model.open-question-keys.renamed-key-breaks) | passed | 4.62 ms |
| executes the bound example against a fresh world | A repeated question key refuses its carrier (spec:model.open-question-keys.repeated-key-refused) | passed | 3.92 ms |
External run evidence from test/self-hosting-pack-markdown.test.ts
Test anchors: test:protocol.markdown-pack-authoring.markdown-ts-parity, test:protocol.markdown-pack-authoring.spec-envelope-refused. Specs verified by those bindings: spec:carrier.markdown-pack-authoring, spec:carrier.markdown-pack-authoring.markdown-ts-parity, spec:carrier.markdown-pack-authoring.spec-envelope-refused.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | A Markdown Pack twin matches its TypeScript manifest (spec:carrier.markdown-pack-authoring.markdown-ts-parity) | passed | 29.16 ms |
| executes the bound example against a fresh world | A Spec key on a Pack envelope is refused (spec:carrier.markdown-pack-authoring.spec-envelope-refused) | passed | 1.66 ms |
External run evidence from test/self-hosting-pack-member-order.test.ts
Test anchors: test:protocol.pack-member-order. Specs verified by those bindings: spec:extraction.pack-member-order, spec:extraction.pack-member-order.manifest-order-kept.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | A manifest's member order survives into the graph and the reader (spec:extraction.pack-member-order.manifest-order-kept) | passed | 24.27 ms |
| keeps repeated members in the graph, reader, member table and gap list | Pack member order | passed | 40.51 ms |
| carries an empty members list for an empty manifest | Pack member order | passed | 6.91 ms |
| derives empty members when specs is undefined | Pack member order | passed | 0.37 ms |
| derives empty members when specs is not an array | Pack member order | passed | 0.32 ms |
| serializes framing, file, members and modelRefs in the ruled field order | Pack member order | passed | 0.26 ms |
External run evidence from test/self-hosting-projections.test.ts
Test anchors: test:protocol.binding-language-views.bound-spec-page, test:protocol.binding-language-views.pack-member-table, test:protocol.derived-readiness-banner.dishonest-divergence, test:protocol.derived-readiness-banner.honest-headroom, test:protocol.derived-readiness-banner.idea-floor-unmet, test:protocol.design-review.pure-projection, test:protocol.diagnostic-rendering.composed-location, test:protocol.diagnostic-rendering.table-cell-location, test:protocol.wholesale-view-rewrite.build-invalidates-view, test:protocol.wholesale-view-rewrite.failed-run-view-removed, test:protocol.wholesale-view-rewrite.late-stale-page, test:protocol.wholesale-view-rewrite.stale-page-removed. Specs verified by those bindings: spec:consumers.binding-language-views, spec:consumers.binding-language-views.bound-spec-page, spec:consumers.binding-language-views.pack-member-table, spec:consumers.derived-readiness-banner, spec:consumers.derived-readiness-banner.dishonest-divergence, spec:consumers.derived-readiness-banner.honest-headroom, spec:consumers.design-review, spec:consumers.design-review.pure-projection, spec:consumers.wholesale-view-rewrite, spec:consumers.wholesale-view-rewrite.build-invalidates-view, spec:consumers.wholesale-view-rewrite.failed-run-view-removed, spec:consumers.wholesale-view-rewrite.late-stale-page, spec:consumers.wholesale-view-rewrite.stale-page-removed, spec:validation.diagnostic-rendering, spec:validation.diagnostic-rendering.composed-location, spec:validation.diagnostic-rendering.table-cell-location.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | The view is the graph read twice, and the corpus is untouched by reading it (spec:consumers.design-review.pure-projection) | passed | 99.39 ms |
| executes the bound example against a fresh world | An overstated rung raises the banner and names the clause that refused (spec:consumers.derived-readiness-banner.dishonest-divergence) | passed | 2.14 ms |
| executes the bound example against a fresh world | A rung the structure overshoots renders as information, not as a banner (spec:consumers.derived-readiness-banner.honest-headroom) | passed | 1.17 ms |
| renders a Spec whose idea floor is unmet with no rung and a below-idea banner | not recorded | passed | 0.85 ms |
| executes the bound example against a fresh world | A fully bound Spec renders binding language on the page and in the index (spec:consumers.binding-language-views.bound-spec-page) | passed | 1.85 ms |
| executes the bound example against a fresh world | The Pack member table speaks the page's binding language, not a shorthand (spec:consumers.binding-language-views.pack-member-table) | passed | 1.91 ms |
| executes the bound example against a fresh world | A page from an earlier run does not survive the next one (spec:consumers.wholesale-view-rewrite.stale-page-removed) | passed | 7.25 ms |
| executes the bound example against a fresh world | A page the build's invalidation never saw still does not survive the swap (spec:consumers.wholesale-view-rewrite.late-stale-page) | passed | 4.19 ms |
| executes the bound example against a fresh world | A run that cannot produce a current view leaves no view at all (spec:consumers.wholesale-view-rewrite.failed-run-view-removed) | passed | 2.63 ms |
| executes the bound example against a fresh world | A build that never renders still takes the old view down (spec:consumers.wholesale-view-rewrite.build-invalidates-view) | passed | 2.79 ms |
| executes the bound example against a fresh world | One finding, three location shapes, one composition rule (spec:validation.diagnostic-rendering.composed-location) | passed | 0.65 ms |
| executes the bound example against a fresh world | The same three location shapes, rendered as table cells (spec:validation.diagnostic-rendering.table-cell-location) | passed | 0.43 ms |
External run evidence from test/self-hosting-readiness-planner.test.ts
Test anchors: test:protocol.readiness-planner.cycle-shares-a-round, test:protocol.readiness-planner.decision-first, test:protocol.readiness-planner.dependency-order, test:protocol.readiness-planner.owner-question-holds. Specs verified by those bindings: spec:consumers.readiness-planner, spec:consumers.readiness-planner.cycle-shares-a-round, spec:consumers.readiness-planner.decision-first, spec:consumers.readiness-planner.dependency-order, spec:consumers.readiness-planner.owner-question-holds.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | The Spec another rests on comes first in the queue (spec:consumers.readiness-planner.dependency-order) | passed | 28.37 ms |
| executes the bound example against a fresh world | A waiting decision comes before the Spec it shapes (spec:consumers.readiness-planner.decision-first) | passed | 5.84 ms |
| executes the bound example against a fresh world | Waiting Specs that rest on each other share a round and report a cycle (spec:consumers.readiness-planner.cycle-shares-a-round) | passed | 4.2 ms |
| executes the bound example against a fresh world | An owner's blocking question lists the Specs it holds (spec:consumers.readiness-planner.owner-question-holds) | passed | 4.25 ms |
| diagnoses invalid decider null | statement queue details | passed | 7.23 ms |
| diagnoses invalid decider false | statement queue details | passed | 4.92 ms |
| diagnoses invalid decider 1 | statement queue details | passed | 3.28 ms |
| diagnoses invalid decider "" | statement queue details | passed | 2.82 ms |
| diagnoses invalid decider "Owner" | statement queue details | passed | 10.22 ms |
| diagnoses invalid decider "two words" | statement queue details | passed | 3.6 ms |
| diagnoses invalid decider "with_underscore" | statement queue details | passed | 2.3 ms |
| orders SCCs by longest dependency chain, ignores non-ordering and self edges, and sorts ids by code unit | statement queue details | passed | 5.7 ms |
| yields refines to the reverse dependsOn relation | statement queue details | passed | 2.38 ms |
| yields refines to the reverse constrainedBy relation | statement queue details | passed | 2.54 ms |
| yields refines to the reverse decidedBy relation | statement queue details | passed | 1.85 ms |
| chooses a shortest cycle path before breaking ties by target id | statement queue details | passed | 4 ms |
| selects every higher floor, ignores lower or equal floors, and orders only direct waiting links | statement queue details | passed | 3.06 ms |
| selects questions, counts undecided ones, and holds direct typed dependents by stated rung | statement queue details | passed | 4.51 ms |
External run evidence from test/self-hosting-sdp-import.test.ts
Test anchors: test:protocol.sdp-import.round-trip. Specs verified by those bindings: spec:carrier.sdp-import, spec:carrier.sdp-import.round-trip.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | A TypeScript carrier survives import as an equal Markdown graph (spec:carrier.sdp-import.round-trip) | passed | 56.64 ms |
External run evidence from test/self-hosting-step-keys.test.ts
Test anchors: test:protocol.step-keys.conflicting-example-key-withheld, test:protocol.step-keys.gherkin-keyed-step-stays-bound, test:protocol.step-keys.key-equal-to-a-skeleton-withheld, test:protocol.step-keys.malformed-marker-refused, test:protocol.step-keys.renamed-key-breaks, test:protocol.step-keys.repeated-key-refused, test:protocol.step-keys.reworded-keyed-step-stays-bound, test:protocol.step-keys.reworded-unkeyed-step-breaks, test:protocol.step-keys.two-keys-on-one-step-refused, test:protocol.step-keys.typescript-keyed-step-imports-keyed. Specs verified by those bindings: spec:carrier.step-keys, spec:carrier.step-keys.conflicting-example-key-withheld, spec:carrier.step-keys.gherkin-keyed-step-stays-bound, spec:carrier.step-keys.key-equal-to-a-skeleton-withheld, spec:carrier.step-keys.malformed-marker-refused, spec:carrier.step-keys.renamed-key-breaks, spec:carrier.step-keys.repeated-key-refused, spec:carrier.step-keys.reworded-keyed-step-stays-bound, spec:carrier.step-keys.reworded-unkeyed-step-breaks, spec:carrier.step-keys.two-keys-on-one-step-refused, spec:carrier.step-keys.typescript-keyed-step-imports-keyed, spec:extraction.executable-contracts.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | An example marker that disagrees with its vocabulary withholds the contract (spec:carrier.step-keys.conflicting-example-key-withheld) | passed | 22.63 ms |
| executes the bound example against a fresh world | A keyed Gherkin step keeps its binding across a rewording (spec:carrier.step-keys.gherkin-keyed-step-stays-bound) | passed | 1217.15 ms |
| executes the bound example against a fresh world | A step key equal to another step's skeleton withholds the contract (spec:carrier.step-keys.key-equal-to-a-skeleton-withheld) | passed | 28 ms |
| executes the bound example against a fresh world | A step marker whose key is off the grammar refuses the carrier (spec:carrier.step-keys.malformed-marker-refused) | passed | 770.98 ms |
| executes the bound example against a fresh world | Renaming a step key breaks the binding (spec:carrier.step-keys.renamed-key-breaks) | passed | 645.28 ms |
| executes the bound example against a fresh world | One key on two vocabulary steps refuses the carrier (spec:carrier.step-keys.repeated-key-refused) | passed | 585.85 ms |
| executes the bound example against a fresh world | A keyed step reworded in its vocabulary and its example keeps its binding (spec:carrier.step-keys.reworded-keyed-step-stays-bound) | passed | 671.38 ms |
| executes the bound example against a fresh world | The same rewording without a key breaks the binding (spec:carrier.step-keys.reworded-unkeyed-step-breaks) | passed | 654.66 ms |
| executes the bound example against a fresh world | Two keys on one step refuse the carrier (spec:carrier.step-keys.two-keys-on-one-step-refused) | passed | 726.16 ms |
| executes the bound example against a fresh world | A keyed TypeScript step keeps its key through import to Markdown (spec:carrier.step-keys.typescript-keyed-step-imports-keyed) | passed | 666.12 ms |
External run evidence from test/self-hosting-term-addresses.test.ts
Test anchors: test:protocol.term-addresses.keyed-term-resolves, test:protocol.term-addresses.malformed-term-marker-refused, test:protocol.term-addresses.repeated-term-key-refused, test:protocol.term-addresses.typescript-term-imports-keyed, test:protocol.term-addresses.unknown-term-key-refused. Specs verified by those bindings: spec:model.term-addresses, spec:model.term-addresses.keyed-term-resolves, spec:model.term-addresses.malformed-term-marker-refused, spec:model.term-addresses.repeated-term-key-refused, spec:model.term-addresses.typescript-term-imports-keyed, spec:model.term-addresses.unknown-term-key-refused.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | A keyed term is reified and its address resolves (spec:model.term-addresses.keyed-term-resolves) | passed | 31.89 ms |
| executes the bound example against a fresh world | A term marker whose key is off the grammar refuses its carrier (spec:model.term-addresses.malformed-term-marker-refused) | passed | 7.42 ms |
| executes the bound example against a fresh world | A term key repeated in one Spec refuses its carrier (spec:model.term-addresses.repeated-term-key-refused) | passed | 7.57 ms |
| executes the bound example against a fresh world | A keyed TypeScript term keeps its address through import to Markdown (spec:model.term-addresses.typescript-term-imports-keyed) | passed | 33.79 ms |
| executes the bound example against a fresh world | An address that names a term key no term carries is an error (spec:model.term-addresses.unknown-term-key-refused) | passed | 2.92 ms |
External run evidence from test/self-hosting-typed-dependency.test.ts
Test anchors: test:protocol.typed-dependency-floor.missing-targets, test:protocol.typed-dependency-floor.relation-rungs, test:protocol.typed-dependency-floor.stated-readiness, test:protocol.typed-dependency-floor.unsettled-fact. Specs verified by those bindings: spec:validation.typed-dependency-floor, spec:validation.typed-dependency-floor.missing-targets, spec:validation.typed-dependency-floor.relation-rungs, spec:validation.typed-dependency-floor.stated-readiness, spec:validation.typed-dependency-floor.unsettled-fact.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | Every relation reads the four stated target rungs (spec:validation.typed-dependency-floor.relation-rungs) | passed | 18.95 ms |
| executes the bound example against a fresh world | Missing targets fail relation resolution once (spec:validation.typed-dependency-floor.missing-targets) | passed | 1.52 ms |
| executes the bound example against a fresh world | An unsettled constraint bounds ready but permits defined (spec:validation.typed-dependency-floor.unsettled-fact) | passed | 1.09 ms |
| executes the bound example against a fresh world | Target floor failures do not propagate across dependencies (spec:validation.typed-dependency-floor.stated-readiness) | passed | 46.06 ms |
External run evidence from test/self-hosting-unbound-example.test.ts
Test anchors: test:protocol.unbound-example-posture.lower-rungs, test:protocol.unbound-example-posture.parent-traces, test:protocol.unbound-example-posture.warning-cases. Specs verified by those bindings: spec:validation.unbound-example-posture, spec:validation.unbound-example-posture.lower-rungs, spec:validation.unbound-example-posture.parent-traces, spec:validation.unbound-example-posture.warning-cases.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | Below-ready examples keep declared verifier data (spec:validation.unbound-example-posture.lower-rungs) | passed | 9.15 ms |
| executes the bound example against a fresh world | Ready examples and non-example verifiers keep warnings (spec:validation.unbound-example-posture.warning-cases) | passed | 13.15 ms |
| executes the bound example against a fresh world | Parent gaps follow enabled bindings and preserve the decision exemption (spec:validation.unbound-example-posture.parent-traces) | passed | 2.27 ms |
External run evidence from test/self-hosting-validators.test.ts
Test anchors: test:protocol.authored-honesty.section-authored-fact, test:protocol.authored-honesty.unearned-stated-fact, test:protocol.claim-separation.collapsed-edge-claim, test:protocol.claim-separation.unratified-descriptor, test:protocol.kind-evidence.constraints-alone, test:protocol.kind-evidence.empty-promoted-child, test:protocol.kind-evidence.second-entry-untargeted, test:protocol.kind-evidence.untargeted-constraint, test:protocol.oracle-target-eligibility.missing-space-refused, test:protocol.oracle-target-eligibility.rule-space-accepted, test:protocol.pack-coherence.incoherent-aggregate, test:protocol.readiness-floor.blocking-open-question, test:protocol.readiness-floor.unrelated-scoped-spec, test:protocol.referential-integrity.dangling-target, test:protocol.referential-integrity.did-you-mean, test:protocol.superseded-decision-signal.branch-names-every-end, test:protocol.superseded-decision-signal.chain-end-named, test:protocol.superseded-decision-signal.closed-chain-named, test:protocol.superseded-decision-signal.dependency-unread, test:protocol.superseded-decision-signal.end-and-loop-named, test:protocol.superseded-decision-signal.live-replacement-warns, test:protocol.superseded-decision-signal.replaced-ruling-warns, test:protocol.superseded-decision-signal.replacement-below-ready-named, test:protocol.superseded-decision-signal.superseded-subject-silent, test:protocol.two-check-families.split-report, test:protocol.verification-linkage.unbound-example, test:protocol.verification-linkage.unresolved-oracle, test:protocol.warn-level-signals.orphan-signal, test:protocol.warn-level-signals.ready-gap-signal. Specs verified by those bindings: spec:carrier.markdown-body-grammar, spec:validation.authored-honesty, spec:validation.authored-honesty.section-authored-fact, spec:validation.authored-honesty.unearned-stated-fact, spec:validation.claim-separation, spec:validation.claim-separation.collapsed-edge-claim, spec:validation.claim-separation.unratified-descriptor, spec:validation.kind-evidence, spec:validation.kind-evidence.constraints-alone, spec:validation.kind-evidence.empty-promoted-child, spec:validation.kind-evidence.second-entry-untargeted, spec:validation.kind-evidence.untargeted-constraint, spec:validation.oracle-target-eligibility, spec:validation.oracle-target-eligibility.missing-space-refused, spec:validation.oracle-target-eligibility.rule-space-accepted, spec:validation.pack-coherence, spec:validation.pack-coherence.incoherent-aggregate, spec:validation.readiness-floor, spec:validation.readiness-floor.blocking-open-question, spec:validation.readiness-floor.unrelated-scoped-spec, spec:validation.referential-integrity, spec:validation.referential-integrity.dangling-target, spec:validation.referential-integrity.did-you-mean, spec:validation.superseded-decision-signal, spec:validation.superseded-decision-signal.branch-names-every-end, spec:validation.superseded-decision-signal.chain-end-named, spec:validation.superseded-decision-signal.closed-chain-named, spec:validation.superseded-decision-signal.dependency-unread, spec:validation.superseded-decision-signal.end-and-loop-named, spec:validation.superseded-decision-signal.live-replacement-warns, spec:validation.superseded-decision-signal.replaced-ruling-warns, spec:validation.superseded-decision-signal.replacement-below-ready-named, spec:validation.superseded-decision-signal.superseded-subject-silent, spec:validation.two-check-families, spec:validation.two-check-families.split-report, spec:validation.verification-linkage, spec:validation.verification-linkage.unbound-example, spec:validation.verification-linkage.unresolved-oracle, spec:validation.warn-level-signals, spec:validation.warn-level-signals.orphan-signal, spec:validation.warn-level-signals.ready-gap-signal.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | A scoped Spec with no relation names the relation clause (spec:validation.readiness-floor.unrelated-scoped-spec) | passed | 5.07 ms |
| executes the bound example against a fresh world | A blocking open question holds a Spec below defined (spec:validation.readiness-floor.blocking-open-question) | passed | 1.08 ms |
| executes the bound example against a fresh world | Constraints alone stop short of complete behavior evidence (spec:validation.kind-evidence.constraints-alone) | passed | 1.02 ms |
| executes the bound example against a fresh world | A constraint without a machine-readable target is not complete (spec:validation.kind-evidence.untargeted-constraint) | passed | 0.87 ms |
| executes the bound example against a fresh world | An empty promoted child confers no evidence (spec:validation.kind-evidence.empty-promoted-child) | passed | 0.71 ms |
| executes the bound example against a fresh world | A disconnected Spec warns and fails nothing (spec:validation.warn-level-signals.orphan-signal) | passed | 0.52 ms |
| executes the bound example against a fresh world | A ready Spec without a verifier warns and fails nothing (spec:validation.warn-level-signals.ready-gap-signal) | passed | 0.68 ms |
| executes the bound example against a fresh world | An unrelated missing target is a bare conformance error (spec:validation.referential-integrity.dangling-target) | passed | 0.63 ms |
| executes the bound example against a fresh world | A unique near miss earns a did-you-mean suggestion (spec:validation.referential-integrity.did-you-mean) | passed | 0.73 ms |
| executes the bound example against a fresh world | A delivery fact smuggled into a section is refused (spec:validation.authored-honesty.section-authored-fact) | passed | 0.75 ms |
| executes the bound example against a fresh world | A stated delivery fact no binding earns is refused (spec:validation.authored-honesty.unearned-stated-fact) | passed | 0.63 ms |
| executes the bound example against a fresh world | A binding edge cannot borrow the declared claim (spec:validation.claim-separation.collapsed-edge-claim) | passed | 0.79 ms |
| executes the bound example against a fresh world | An unratified kind fails closed instead of reaching the floor (spec:validation.claim-separation.unratified-descriptor) | passed | 0.46 ms |
| executes the bound example against a fresh world | A declared verifier no test binds confers nothing (spec:validation.verification-linkage.unbound-example) | passed | 2.22 ms |
| executes the bound example against a fresh world | An oracle targeting a Spec with no example space is refused (spec:validation.verification-linkage.unresolved-oracle) | passed | 0.63 ms |
| executes the bound example against a fresh world | A rule owning an example space accepts an oracle (spec:validation.oracle-target-eligibility.rule-space-accepted) | passed | 0.85 ms |
| executes the bound example against a fresh world | A target without an example space refuses an oracle (spec:validation.oracle-target-eligibility.missing-space-refused) | passed | 0.4 ms |
| executes the bound example against a fresh world | A repeated member and a non-model modelRef are both named (spec:validation.pack-coherence.incoherent-aggregate) | passed | 0.8 ms |
| executes the bound example against a fresh world | One report carries both families and claims neither as its own (spec:validation.two-check-families.split-report) | passed | 0.69 ms |
| executes the bound example against a fresh world | A Spec shaped by a replaced decision warns once and fails nothing (spec:validation.superseded-decision-signal.replaced-ruling-warns) | passed | 2.07 ms |
| executes the bound example against a fresh world | The warning names the decision at the end of a chain of replacements (spec:validation.superseded-decision-signal.chain-end-named) | passed | 0.7 ms |
| executes the bound example against a fresh world | A replacement chain that branches names every end (spec:validation.superseded-decision-signal.branch-names-every-end) | passed | 0.61 ms |
| executes the bound example against a fresh world | A chain of replacements that closes on itself is named and fails nothing (spec:validation.superseded-decision-signal.closed-chain-named) | passed | 0.59 ms |
| executes the bound example against a fresh world | A dependency on a replaced decision raises no warning (spec:validation.superseded-decision-signal.dependency-unread) | passed | 0.51 ms |
| executes the bound example against a fresh world | A superseded decision is not warned for the decision it names (spec:validation.superseded-decision-signal.superseded-subject-silent) | passed | 0.4 ms |
| executes the bound example against a fresh world | A replacement still below ready is named as it stands (spec:validation.superseded-decision-signal.replacement-below-ready-named) | passed | 0.48 ms |
| executes the bound example against a fresh world | A decision still decided by the record it replaces warns (spec:validation.superseded-decision-signal.live-replacement-warns) | passed | 0.35 ms |
| executes the bound example against a fresh world | A chain of replacements that reaches an end and a loop names both (spec:validation.superseded-decision-signal.end-and-loop-named) | passed | 0.46 ms |
| deduplicates stale pairs, names self loops and leaves absent locations absent | not recorded | passed | 0.56 ms |
| warns once for each stale decision and ignores unresolved and wrongly typed replacements | not recorded | passed | 1.82 ms |
| locates each subject separately when two Specs name the same stale decision | not recorded | passed | 0.47 ms |
| checks branch messages independently of the example id | not recorded | passed | 0.5 ms |
| checks the extracted 'message' Design entry | not recorded | passed | 1.55 ms |
| checks the extracted 'closedChainMessage' Design entry | not recorded | passed | 0.52 ms |
| checks the extracted 'mixedChainMessage' Design entry | not recorded | passed | 0.49 ms |
| executes the bound example against a fresh world | A constraint whose second entry has no target is not complete (spec:validation.kind-evidence.second-entry-untargeted) | passed | 0.51 ms |
External run evidence from test/skills.test.ts
Test anchors: test:protocol.adopter-on-ramp, test:protocol.authoring-on-ramp, test:protocol.delivery-session-on-ramp, test:protocol.graph-first-planning, test:protocol.reading-on-ramp, test:protocol.studio-on-ramp, test:protocol.vault-on-ramp. Specs verified by those bindings: spec:consumers.adopter-on-ramp, spec:consumers.authoring-on-ramp, spec:consumers.delivery-session-on-ramp, spec:consumers.graph-first-planning, spec:consumers.reading-on-ramp, spec:consumers.studio-on-ramp, spec:consumers.vault-on-ramp.
| Name | Suite | Result | Duration |
|---|---|---|---|
| discovers the design slice's summary and detail parameter | not recorded | passed | 6.44 ms |
| teaches the named-file exception to both carrier-watch descriptions | not recorded | passed | 1.2 ms |
| teaches the optional priority field in the Pack manifest envelope | not recorded | passed | 0.84 ms |
| teaches design rounds and curates bindings by responsibility | not recorded | passed | 3 ms |
| presents the Protocol engine roles and reviewed boundary as worked examples for adopters | not recorded | passed | 1.27 ms |
| routes the next work and reviews through roadmap and proposal recipes | not recorded | passed | 3.89 ms |
| keeps planning truth in graph homes and session routing advisory | Protocol skill assets | passed | 1.46 ms |
| rejects missing planning guidance: An open question goes | Protocol skill assets | passed | 2.07 ms |
| rejects missing planning guidance: A deferral is | Protocol skill assets | passed | 1.1 ms |
| rejects missing planning guidance: An unsettled fact | Protocol skill assets | passed | 0.94 ms |
| rejects missing planning guidance: A ruling that awaits | Protocol skill assets | passed | 0.96 ms |
| rejects missing planning guidance: A statement a test checks | Protocol skill assets | passed | 0.95 ms |
| rejects missing planning guidance: Derive a count | Protocol skill assets | passed | 1.75 ms |
| rejects missing planning guidance: Group a body of work | Protocol skill assets | passed | 1.11 ms |
| rejects missing planning guidance: Hold advisory priority | Protocol skill assets | passed | 1.96 ms |
| owns skills under .agents and exposes them to Claude through one relative symlink | Protocol skill assets | passed | 0.39 ms |
| ships every skill folder in the package and indexes it in the help | Protocol skill assets | passed | 1.08 ms |
| uses the repository's two-field single-file convention | Protocol skill assets | passed | 2.36 ms |
| keeps every skill graph-first and the authoring law linked to carrying Specs | Protocol skill assets | passed | 3.17 ms |
| names the complete closed graph schema in the shape section | Protocol skill assets | passed | 1.04 ms |
| routes delivery sessions through the five advisory graph shapes | Protocol skill assets | passed | 0.97 ms |
| documents only valid CLI verbs and keeps root-specific exclusions intact | Protocol skill assets | passed | 3.67 ms |
| uses the local runtime or package runner instead of a colliding global binary | Protocol skill assets | passed | 1.67 ms |
| contains no contradictory shortcuts for readiness or verifier realization | Protocol skill assets | passed | 1.36 ms |
| states no recipe-catalog size in an on-ramp | Protocol skill assets | passed | 13.37 ms |
| maps a task to every catalog recipe in one sheet | the graph-reading on-ramp | passed | 5.28 ms |
| links the Specs that own the graph contract, the claims and the sink | the graph-reading on-ramp | passed | 0.74 ms |
| teaches every Markdown section owner and links the carrying grammar | adopter teaching | passed | 1.1 ms |
| teaches open-question home | adopter rule meanings | passed | 1.35 ms |
| teaches blocking floor | adopter rule meanings | passed | 1.06 ms |
| teaches blocking deferral | adopter rule meanings | passed | 0.98 ms |
| teaches deferral trigger | adopter rule meanings | passed | 0.85 ms |
| teaches deferral precondition | adopter rule meanings | passed | 0.76 ms |
| teaches independent defined floor | adopter rule meanings | passed | 0.96 ms |
| teaches complete example children | adopter rule meanings | passed | 1.06 ms |
| teaches example vocabulary agreement | adopter rule meanings | passed | 0.81 ms |
| teaches physical entry line | adopter rule meanings | passed | 0.69 ms |
| teaches one leading prose owner | adopter rule meanings | passed | 0.88 ms |
| teaches Note is refused | adopter rule meanings | passed | 1.08 ms |
| teaches ready reads parent | adopter rule meanings | passed | 1.08 ms |
| teaches ready waits for defined parent | adopter rule meanings | passed | 1.4 ms |
| teaches unsettled constraint home | adopter rule meanings | passed | 1.17 ms |
| teaches unsettled blocking check | adopter rule meanings | passed | 1.89 ms |
| teaches bounded relation | adopter rule meanings | passed | 1.07 ms |
| teaches bounded defined allowed | adopter rule meanings | passed | 1.1 ms |
| teaches bounded ready waits | adopter rule meanings | passed | 1.08 ms |
| teaches pending decision below ready | adopter rule meanings | passed | 1.03 ms |
| teaches shaping relation | adopter rule meanings | passed | 1.06 ms |
| teaches owner states ready | adopter rule meanings | passed | 1.02 ms |
| teaches checked statement home | adopter rule meanings | passed | 1.13 ms |
| teaches checking example relation | adopter rule meanings | passed | 1.12 ms |
| teaches example test binding | adopter rule meanings | passed | 1.08 ms |
| teaches derived verifier fact | adopter rule meanings | passed | 1.82 ms |
| teaches verifier existence versus passing | adopter rule meanings | passed | 6.32 ms |
| teaches CI owns outcomes | adopter rule meanings | passed | 1.42 ms |
| teaches no authored checked status | adopter rule meanings | passed | 7.3 ms |
| teaches fresh derived counts registers scope | adopter rule meanings | passed | 1.32 ms |
| teaches census source | adopter rule meanings | passed | 6.12 ms |
| teaches open-question register source | adopter rule meanings | passed | 1.36 ms |
| teaches dependency register source | adopter rule meanings | passed | 1.99 ms |
| teaches mention register source | adopter rule meanings | passed | 1.22 ms |
| teaches delta scope source | adopter rule meanings | passed | 1.18 ms |
| teaches no quoted counts | adopter rule meanings | passed | 1.13 ms |
| teaches operator-selected policy | adopter rule meanings | passed | 1.84 ms |
| teaches per-file policy parameters | adopter rule meanings | passed | 1.1 ms |
| teaches separate policy findings | adopter rule meanings | passed | 1.1 ms |
| teaches policy failures | adopter rule meanings | passed | 1.13 ms |
| teaches watch policy rereads | adopter rule meanings | passed | 1.08 ms |
| teaches Constraints leading-prose exception | adopter rule meanings | passed | 1.07 ms |
| teaches one primary owner | adopter rule meanings | passed | 1.07 ms |
| rejects the opposite teaching for independent defined floor: defined floor does not read the parent's readiness | adopter rule meanings | passed | 1.23 ms |
| rejects the opposite teaching for independent defined floor: defined floor does not read the parent's readiness | adopter rule meanings | passed | 1.23 ms |
| rejects the opposite teaching for example vocabulary agreement: complete and match the parent's example vocabulary, when it has one | adopter rule meanings | passed | 2.27 ms |
| rejects the opposite teaching for ready reads parent: ready floor does read the parent's readiness | adopter rule meanings | passed | 1.17 ms |
| rejects the opposite teaching for physical entry line: a wrapped or indented continuation is refused | adopter rule meanings | passed | 1.18 ms |
| rejects the opposite teaching for one leading prose owner: Leading prose may stand under that owner or under Example space, not both | adopter rule meanings | passed | 1.13 ms |
| rejects the opposite teaching for Note is refused: The parser reads - Note: x as a key and refuses it | adopter rule meanings | passed | 1.1 ms |
| rejects the opposite teaching for open-question home: An open question goes under Intent's ### Open questions. | adopter rule meanings | passed | 1.07 ms |
| accepts a harmless open-question instruction frame | adopter rule meanings | passed | 1.14 ms |
| defined examples ignore parent readiness but read its vocabulary: matches=true | adopter rule meanings | passed | 2.35 ms |
| defined examples ignore parent readiness but read its vocabulary: matches=false | adopter rule meanings | passed | 0.44 ms |
| teaches the Intent grammar row | adopter rule meanings | passed | 0.76 ms |
| teaches the Intent grammar row | adopter rule meanings | passed | 0.63 ms |
| teaches the Behavior grammar row | adopter rule meanings | passed | 0.55 ms |
| teaches the Rule grammar row | adopter rule meanings | passed | 0.61 ms |
| teaches the Workflow grammar row | adopter rule meanings | passed | 0.54 ms |
| teaches the Workflow grammar row | adopter rule meanings | passed | 0.64 ms |
| teaches the Contract grammar row | adopter rule meanings | passed | 0.63 ms |
| teaches the Example space grammar row | adopter rule meanings | passed | 0.57 ms |
| teaches the Example space grammar row | adopter rule meanings | passed | 0.51 ms |
| teaches the Constraints grammar row | adopter rule meanings | passed | 0.54 ms |
| teaches the Constraints grammar row | adopter rule meanings | passed | 0.53 ms |
| teaches the Constraints grammar row | adopter rule meanings | passed | 0.55 ms |
| teaches the Model grammar row | adopter rule meanings | passed | 0.5 ms |
| teaches the Model grammar row | adopter rule meanings | passed | 0.55 ms |
| teaches the Design grammar row | adopter rule meanings | passed | 0.5 ms |
| teaches the Design grammar row | adopter rule meanings | passed | 0.55 ms |
| teaches the Decision grammar row | adopter rule meanings | passed | 0.61 ms |
| teaches the Decision grammar row | adopter rule meanings | passed | 0.53 ms |
| teaches the UI grammar row | adopter rule meanings | passed | 0.51 ms |
| teaches the Verification — <mode> grammar row | adopter rule meanings | passed | 0.51 ms |
| teaches the Verification — <mode> grammar row | adopter rule meanings | passed | 0.52 ms |
| teaches the Verification — <mode> grammar row | adopter rule meanings | passed | 0.5 ms |
| keeps graph-reader verifier teaching about existence and CI outcomes | adopter rule meanings | passed | 0.86 ms |
| keeps session teaching advisory and separate from permission | adopter rule meanings | passed | 0.53 ms |
| the README teaches commit pin | adopter install and upgrade guidance | passed | 0.33 ms |
| the README teaches npm script approval | adopter install and upgrade guidance | passed | 0.28 ms |
| the README teaches npm git approval | adopter install and upgrade guidance | passed | 0.29 ms |
| the README teaches pnpm repository approval | adopter install and upgrade guidance | passed | 0.27 ms |
| the README teaches pnpm 10 exact approval | adopter install and upgrade guidance | passed | 0.26 ms |
| the README teaches installed CLI check | adopter install and upgrade guidance | passed | 0.25 ms |
| the README teaches vitest subpath requirement | adopter install and upgrade guidance | passed | 0.25 ms |
| the README teaches recipe subject as params | adopter install and upgrade guidance | passed | 0.23 ms |
| refuses wrapped continuation | taught grammar agrees with parser behavior | passed | 1.49 ms |
| refuses indented continuation | taught grammar agrees with parser behavior | passed | 0.25 ms |
| allows leading prose under either owner and refuses it under both | taught grammar agrees with parser behavior | passed | 1.11 ms |
| refuses Note as a plain Rule entry | taught grammar agrees with parser behavior | passed | 0.29 ms |
| refuses Note as a plain Workflow entry | taught grammar agrees with parser behavior | passed | 0.17 ms |
| refuses Note as a plain Contract entry | taught grammar agrees with parser behavior | passed | 0.13 ms |
| refuses Note as a plain Verification — manual entry | taught grammar agrees with parser behavior | passed | 0.6 ms |
| refuses unique Model terms duplicates | taught grammar agrees with parser behavior | passed | 0.53 ms |
| refuses unique Design keys duplicates | taught grammar agrees with parser behavior | passed | 0.16 ms |
| refuses unique UI keys via Design form duplicates | taught grammar agrees with parser behavior | passed | 0.14 ms |
| refuses single Intent actor duplicates | taught grammar agrees with parser behavior | passed | 0.53 ms |
| refuses single Intent problem duplicates | taught grammar agrees with parser behavior | passed | 0.17 ms |
| refuses single Intent outcome duplicates | taught grammar agrees with parser behavior | passed | 0.12 ms |
| refuses single Intent value duplicates | taught grammar agrees with parser behavior | passed | 0.12 ms |
| refuses single Constraints statement duplicates | taught grammar agrees with parser behavior | passed | 1.38 ms |
| refuses single Constraints flavor duplicates | taught grammar agrees with parser behavior | passed | 0.23 ms |
| refuses single Constraints target duplicates | taught grammar agrees with parser behavior | passed | 0.17 ms |
| refuses single Constraints measurableBy duplicates | taught grammar agrees with parser behavior | passed | 0.12 ms |
| refuses single Decision context duplicates | taught grammar agrees with parser behavior | passed | 0.26 ms |
| refuses single Decision decision duplicates | taught grammar agrees with parser behavior | passed | 0.11 ms |
| allows Behavior alone and refuses a second primary owner | taught grammar agrees with parser behavior | passed | 0.51 ms |
| allows Rule alone and refuses a second primary owner | taught grammar agrees with parser behavior | passed | 0.2 ms |
| allows Workflow alone and refuses a second primary owner | taught grammar agrees with parser behavior | passed | 0.14 ms |
| allows Contract alone and refuses a second primary owner | taught grammar agrees with parser behavior | passed | 0.22 ms |
| allows leading prose in Design and refuses it in Constraints | taught grammar agrees with parser behavior | passed | 0.21 ms |
| allows the taught repeatable Intent entries | taught grammar agrees with parser behavior | passed | 0.22 ms |
| allows the taught repeatable Decision entries | taught grammar agrees with parser behavior | passed | 0.16 ms |
| extracts the key the skill's marker carries and resolves the address the skill gives it | the taught question marker | passed | 12.24 ms |
| leaves the address unresolved when the key stands outside the brackets | the taught question marker | passed | 7.39 ms |
| creates the anchored suite before generating, and the build places the registrar beside it | the reviewed skill teaching | passed | 23.37 ms |
| keys a step in the vocabulary, as the step-key law and the contract generator agree | the reviewed skill teaching | passed | 12.4 ms |
| owns publishing in one reader section that agrees with each verb's flags | the reviewed skill teaching | passed | 3.85 ms |
| names the vault's owned folder, the person's notes and the roots a vault run removes | the reviewed skill teaching | passed | 0.76 ms |
| teaches entry addresses, term addresses and anchored source citations as the engine derives them | the reviewed skill teaching | passed | 16.18 ms |
| states what an empty or ready answer establishes and no more | the reviewed skill teaching | passed | 1.94 ms |
| teaches a refused bundle as the end of pagination, as recipe 36 refuses | the reviewed skill teaching | passed | 11.52 ms |
| keeps corpus rules in one section whose composed rules file runs as taught | the reviewed skill teaching | passed | 10.59 ms |
| points every skill at the installed upgrade guide and triggers authoring on upgrades and rules | the reviewed skill teaching | passed | 1.91 ms |
| orders the reader as a task route and leaves recipe contracts to the catalog | the reviewed skill teaching | passed | 3.36 ms |
| states the graph's flat topology and which node types carry lines, as the graph does | the reviewed skill teaching | passed | 15.04 ms |
| is its own shipped skill, which the reading skill points to | the Studio on-ramp | passed | 0.97 ms |
| starts from what the agent holds | the Studio on-ramp | passed | 0.32 ms |
| teaches the publishing run as the studio and generate verbs take it | the Studio on-ramp | passed | 1.86 ms |
| teaches stamping and the preview workflow as the workflow declares them | the Studio on-ramp | passed | 5.73 ms |
| has the preview's run evidence checked against the stamp, never assumed to match it | the Studio on-ramp | passed | 2.7 ms |
| maps each task to a page the Studio writes, and states what a page does not | the Studio on-ramp | passed | 52.89 ms |
| receives the composing panel's hand-off through the proposal check | the Studio on-ramp | passed | 9.59 ms |
| cites resolving Studio Specs for law and leaves flags to each verb's help | the Studio on-ramp | passed | 648.7 ms |
| is its own shipped skill, which the reading skill points to | the vault on-ramp | passed | 1.44 ms |
| places the vault where the command accepts it | the vault on-ramp | passed | 6.47 ms |
| keeps the person's notes outside the folder the command owns | the vault on-ramp | passed | 0.67 ms |
| teaches synchronizing and watching as the verbs and the failed index state them | the vault on-ramp | passed | 0.61 ms |
| names every refusal the guard prints and how to recover from it | the vault on-ramp | passed | 0.93 ms |
| converts a note's links back to the addresses the vault wrote, then checks the proposal | the vault on-ramp | passed | 17.21 ms |
| takes the proposal's base from the graph the person read, never from the latest synchronization | the vault on-ramp | passed | 4.62 ms |
| cites resolving vault Specs for law and leaves flags to the verb's help | the vault on-ramp | passed | 97.29 ms |
External run evidence from test/studio-capabilities.test.ts
Test anchors: test:protocol.studio-capabilities. Specs verified by those bindings: spec:consumers.spec-studio.capability-map-page, spec:consumers.spec-studio.diagram-kinds.capability-tree.
| Name | Suite | Result | Duration |
|---|---|---|---|
| folds whole sibling branches for 30 features with 1 stories | Studio capabilities | passed | 49.24 ms |
| folds whole sibling branches for 45 features with 5 stories | Studio capabilities | passed | 324.65 ms |
| folds whole sibling branches for 40 features with 40 stories | Studio capabilities | passed | 1924.22 ms |
| keeps reached children out of the unreached drawing and complete rows | Studio capabilities | passed | 24.85 ms |
| shows cycle diagnostics outside closed disclosures | Studio capabilities | passed | 16.96 ms |
| exports every cycle member and exact edge with the Mermaid fallback reason | Studio capabilities | passed | 3.69 ms |
| renders code-span titles as plain drawing words and questions as linked prose | Studio capabilities | passed | 5.35 ms |
| initializes epic filtering from the URL, intersects every control and resets native rows | Studio capabilities | passed | 9.11 ms |
| reflows capability cards, caps deep indentation and opens complete text for print | Studio capabilities | passed | 39.26 ms |
| folds only a leaf remainder at the root, preserves first siblings and falls back for too many roots | Studio capabilities | passed | 65.42 ms |
| condenses a cycle into a labelled group and retains its internal relations in words | Studio capabilities | passed | 5.58 ms |
| shares the detailed recipe answer and publishes a lens immediately after Packs | Studio capabilities | passed | 0.84 ms |
| labels nested epics, scopes distinct rollups and separates examples and decisions | Studio capabilities | passed | 0.33 ms |
| keeps depth-first repeats, every relation and question links to real ids | Studio capabilities | passed | 0.52 ms |
| renders a repeat box with its own child-to-parent arrow and groups siblings | Studio capabilities | passed | 4.31 ms |
| uses mindmap only for a strict tree and folds large branches without losing text | Studio capabilities | passed | 57.15 ms |
| keeps cycles finite, labelled and complete, and handles no epics or an empty corpus | Studio capabilities | passed | 12.08 ms |
| records all epic memberships on index rows and preserves Pack disclosures | Studio capabilities | passed | 0.48 ms |
| intersects epic selection with every existing filter and treats no epic explicitly | Studio capabilities | passed | 0.82 ms |
External run evidence from test/studio-data.test.ts
Test anchors: test:protocol.studio-data. Specs verified by those bindings: spec:consumers.spec-studio.data, spec:consumers.spec-studio.publisher.
| Name | Suite | Result | Duration |
|---|---|---|---|
| counts every Pack exactly as recipe 29 | Studio data over 'Protocol' | passed | 516.47 ms |
| keeps one search record per node, fields unchanged and bindings decoded | Studio data over 'Protocol' | passed | 443.96 ms |
| matches recipe 23's exact rows for suffix | Studio data over 'Protocol' | passed | 429.99 ms |
| matches recipe 23's exact rows for rule | Studio data over 'Protocol' | passed | 438.74 ms |
| matches recipe 23's exact rows for type | Studio data over 'Protocol' | passed | 374.75 ms |
| matches recipe 23's exact rows for outcome | Studio data over 'Protocol' | passed | 438.99 ms |
| matches recipe 23's exact rows for order | Studio data over 'Protocol' | passed | 362.31 ms |
| matches recipe 23's exact rows for decision | Studio data over 'Protocol' | passed | 302.81 ms |
| matches recipe 23's exact rows for graphOnly | Studio data over 'Protocol' | passed | 430.63 ms |
| keeps rails in Pack-id and authored-member order, with severity and space ownership | Studio data over 'Protocol' | passed | 356.57 ms |
| counts every Pack exactly as recipe 29 | Studio data over 'checkout' | passed | 3.92 ms |
| keeps one search record per node, fields unchanged and bindings decoded | Studio data over 'checkout' | passed | 3.37 ms |
| matches recipe 23's exact rows for suffix | Studio data over 'checkout' | passed | 4.05 ms |
| matches recipe 23's exact rows for rule | Studio data over 'checkout' | passed | 8.03 ms |
| matches recipe 23's exact rows for type | Studio data over 'checkout' | passed | 9.6 ms |
| matches recipe 23's exact rows for outcome | Studio data over 'checkout' | passed | 5.91 ms |
| matches recipe 23's exact rows for order | Studio data over 'checkout' | passed | 5.11 ms |
| matches recipe 23's exact rows for decision | Studio data over 'checkout' | passed | 2.74 ms |
| matches recipe 23's exact rows for graphOnly | Studio data over 'checkout' | passed | 3.89 ms |
| keeps rails in Pack-id and authored-member order, with severity and space ownership | Studio data over 'checkout' | passed | 3.39 ms |
| serializes embedded JSON with no literal less-than character | not recorded | passed | 0.34 ms |
| encodes uppercase ids without case-insensitive page collisions | not recorded | passed | 0.31 ms |
| preserves coined non-string entries, question and rule addresses and their lines | not recorded | passed | 0.83 ms |
| keeps term addresses, keys and physical lines aligned with recipe 23 | not recorded | passed | 4.8 ms |
| shares only parameterless recipe answers within one Studio evaluation | not recorded | passed | 1.52 ms |
External run evidence from test/studio-diagram-catalog.test.ts
Test anchors: test:protocol.studio-diagram-catalog. Specs verified by those bindings: spec:consumers.spec-studio.diagram-kinds.
| Name | Suite | Result | Duration |
|---|---|---|---|
| keeps the complete drawn catalog and every other family deferred or refused | the shipped diagram catalog | passed | 3.01 ms |
| renders the six promised readings from explicit graph values without adding other forms | the shipped diagram catalog | passed | 1.74 ms |
External run evidence from test/studio-diagram-core.test.ts
Test anchors: test:protocol.studio-copy-source, test:protocol.studio-diagram-core. Specs verified by those bindings: spec:consumers.spec-studio.diagram-kinds.edge-routing, spec:consumers.spec-studio.diagram-kinds.legibility, spec:consumers.spec-studio.diagram-kinds.mermaid-source, spec:consumers.spec-studio.diagram-kinds.requirement-trace, spec:consumers.spec-studio.diagrams, spec:consumers.spec-studio.page-elements.
| Name | Suite | Result | Duration |
|---|---|---|---|
| wraps by code point and shortens shared segments without collisions | shared diagram core | passed | 8.85 ms |
| wraps boxes within the width budget and writes an instruction only for final wide drawings | shared diagram core | passed | 3.9 ms |
| routes forward, backward and same-band edges with distinct ports and no shared segments | shared diagram core | passed | 15.19 ms |
| fails closed when routing cannot fit, retaining complete text and no partial source | shared diagram core | passed | 48.26 ms |
| serializes full identities, exact claims, reasons, counts and folds as inert Mermaid data | shared diagram core | passed | 2.03 ms |
| copies the current value of the labelled textarea and selects that same area on clipboard failure | not recorded | passed | 57.44 ms |
| keeps the full box and edge bound routable with obstacles, separate lanes and edge labels | not recorded | passed | 370.5 ms |
| offers deterministic Mermaid source for each existing drawing and pins the safe text syntax | not recorded | passed | 7.07 ms |
| folds reason-bearing trace groups without attributing a member reason to the group | not recorded | passed | 6.45 ms |
| uses the full band budget for a single context and routes adjacent bands inside it | not recorded | passed | 0.58 ms |
| prints exact short relation words and reserves keys for wording that cannot fit | not recorded | passed | 10.14 ms |
| names viewport and instruction ids for trace and secondary views | not recorded | passed | 6.44 ms |
| names the architecture syntax and serializes aliases in displayed box order | not recorded | passed | 0.47 ms |
| routes the current Protocol architecture and recorded adopter architecture with distinct ports and segments | not recorded | passed | 61.67 ms |
| extends overflow rails past earlier labels on the adopter's dense traces | not recorded | passed | 4.04 ms |
| keeps high-degree boxes inside their cells when contexts share a grid | not recorded | passed | 0.78 ms |
| folds nine refining verifiers with their tests within the band budget and keeps every text row | not recorded | passed | 2.44 ms |
| names folded declared refiners by their relation and claim without an internal subtitle | not recorded | passed | 1.61 ms |
| keeps examples apart from refiners when dense requirement groups fold | not recorded | passed | 1.02 ms |
| names refines folds in plain words and preserves direction | not recorded | passed | 1.21 ms |
| names satisfies folds in plain words and preserves direction | not recorded | passed | 2.29 ms |
| names verifies folds in plain words and preserves direction | not recorded | passed | 1.05 ms |
| keeps a short drawing unfolded even with many boxes and incident edges | not recorded | passed | 0.79 ms |
| packs disjoint endpoint intervals into shared horizontal lanes | not recorded | passed | 0.8 ms |
| uses a legend key before spending overflow width on exact words | not recorded | passed | 1.11 ms |
External run evidence from test/studio-elements.test.ts
Test anchors: test:protocol.studio-page-elements. Specs verified by those bindings: spec:consumers.spec-studio.page-elements, spec:consumers.spec-studio.search.
| Name | Suite | Result | Duration |
|---|---|---|---|
| offers a prompt before searching and puts a real miss before the field list | Studio page interactions | passed | 2.5 ms |
| writes singular counts, readable fields, code-span titles and linked entry keys | Studio page interactions | passed | 4.55 ms |
| cuts long excerpts at word boundaries around the term | Studio page interactions | passed | 0.45 ms |
| copies the requested text and reports successful clipboard writes | Studio page interactions | passed | 1.17 ms |
| selects copy text when the clipboard is missing or rejects access | Studio page interactions | passed | 0.47 ms |
| decodes entry fragments literally and refuses malformed fragment escapes | Studio page interactions | passed | 0.29 ms |
| filters all filters together and accepts space-separated row values | Studio page interactions | passed | 1.76 ms |
| clears the filter when a link or fragment targets a row it hides | Studio page interactions | passed | 4.64 ms |
| round-trips term fragments including punctuation, spaces and Unicode | Studio page interactions | passed | 0.49 ms |
| matches entry tokens, and non-string values only by their coined key | Studio page interactions | passed | 0.56 ms |
| keeps a node whose only match is a tokenized coined entry key | Studio page interactions | passed | 0.36 ms |
| reads authored values at most twice per search, regardless of the entry count | Studio page interactions | passed | 2.89 ms |
| links addressed hits to the entry and other hits to their section or narrative | Studio page interactions | passed | 0.2 ms |
| groups entries beneath each node and pages fifty nodes at a time | Studio page interactions | passed | 3.35 ms |
| renders node words, independent rungs, bindings, locations and escaped text | Studio page interactions | passed | 2.03 ms |
| requests a stamp only over HTTP and HTTPS and shows only its text fields | Studio page interactions | passed | 0.51 ms |
| loads the built classic bundle without imports and defines the page and view elements | Studio page interactions | passed | 1.94 ms |
| names a question copy control with the full entry address and updates it | Studio page interactions | passed | 1.01 ms |
| uses the navigation search input, announces the empty prompt and reveals paging progress | Studio page interactions | passed | 9.42 ms |
| enhances a diagram through its view box, preserves links on click and removes handlers | not recorded | passed | 3.07 ms |
External run evidence from test/studio-pages.test.ts
Test anchors: test:protocol.studio-pages. Specs verified by those bindings: spec:consumers.spec-studio.index-page, spec:consumers.spec-studio.pack-page, spec:consumers.spec-studio.search, spec:consumers.spec-studio.shell, spec:consumers.spec-studio.spec-page.core.
| Name | Suite | Result | Duration |
|---|---|---|---|
| rejects malformed page links: <div id="same"></div><div id="same"></div> | not recorded | passed | 3.03 ms |
| rejects malformed page links: <a href="missing.html">Missing</a> | not recorded | passed | 0.61 ms |
| rejects malformed page links: <a href="#missing">Missing</a> | not recorded | passed | 0.42 ms |
| rejects malformed page links: <a href="https://example.com">Outside</a> | not recorded | passed | 0.3 ms |
| renders Model definitions without exposing the derived term key map | Studio static pages | passed | 9.63 ms |
| frames every browsing page with a skip link, labelled search, rail, canvas, classic script and stamp | Studio static pages | passed | 2.2 ms |
| lists example-space owners only in Pack and Spec rails | Studio static pages | passed | 0.36 ms |
| shows a keyed question once with a copy action naming its full address | Studio static pages | passed | 0.35 ms |
| opens the index with counts, four task routes, every filter and stable section ids | Studio static pages | passed | 0.84 ms |
| gives each Spec row one rung badge and binding words | Studio static pages | passed | 1.06 ms |
| puts Pack totals before framing and folds holds into that summary | Studio static pages | passed | 0.53 ms |
| leaves member names out when every member waits only for its author | Studio static pages | passed | 15.8 ms |
| agrees each boundary verb with its count | Studio static pages | passed | 13.16 ms |
| shows only the Spec's own Packs in its rail and every Pack on the index | Studio static pages | passed | 21.3 ms |
| asserts every index summary sentence including fact-based verifier counts | Studio static pages | passed | 10.79 ms |
| renders code spans in titles on every page and strips them in document titles | Studio static pages | passed | 13.22 ms |
| orders rung filters by the ladder and uses none everywhere for an unmet idea floor | Studio static pages | passed | 12.07 ms |
| keeps navigation links outside Pack disclosure controls | Studio static pages | passed | 0.23 ms |
| labels next rungs, UI and finding links and avoids repeating absent bindings | Studio static pages | passed | 0.49 ms |
| renders Pack members in authored order, closed and with one colored badge per summary | Studio static pages | passed | 0.7 ms |
| renders the four Pack boundary sections and the verifier gap sentence once | Studio static pages | passed | 0.29 ms |
| shows the stated rung beside its floor and warns only in the dishonest direction | Studio static pages | passed | 0.24 ms |
| renders every section in order and every addressable entry with its key and recorded line | Studio static pages | passed | 0.49 ms |
| names the first unmet clause and renders a missing idea floor as none | Studio static pages | passed | 5.38 ms |
| shows question fields, code location, component, bindings and relations both ways | Studio static pages | passed | 0.93 ms |
| escapes authored text, reads only code spans and links resolving mentions | Studio static pages | passed | 0.42 ms |
| links validator-readable escaped mentions and preserves unequal code delimiters | Studio static pages | passed | 0.36 ms |
| shows findings on the index and only links page-bearing subjects | Studio static pages | passed | 10.06 ms |
| embeds the index only on search and supplies its element and no-script explanation | Studio static pages | passed | 0.78 ms |
| resolves all probe links including fragments in dynamic search results | Studio static pages | passed | 9.25 ms |
| keeps unresolved component bindings as text and resolves every remaining link | Studio static pages | passed | 22.76 ms |
| renders deterministically with no time or commit metadata | Studio static pages | passed | 11.35 ms |
| ships the native layout and focus stylesheet in the browser assets | Studio static pages | passed | 0.4 ms |
| resolves every page link and element fragment | Protocol Studio page set | passed | 1364.19 ms |
| contains the complete Spec prose without executing script | Protocol Studio page set | passed | 103.58 ms |
External run evidence from test/studio-panels.test.ts
Test anchors: test:protocol.studio-architecture-maturity-requirement. Specs verified by those bindings: spec:consumers.spec-studio.diagram-kinds.maturity-picture, spec:consumers.spec-studio.diagram-kinds.requirement-trace, spec:consumers.spec-studio.lenses.architecture, spec:consumers.spec-studio.lenses.architecture.unit-register, spec:consumers.spec-studio.pack-page.maturity-map, spec:consumers.spec-studio.spec-page.
| Name | Suite | Result | Duration |
|---|---|---|---|
| orders both matrix axes by layer and id, links counts to supporting unit edges and keeps zeros compact | architecture tables and register | passed | 73.28 ms |
| groups unfamiliar and omitted roles in code-unit order, with source rows and separate binding lists | architecture tables and register | passed | 32.56 ms |
| draws equal categorical cells, exact counts and marks with ordered complete lists and unresolved members apart | maturity picture | passed | 46.28 ms |
| places the map inside the page's expander so a cell link opens its member list | maturity picture | passed | 24.84 ms |
| puts a uniform map behind a closed disclosure and uses solid fill above the mark bound | maturity picture | passed | 392.9 ms |
| selects the subject, refiners and verifying examples and keeps declared and anchored claims separate | requirement drawing | passed | 36.4 ms |
| keeps a refining verifier in the examples band and outside Specs apart | requirement drawing | passed | 12.74 ms |
| offers requirement syntax for the supported exact relation subset | requirement drawing | passed | 16.94 ms |
| counts the subject example when reporting selected verifying examples | requirement drawing | passed | 8.34 ms |
| folds the largest exact relation group deterministically and keeps every original binding in text | not recorded | passed | 5.8 ms |
| keeps a sparse large uses matrix readable with one visible zero legend and hidden cell words | not recorded | passed | 20.31 ms |
| contains the matrix's hidden cell words inside their scroll region | not recorded | passed | 0.45 ms |
| does not assert missing bindings on a boundary Spec whose bindings are outside the selected set | not recorded | passed | 9.66 ms |
| lets full component ids wrap so every uses column fits the printed page | not recorded | passed | 0.6 ms |
| keeps roles out of the pinned search record while preserving them on graph units | not recorded | passed | 3.09 ms |
| lists a unit whose recorded component is missing in No component and in unresolved structure | not recorded | passed | 4.13 ms |
| uses the singular member in a one-member Pack's uniform sentence | not recorded | passed | 8.24 ms |
| states each absent requirement band without implying that a populated drawing is missing | not recorded | passed | 5.2 ms |
| breaks equal requirement fold groups by 'kind' in lexical order | not recorded | passed | 3.58 ms |
| breaks equal requirement fold groups by 'direction' in lexical order | not recorded | passed | 2.34 ms |
| breaks equal requirement fold groups by 'claim' in lexical order | not recorded | passed | 1.14 ms |
| offers only the active relation and member renderers after requirement replaces realization | not recorded | passed | 0.26 ms |
| applies the closed-source print rule to both requirement and maturity drawings | not recorded | passed | 0.29 ms |
External run evidence from test/studio-publisher.test.ts
Test anchors: test:protocol.studio-publisher. Specs verified by those bindings: spec:consumers.spec-studio, spec:consumers.spec-studio.publisher.
| Name | Suite | Result | Duration |
|---|---|---|---|
| validates once and passes the build report through the reader and recipe evaluations | Studio publication | passed | 50.27 ms |
| publishes the layout, copies fixture assets and replaces stale pages and temporary siblings | Studio publication | passed | 25.11 ms |
| writes byte-identical pages twice and opens every placeholder link inside the page set | Studio publication | passed | 39.7 ms |
| publishes validation findings and returns nonzero without withholding the pages | Studio publication | passed | 15.76 ms |
| shows a finding with an anchor subject or no subject only on the index | Studio publication | passed | 6.55 ms |
| leaves no root or temporary after an extraction failure | Studio publication | passed | 2.98 ms |
| build invalidates the Studio and its temporary sibling | Studio publication | passed | 3.34 ms |
| validate invalidates the Studio and its temporary sibling | Studio publication | passed | 2.46 ms |
| view invalidates the Studio and its temporary sibling | Studio publication | passed | 5.39 ms |
| census invalidates the Studio and its temporary sibling | Studio publication | passed | 4.66 ms |
| mermaid invalidates the Studio and its temporary sibling | Studio publication | passed | 5.42 ms |
| gherkin invalidates the Studio and its temporary sibling | Studio publication | passed | 3.03 ms |
| refuses extraction when invalidation cannot remove the Studio | Studio publication | passed | 0.92 ms |
| check-clean accepts clean pages and replaces them with identical bytes | Studio publication | passed | 27.5 ms |
| check-clean refuses missing output and removes it | Studio publication | passed | 17.99 ms |
| check-clean refuses drift output and removes it | Studio publication | passed | 31.43 ms |
| check-clean refuses stale output and removes it | Studio publication | passed | 26.93 ms |
| check-clean refuses independently divergent renders | Studio publication | passed | 23.75 ms |
| removes output when an asset cannot be read | Studio publication | passed | 6.12 ms |
| refuses a renderer path that would overwrite authored source | Studio publication | passed | 4.51 ms |
| dispatches studio with shared exclusions and advertises only its ruled flags | Studio publication | passed | 7.98 ms |
External run evidence from test/studio-roadmap.test.ts
Test anchors: test:protocol.studio-roadmap-page. Specs verified by those bindings: spec:consumers.roadmap.memo, spec:consumers.spec-studio.navigation, spec:consumers.spec-studio.roadmap-page.
| Name | Suite | Result | Duration |
|---|---|---|---|
| shows unresolved members with their original manifest places | Studio roadmap page | passed | 31.36 ms |
| publishes the empty state and navigation even with no roadmap | Studio roadmap page | passed | 16.43 ms |
| renders the board, four need lists, numbered gaps, legend and entries listed apart | Studio roadmap page | passed | 0.94 ms |
| counts empty board columns and gives each empty need list its own sentence | Studio roadmap page | passed | 25.86 ms |
| shows holding parts and their next-rung clauses: has one part implemented below ready | Studio roadmap page | passed | 26.69 ms |
| shows holding parts and their next-rung clauses: has a ready root and one descendant held by a blocking question | Studio roadmap page | passed | 16.98 ms |
| shows holding parts and their next-rung clauses: has one descendant that also refines a Spec outside the roadmap | Studio roadmap page | passed | 28.01 ms |
| keeps waiting questions, provisional readings, unnamed deciders and statements in recipe order | Studio roadmap page | passed | 3.58 ms |
| leaves out Earlier statements when no waiting statement precedes the entry | Studio roadmap page | passed | 24.36 ms |
| uses the correct statement count and verb for 0 waiting statements | Studio roadmap page | passed | 18.36 ms |
| uses the correct statement count and verb for 1 waiting statements | Studio roadmap page | passed | 22.88 ms |
| uses the correct statement count and verb for 2 waiting statements | Studio roadmap page | passed | 25.07 ms |
| renders code spans and escapes authored titles consistently on the board and entry | Studio roadmap page | passed | 19.89 ms |
| shows decisions and their questions, dependency folds, incoming work and other Packs | Studio roadmap page | passed | 62.18 ms |
| labels an ordinary Pack answer as authored reading order | Studio roadmap page | passed | 30.08 ms |
| uses each roadmap's escaped page name for every local entry link and copies recipe 55's exact bytes | Studio roadmap page | passed | 73.4 ms |
| shows every row without script and supplies the existing filter with need tokens | Studio roadmap page | passed | 1.22 ms |
| keeps heading, memo and entry ids distinct when roadmap names contain their suffixes | Studio roadmap page | passed | 38.68 ms |
| stacks the board at phone width using the Studio breakpoint | Studio roadmap page | passed | 0.38 ms |
External run evidence from test/studio-s1.test.ts
Test anchors: test:protocol.studio-architecture-planned-apart, test:protocol.studio-coverage-literal, test:protocol.studio-coverage-number, test:protocol.studio-diagram-folds-context, test:protocol.studio-diagram-folds-layer, test:protocol.studio-diagram-within-bound, test:protocol.studio-lenses, test:protocol.studio-tests-coverage-row. Specs verified by those bindings: spec:consumers.agent-surface.example-space-coverage, spec:consumers.agent-surface.example-space-coverage.number-not-enumerable, spec:consumers.agent-surface.example-space-coverage.uncovered-literal, spec:consumers.spec-studio.data.recipe-answers, spec:consumers.spec-studio.diagrams, spec:consumers.spec-studio.diagrams.folds-by-context, spec:consumers.spec-studio.diagrams.folds-by-layer, spec:consumers.spec-studio.diagrams.within-bound, spec:consumers.spec-studio.lenses, spec:consumers.spec-studio.lenses.architecture, spec:consumers.spec-studio.lenses.architecture.planned-apart, spec:consumers.spec-studio.lenses.evidence, spec:consumers.spec-studio.lenses.packs, spec:consumers.spec-studio.lenses.tests, spec:consumers.spec-studio.lenses.tests.coverage-row.
| Name | Suite | Result | Duration |
|---|---|---|---|
| bounds and folds 12 components | Studio diagrams | passed | 30.61 ms |
| bounds and folds 45 components | Studio diagrams | passed | 7.71 ms |
| bounds and folds 50 components | Studio diagrams | passed | 18.03 ms |
| keeps every edge in an open text fallback | Studio diagrams | passed | 2.56 ms |
| orders grid contexts and layers and wraps cells within the fixed width budget | Studio diagrams | passed | 4.7 ms |
| draws planned-use edges dashed independently of planned box outlines | Studio diagrams | passed | 0.78 ms |
| checks the edge bound even when boxes fit | Studio diagrams | passed | 0.69 ms |
| places folded contexts and layers in their own bands below the grid | Studio diagrams | passed | 4.25 ms |
| places outgoing relation bands above the subject and folds ties in relation order | Studio diagrams | passed | 10.09 ms |
| folds trace relation groups and leaves member overflow as text | Studio diagrams | passed | 3.04 ms |
| keeps recipe and diagram edges in code-unit order under forced Czech collation | Studio lenses | passed | 129.74 ms |
| publishes all five ordered lenses and honest evidence without script | Studio lenses | passed | 41.5 ms |
| reads verifier binding from the delivery fact and gives absent coverage its own filter value | Studio lenses | passed | 17.84 ms |
| labels a primitive-only space with no examples not measurable and hides it under covered | Studio lenses | passed | 27.26 ms |
| classifies 'number' with points [ '1' ] and mixed=false as 'not-measurable' | Studio lenses | passed | 17.82 ms |
| classifies 'string' with points [ '"a"' ] and mixed=false as 'not-measurable' | Studio lenses | passed | 11.69 ms |
| classifies 'boolean' with points [ 'true' ] and mixed=false as 'not-measurable' | Studio lenses | passed | 13.27 ms |
| classifies '"a"|"b"' with points [] and mixed=false as 'uncovered' | Studio lenses | passed | 6.82 ms |
| classifies '"a"|"b"' with points [ '"a"' ] and mixed=false as 'uncovered' | Studio lenses | passed | 7.04 ms |
| classifies '"a"|"b"' with points [ '"a"', '"b"' ] and mixed=false as 'covered' | Studio lenses | passed | 20.44 ms |
| classifies '"a"|"b"' with points [ '"a"' ] and mixed=true as 'uncovered' | Studio lenses | passed | 19.79 ms |
| classifies '"a"|"b"' with points [ '"a"', '"b"' ] and mixed=true as 'covered' | Studio lenses | passed | 23.06 ms |
| renders member subjects, code spans, used-by counts, differences and empty components | Studio lenses | passed | 16.1 ms |
| describes evidence sources as not tracked | Studio lenses | passed | 2.69 ms |
| executes the bound example against a fresh world | An architecture within the bound draws in one diagram, the same bytes twice (spec:consumers.spec-studio.diagrams.within-bound) | passed | 18.43 ms |
| executes the bound example against a fresh world | An architecture over the bound folds by context (spec:consumers.spec-studio.diagrams.folds-by-context) | passed | 11.36 ms |
| executes the bound example against a fresh world | One context over the bound folds by layer (spec:consumers.spec-studio.diagrams.folds-by-layer) | passed | 11.28 ms |
| executes the bound example against a fresh world | A component design no anchor realizes draws planned beside the built one (spec:consumers.spec-studio.lenses.architecture.planned-apart) | passed | 21.54 ms |
| executes the bound example against a fresh world | A Spec's row on the tests lens counts its exercised keyed rules (spec:consumers.spec-studio.lenses.tests.coverage-row) | passed | 20.54 ms |
| executes the bound example against a fresh world | A literal no example binds is reported uncovered, and an unbound child is named (spec:consumers.agent-surface.example-space-coverage.uncovered-literal) | passed | 5.25 ms |
| executes the bound example against a fresh world | A number slot is not enumerable and reports no uncovered value (spec:consumers.agent-surface.example-space-coverage.number-not-enumerable) | passed | 3.13 ms |
| reuses the build's reader and validation findings during Studio recipe evaluation | not recorded | passed | 3.65 ms |
| documents the component and member fields recipe 17 adds | not recorded | passed | 1.47 ms |
| evaluates each shipped recipe once for its assigned parameters and shares Pack totals, with base false | not recorded | passed | 18.31 ms |
| evaluates each shipped recipe once for its assigned parameters and shares Pack totals, with base true | not recorded | passed | 15.91 ms |
| keeps label lines bounded and orders member depths numerically with outside units last | not recorded | passed | 1.76 ms |
| labels planned uses, reports unreadable designs and keeps unknown structure visible | not recorded | passed | 9.16 ms |
| gives unstated context and layer folds addressable text descriptions | not recorded | passed | 1.11 ms |
| names a single edge relation once in the legend and preserves its text equivalent | not recorded | passed | 1.76 ms |
| names solid and planned uses once without repeating edge labels | not recorded | passed | 0.58 ms |
External run evidence from test/studio-s2.test.ts
Test anchors: test:protocol.studio-cited-declaration, test:protocol.studio-panels, test:protocol.studio-rule-coverage. Specs verified by those bindings: spec:consumers.spec-studio.pack-page.maturity-map, spec:consumers.spec-studio.spec-page, spec:consumers.spec-studio.spec-page.cited-declaration, spec:consumers.spec-studio.verification-panels, spec:consumers.spec-studio.verification-panels.rule-coverage.
| Name | Suite | Result | Duration |
|---|---|---|---|
| marks every displayed file and line across the Studio page set for source links | not recorded | passed | 109.94 ms |
| renders citation labels consistently on Spec and declaration pages | not recorded | passed | 39.55 ms |
| executes the bound example against a fresh world | A pinned declaration shows the test line that cites it (spec:consumers.spec-studio.spec-page.cited-declaration) | passed | 12.75 ms |
| executes the bound example against a fresh world | Each keyed rule shows the examples that exercise it, or that none does (spec:consumers.spec-studio.verification-panels.rule-coverage) | passed | 16.15 ms |
| renders the five open panels in order, the space, bound values, absent evidence, and empty composing slots | Spec panels | passed | 14.06 ms |
| gives keyed terms address ids, source lines, and citations while hiding termKeys metadata | Spec panels | passed | 15.16 ms |
| places resolved Pack members in stated/floor cells in authored order | Spec panels | passed | 22.35 ms |
| keeps the maturity heading and axis explanations inside the embeddable element | Spec panels | passed | 20.36 ms |
| distinguishes test lines from citations by files with unrelated anchors | Spec panels | passed | 21.31 ms |
| renders composing slots beside unkeyed questions using the Spec scope | Spec panels | passed | 14.33 ms |
| keeps the unbound-verifier sentence to graph bindings without run input | Spec panels | passed | 19.45 ms |
| renders source locations, component links, decisions and transitive impact by distance | Structural panels and targets | passed | 30.62 ms |
| states absence on unwritten examples and unset constraint targets | Structural panels and targets | passed | 22.85 ms |
| labels a keyed rule's unbound example as not enabled | Structural panels and targets | passed | 10.05 ms |
| renders structure from recipe answers and reader records without exposing raw graph data | Structural panels and targets | passed | 19.72 ms |
| renders verifying examples for a Model without Behavior and keeps short cards to their summary | not recorded | passed | 10.67 ms |
| keeps example steps and composing actions outside a short Spec card | not recorded | passed | 18.09 ms |
| keeps trace and requirement description and arrow ids distinct for one Spec subject | not recorded | passed | 15.14 ms |
External run evidence from test/studio-s3.test.ts
Test anchors: test:protocol.studio-diff-changed-entry, test:protocol.studio-glossary-same-word-twice, test:protocol.studio-navigation, test:protocol.studio-queue-dependency-first, test:protocol.studio-registers-blocking-first. Specs verified by those bindings: spec:consumers.spec-studio.diff-page, spec:consumers.spec-studio.diff-page.changed-entry, spec:consumers.spec-studio.glossary-page, spec:consumers.spec-studio.glossary-page.same-word-twice, spec:consumers.spec-studio.navigation, spec:consumers.spec-studio.owner-queue, spec:consumers.spec-studio.owner-queue.dependency-first, spec:consumers.spec-studio.registers, spec:consumers.spec-studio.registers.blocking-first.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | The questions page lists the Specs with a blocking question first (spec:consumers.spec-studio.registers.blocking-first) | passed | 35.62 ms |
| executes the bound example against a fresh world | The owner queue lists a waiting statement after the one it rests on (spec:consumers.spec-studio.owner-queue.dependency-first) | passed | 19.95 ms |
| executes the bound example against a fresh world | The diff page shows a changed entry's base and built values (spec:consumers.spec-studio.diff-page.changed-entry) | passed | 21.64 ms |
| executes the bound example against a fresh world | A word two Specs define appears once per Spec on the glossary page (spec:consumers.spec-studio.glossary-page.same-word-twice) | passed | 8.31 ms |
| renders declaration citations, decision reasons and design backlog from the shipped answers | Studio register pages | passed | 34.81 ms |
| reaches each page in order, marks it current and omits every diff reference without a base | Studio register pages | passed | 10.2 ms |
| refuses malformed base flags and unreadable JSON before extraction | Studio register pages | passed | 1.96 ms |
| refuses a base in generated output before writing through graph | Studio base comparison | passed | 21.29 ms |
| refuses a base in generated output before writing through nested | Studio base comparison | passed | 15.24 ms |
| refuses a base in generated output before writing through file alias | Studio base comparison | passed | 17.97 ms |
| refuses a base in generated output before writing through root alias | Studio base comparison | passed | 6.75 ms |
| refuses a base in generated output before writing through input alias | Studio base comparison | passed | 10.5 ms |
| renders only existing sides for added and removed entries and one value for moved entries | Studio base comparison | passed | 13.63 ms |
| shows per-Pack diagnostics without no-change claims for invalid graph | Studio base comparison | passed | 19.84 ms |
| shows per-Pack diagnostics without no-change claims for different schema | Studio base comparison | passed | 15.35 ms |
| keeps additions, removals, Pack order and anchor bindings apart and escapes compared values | Studio base comparison | passed | 24.48 ms |
| shows unreadable graph values as the recipe's diagnostics on the named diff page | Studio base comparison | passed | 2.54 ms |
| leaves the base file unchanged and certifies repeat publication with the same input | Studio base comparison | passed | 28.52 ms |
| keeps a cycle's round separate from statements that rest on nothing, and lists owner holds | Studio base comparison | passed | 12.27 ms |
| sorts terms without locale collation and keeps non-letter headings addressable | Studio base comparison | passed | 5.74 ms |
| orders queue floor options by rung and carries the Pack and floor on each row | Studio base comparison | passed | 16.78 ms |
| uses authored term keys and orders duplicate terms by Spec id | Studio base comparison | passed | 6.7 ms |
| reads each owner question's provisional reading from its reader Spec and key | not recorded | passed | 9.69 ms |
| renders a keying proposal as one line per keyed entry and readable changed rule text | not recorded | passed | 9.43 ms |
| lists keyed lines in head rule order with rendered text for added, renamed and removed keys | not recorded | passed | 14.46 ms |
| counts keyed rules apart from changed parts, mixed changes: false | not recorded | passed | 6.09 ms |
| counts keyed rules apart from changed parts, mixed changes: true | not recorded | passed | 6.9 ms |
| names one keyed rule in the singular | not recorded | passed | 7.97 ms |
| marks only members with exclusively keyed changes as keyed only | not recorded | passed | 13.49 ms |
| renders changed list values as lists instead of raw JSON arrays | not recorded | passed | 6.06 ms |
| retains the owning list when readable rule text moves to a flow | not recorded | passed | 5.57 ms |
External run evidence from test/studio-s4.test.ts
Test anchors: test:protocol.run-absolute, test:protocol.run-external, test:protocol.run-unjoined, test:protocol.studio-graph-only, test:protocol.studio-inputs-both-given, test:protocol.studio-stamp-apart. Specs verified by those bindings: spec:consumers.spec-studio.data.inputs, spec:consumers.spec-studio.data.inputs.both-given, spec:consumers.spec-studio.data.inputs.graph-only, spec:consumers.spec-studio.runs-page, spec:consumers.spec-studio.runs-page.external-evidence, spec:consumers.spec-studio.sharing, spec:consumers.spec-studio.sharing.stamp-written-apart, spec:observation.run-evidence, spec:observation.run-evidence.absolute-path-joins, spec:observation.run-evidence.unanchored-file-unjoined.
| Name | Suite | Result | Duration |
|---|---|---|---|
| recipe 45 joins normalized paths, preserves records and graph facts, and diagnoses other inputs | not recorded | passed | 32.43 ms |
| renders external run evidence with result rows, metadata, diagnostics and conditional navigation | not recorded | passed | 64.35 ms |
| reads repeated --runs before extraction and leaves input bytes untouched | not recorded | passed | 65.17 ms |
| stamps apart, touches no page, refuses bad sources and removes the stamp on rebuild | not recorded | passed | 33.53 ms |
| executes the bound example against a fresh world | A test whose reporter wrote an absolute path joins its anchored file (spec:observation.run-evidence.absolute-path-joins) | passed | 6.06 ms |
| executes the bound example against a fresh world | A test in a file with no test anchor is reported as unjoined (spec:observation.run-evidence.unanchored-file-unjoined) | passed | 7.32 ms |
| executes the bound example against a fresh world | The runs page shows a run as external evidence from a test file (spec:consumers.spec-studio.runs-page.external-evidence) | passed | 10.49 ms |
| executes the bound example against a fresh world | Without inputs the page set is the graph's alone (spec:consumers.spec-studio.data.inputs.graph-only) | passed | 26.8 ms |
| executes the bound example against a fresh world | Both inputs add their pages, named, and the same inputs write the same bytes (spec:consumers.spec-studio.data.inputs.both-given) | passed | 76.23 ms |
| executes the bound example against a fresh world | The stamp is written beside the page set, and a later build removes it (spec:consumers.spec-studio.sharing.stamp-written-apart) | passed | 31.42 ms |
| the stamp links source locations only after an HTTP stamp loads, encoding path segments | not recorded | passed | 4.11 ms |
| recipe 45 picks the longest suffix and scopes through enabled examples at file grain | not recorded | passed | 8.33 ms |
| ships a reusable preview, disabled by default, and deploys its own pull requests with runs and diff | not recorded | passed | 8.77 ms |
| the tests lens counts file results once per Spec and names every run input | not recorded | passed | 22.51 ms |
| the Pack sentence keeps the graph's binding limit and positively names external evidence | not recorded | passed | 19.64 ms |
| run metadata labels build and branch, and absent fields read not recorded | not recorded | passed | 0.51 ms |
| unjoined records escape outside names and explain both reason codes in words | not recorded | passed | 8.74 ms |
| run files show the file alone, bindings and Suite, with one header per run | not recorded | passed | 8.99 ms |
| recipe 45 does not join a suffix inside a path segment | not recorded | passed | 3.02 ms |
| stamp defaults to unknown and a stamped page set passes check-clean | not recorded | passed | 30.07 ms |
| every reusable preview job's permissions fit the CI caller's grant | not recorded | passed | 15.2 ms |
| PR checks and preview stamps name the same default merge checkout | not recorded | passed | 7.86 ms |
| preview download is optional and cancelled or skipped checks do not call it | not recorded | passed | 7.96 ms |
| deploy checks the enabled Pages source before writing: gh-pages | not recorded | passed | 28.99 ms |
| deploy checks the enabled Pages source before writing: main | not recorded | passed | 34.99 ms |
| deploy checks the enabled Pages source before writing: disabled | not recorded | passed | 11.65 ms |
| deploy succeeds only once Pages publishes the pushed commit: an unrelated errored build is newest | not recorded | passed | 127.2 ms |
| deploy succeeds only once Pages publishes the pushed commit: a retried build follows an errored one | not recorded | passed | 62.59 ms |
| deploy succeeds only once Pages publishes the pushed commit: the build errors | not recorded | passed | 40.96 ms |
| deploy succeeds only once Pages publishes the pushed commit: the commit is never built | not recorded | passed | 902.58 ms |
| deploy succeeds only once Pages publishes the pushed commit: the answer arrives after the wait | not recorded | passed | 1531.29 ms |
| preview still stamps and uploads rendered pages when evidence is absent and validation fails | not recorded | passed | 92.59 ms |
| places external file rows under their verifier and renders shared files once | not recorded | passed | 41.84 ms |
| accepts the preview workflow's base and run flags together | not recorded | passed | 22.06 ms |
| formats external run durations to at most two decimals on every page | not recorded | passed | 21.61 ms |
External run evidence from test/studio-s5.test.ts
Test anchors: test:protocol.studio-export-contained, test:protocol.studio-intent-handoff, test:protocol.studio-intents-refresh, test:protocol.studio-memo-shared, test:protocol.studio-watch-plain. Specs verified by those bindings: spec:consumers.edit-model, spec:consumers.intent-composition, spec:consumers.intent-composition.proposal.memo, spec:consumers.intent-composition.proposal.memo.shared, spec:consumers.spec-studio.components, spec:consumers.spec-studio.export, spec:consumers.spec-studio.export.self-contained, spec:consumers.spec-studio.intent-panel, spec:consumers.spec-studio.intent-panel.refresh-keeps-intents, spec:consumers.spec-studio.publisher.watch, spec:consumers.spec-studio.publisher.watch.matches-plain-run, spec:consumers.spec-studio.responsive.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | Refreshing a tab keeps every gathered intent (spec:consumers.spec-studio.intent-panel.refresh-keeps-intents) | passed | 9.92 ms |
| executes the bound example against a fresh world | Recipe 49 and the composing panel write one memo for one proposal (spec:consumers.intent-composition.proposal.memo.shared) | passed | 4.43 ms |
| executes the bound example against a fresh world | A Pack's export opens alone and keeps its links inside it (spec:consumers.spec-studio.export.self-contained) | passed | 63.32 ms |
| executes the bound example against a fresh world | Each watch cycle writes the page set a plain run writes (spec:consumers.spec-studio.publisher.watch.matches-plain-run) | passed | 124.81 ms |
| keeps unsupported intents apart and expands Pack members only against the stamped base | not recorded | passed | 2.27 ms |
| returns the same schema problems as recipe 38 and renders in any corpus | not recorded | passed | 10.03 ms |
| composes locally without changing source or requesting a network service | not recorded | passed | 1.54 ms |
| keeps the last local intents when storage refuses writes | not recorded | passed | 0.29 ms |
| keeps unsaved local intents when storage remains readable but its quota refuses writes | not recorded | passed | 0.27 ms |
| rewrites SVG and accessibility references without changing subject attributes or authored text | not recorded | passed | 6.38 ms |
| opens disclosures for print and restores exactly their prior state | not recorded | passed | 1.43 ms |
| leaves Mermaid source closed for print unless the reader opened it | not recorded | passed | 1.06 ms |
| stops the actual Studio watch process with exit zero on SIGINT | not recorded | passed | 491.48 ms |
| removes a failed watch publication, keeps watching and recovers on the next carrier edit | not recorded | passed | 33.93 ms |
| ships a phone layout and a print stylesheet for the whole canvas | not recorded | passed | 10.85 ms |
| keeps exports graph-only when the browsing pages receive a base and run records | not recorded | passed | 27 ms |
| starts no cycle for source or input-file events | not recorded | passed | 30.93 ms |
| merges concurrent panels before gathering or discarding and flags rejected storage records | not recorded | passed | 0.6 ms |
| refreshes the browser panel on storage and pageshow and removes those listeners on disconnect | not recorded | passed | 1.47 ms |
| prefills compose with the authored entry text including code spans and no rendered annotations | not recorded | passed | 15.53 ms |
| omits blank exact text and reports whitespace requests in the compose dialog | not recorded | passed | 2.42 ms |
| uses the stamp base, labels fields, orders actions and copies and saves the named documents | not recorded | passed | 5.09 ms |
| copies distinct actions and recorded scopes for both Pack choices without a stamp | not recorded | passed | 2.97 ms |
| keeps Pack framing changes apart and gathers scenario editor steps verbatim | not recorded | passed | 2.66 ms |
| matches the literal memo for the shared proposal, including the full relation and document | not recorded | passed | 0.93 ms |
| keeps the last watch pages when an optional base becomes unreadable, just like a plain run | not recorded | passed | 986.18 ms |
| inlines the selected stylesheet asset in exports and publishes those same style bytes | not recorded | passed | 25.93 ms |
| introduces studio before its watch option and gives recipe 49 a use case | not recorded | passed | 4.36 ms |
| renders edit scenario steps outside inert templates without script | not recorded | passed | 1.08 ms |
| renders propose scenario steps outside inert templates without script | not recorded | passed | 0.72 ms |
| writes both memo reasons as code spans: "<details>Review the design.</details>", "`Keep` the ``literal`` reason`" | not recorded | passed | 0.7 ms |
| writes both memo reasons as code spans: "`Review` the ``design`` reason`", "<details>Keep the change.</details>" | not recorded | passed | 0.43 ms |
| fences requests so their Markdown cannot alter the memo: "Fix a typo.\n<!--" | not recorded | passed | 0.89 ms |
| fences requests so their Markdown cannot alter the memo: "Use this text.\n```\n## Forged heading\n``````\n<!--hidden-->" | not recorded | passed | 0.7 ms |
| contains phone navigation, stamp and wide tables within the viewport | not recorded | passed | 15.39 ms |
| keeps the maturity caption readable and empty cells compact on a phone | not recorded | passed | 7.6 ms |
| aligns maturity cell counts with the empty cell dashes | not recorded | passed | 4.92 ms |
| keeps table headers and one-word cells intact while allowing word-boundary wrapping | not recorded | passed | 7.32 ms |
| keeps natural desktop diagram size and fits only on phones | not recorded | passed | 7.69 ms |
| hides phone scroll advice and closed source in print while keeping opened source printable | not recorded | passed | 18.32 ms |
External run evidence from test/studio-slice.test.ts
Test anchors: test:protocol.studio-slice-architecture, test:protocol.studio-slice-dependency, test:protocol.studio-slice-page. Specs verified by those bindings: spec:consumers.spec-studio.diagram-kinds.dependency, spec:consumers.spec-studio.diagram-kinds.scoped-architecture, spec:consumers.spec-studio.slice-page.
| Name | Suite | Result | Duration |
|---|---|---|---|
| renders the complete answer in order, keeps held examples folded and independent examples separate | slice page | passed | 49.36 ms |
| keeps declared, unreadable and comparison words in their own design cells | slice page | passed | 0.79 ms |
| writes the slice's Pack id as text in exports instead of a relative file path | slice page | passed | 0.61 ms |
| names each manifest member that resolves to no Spec beside the summary | slice page | passed | 20.07 ms |
| uses singular summary nouns and captions that add to the section headings | slice page | passed | 48.54 ms |
| keeps every link inside the complete page set and gives every id one owner | slice page | passed | 59.19 ms |
| names empty architecture and empty sections without inventing bindings | slice page | passed | 0.56 ms |
| stacks the member's next rung before the labelled design and code runs on a phone | slice page | passed | 11.8 ms |
| preserves single-member depths and opens complete text when no height-reducing fold fits | slice dependency drawing | passed | 1.77 ms |
| aggregates boundary arrows before testing the bound, retaining every original relation in text | slice dependency drawing | passed | 4.59 ms |
| points from the Mermaid source disclosure to the full text equivalent | slice dependency drawing | passed | 0.25 ms |
| uses supplied depths, folds its boundary even below the bound, and retains full text and nonordering arrows | slice dependency drawing | passed | 6.63 ms |
| folds largest complete bands first and opens text when protected boundary boxes exceed the bound | slice dependency drawing | passed | 2.61 ms |
| gives repeated scopes distinct fold element ids through their drawing occurrence | slice dependency drawing | passed | 4.41 ms |
| keeps synthetic boundary identifiers out of the visible box identity line | slice dependency drawing | passed | 1.83 ms |
| gives context and layer folds distinct ids and preserves all original rows | scoped architecture drawing | passed | 13.49 ms |
| keeps planned and anchored identities apart, folds outside context and retains original unit edges | scoped architecture drawing | passed | 8.2 ms |
| names uses, planned uses and realization in the legend and labels links only when a realization is drawn | scoped architecture drawing | passed | 5.22 ms |
| renders question fields as linked prose and dependency titles as plain text | not recorded | passed | 0.59 ms |
| combines relations on one ordered pair while retaining every original text row | not recorded | passed | 0.7 ms |
External run evidence from test/testing.test.ts
Test anchors: test:protocol.runnable-modules. Specs verified by those bindings: spec:extraction.runnable-modules.
| Name | Suite | Result | Duration |
|---|---|---|---|
| compares Spec Then params, oracle payload, and the observed outcome before assertions | generated registrar testing runtime | passed | 2.03 ms |
| invokes the scenario-level product call only once across repeated When steps | generated registrar testing runtime | passed | 0.81 ms |
| renders the matching contract step for a Spec/oracle payload mismatch | generated registrar testing runtime | passed | 0.84 ms |
| stops before domain assertions when observation disagrees with the oracle | generated registrar testing runtime | passed | 1.03 ms |
| emits a scenario diagnostic when the oracle selects no authored Then | generated registrar testing runtime | passed | 0.31 ms |
| refuses incomplete-point comparison at Then without calling the oracle | generated registrar testing runtime | passed | 0.46 ms |
External run evidence from test/upgrade-kit.test.ts
Test anchors: test:protocol.capability-adoption.counts-a-corpus, test:protocol.rule-key-proposal.collision-and-unkeyable, test:protocol.rule-key-proposal.proposal-applies-clean, test:protocol.upgrade-guide. Specs verified by those bindings: spec:consumers.upgrade-kit, spec:consumers.upgrade-kit.capability-adoption, spec:consumers.upgrade-kit.capability-adoption.counts-a-corpus, spec:consumers.upgrade-kit.rule-key-proposal, spec:consumers.upgrade-kit.rule-key-proposal.collision-and-unkeyable, spec:consumers.upgrade-kit.rule-key-proposal.proposal-applies-clean.
| Name | Suite | Result | Duration |
|---|---|---|---|
| applies unchanged scopes while sending only moved changes to a person | upgrade kit | passed | 2.69 ms |
| names a carrying Spec in every guide section | upgrade kit | passed | 0.66 ms |
| teaches the upgrade steps in the pinned order | upgrade kit | passed | 1.11 ms |
| teaches epic reparenting and advisory roadmap adoption | upgrade kit | passed | 0.5 ms |
| runs the guide's rules file on a clean corpus with no address parameters | upgrade kit | passed | 22.82 ms |
| names the recipes' carrying Specs and teaches rule-key proposal as the rule-key action | upgrade kit | passed | 1.68 ms |
| ships the guide and names every reported capability's law and measurement | upgrade kit | passed | 13.26 ms |
| counts rules, reasons and unknown external perspectives | upgrade kit | passed | 7.81 ms |
| coins collisions and lists an unkeyable entry | upgrade kit | passed | 4.95 ms |
| executes the bound example against a fresh world | Capability adoption counts keyed rules and reasoned relations (spec:consumers.upgrade-kit.capability-adoption.counts-a-corpus) | passed | 7.51 ms |
| executes the bound example against a fresh world | A rule-key proposal passes the proposal check and validates once applied (spec:consumers.upgrade-kit.rule-key-proposal.proposal-applies-clean) | passed | 14.93 ms |
| executes the bound example against a fresh world | Two rules that coin one key stay apart, and a rule with no ASCII word stays unkeyed (spec:consumers.upgrade-kit.rule-key-proposal.collision-and-unkeyable) | passed | 13.14 ms |
| counts distinct step skeletons and vocabulary keys inherited through refines | capability adoption details | passed | 14.92 ms |
| counts distinct step skeletons and vocabulary keys inherited through verifies | capability adoption details | passed | 5.93 ms |
| counts repeated vocabulary and example steps once per skeleton within a Spec | capability adoption details | passed | 1.83 ms |
| counts all capabilities and deduplicates shared components and repeated Pack members | capability adoption details | passed | 14.29 ms |
| diagnoses detail null | capability adoption details | passed | 3.74 ms |
| diagnoses detail 1 | capability adoption details | passed | 2.14 ms |
| diagnoses detail "all" | capability adoption details | passed | 1.93 ms |
| diagnoses detail {} | capability adoption details | passed | 1.91 ms |
| diagnoses detail "spec:missing" | capability adoption details | passed | 1.91 ms |
| diagnoses detail true | capability adoption details | passed | 1.85 ms |
| drops possessives and apostrophes before coining keys | rule-key proposal details | passed | 2.22 ms |
| preserves scope and entry order and skips existing keys and tags | rule-key proposal details | passed | 12.48 ms |
| diagnoses both scopes even when each resolves | rule-key proposal details | passed | 2.12 ms |
| diagnoses invalid parameters {} | rule-key proposal details | passed | 1.94 ms |
| diagnoses invalid parameters {"commit":""} | rule-key proposal details | passed | 1.99 ms |
| diagnoses invalid parameters {"commit":1} | rule-key proposal details | passed | 1.91 ms |
| diagnoses invalid parameters {"commit":"abc","pack":"pack:missing"} | rule-key proposal details | passed | 1.81 ms |
| diagnoses invalid parameters {"commit":"abc","specs":["spec:missing"]} | rule-key proposal details | passed | 1.85 ms |
| diagnoses invalid parameters {"commit":"abc","specs":[],"pack":"pack:missing"} | rule-key proposal details | passed | 3.9 ms |
| diagnoses invalid parameters {"commit":"abc","specs":"all"} | rule-key proposal details | passed | 1.84 ms |
| drops leading digit words before checking word repeats | not recorded | passed | 1.97 ms |
External run evidence from test/validator-audit.test.ts
Test anchors: test:protocol.validator-self-testing.duplicate-pair-named, test:protocol.validator-self-testing.overeager-check-named, test:protocol.validator-self-testing.shipped-checks-paired, test:protocol.validator-self-testing.silent-check-named, test:protocol.validator-self-testing.unpaired-check-named, test:protocol.validator-self-testing.unregistered-id-named. Specs verified by those bindings: spec:validation.validator-self-testing, spec:validation.validator-self-testing.duplicate-pair-named, spec:validation.validator-self-testing.overeager-check-named, spec:validation.validator-self-testing.shipped-checks-paired, spec:validation.validator-self-testing.silent-check-named, spec:validation.validator-self-testing.unpaired-check-named, spec:validation.validator-self-testing.unregistered-id-named.
| Name | Suite | Result | Duration |
|---|---|---|---|
| executes the bound example against a fresh world | Every shipped check reports its refusing probe and leaves its near miss alone (spec:validation.validator-self-testing.shipped-checks-paired) | passed | 112.97 ms |
| executes the bound example against a fresh world | A check that stops reporting is named silent (spec:validation.validator-self-testing.silent-check-named) | passed | 46.66 ms |
| executes the bound example against a fresh world | A check that reports its near miss is named overeager (spec:validation.validator-self-testing.overeager-check-named) | passed | 42.3 ms |
| executes the bound example against a fresh world | A registered check without a probe pair is named unpaired (spec:validation.validator-self-testing.unpaired-check-named) | passed | 45.52 ms |
| executes the bound example against a fresh world | A check paired twice is named (spec:validation.validator-self-testing.duplicate-pair-named) | passed | 90.29 ms |
| executes the bound example against a fresh world | A finding id the source writes outside every registry is named (spec:validation.validator-self-testing.unregistered-id-named) | passed | 64.41 ms |
| reads all literal quote forms, ignores comments, and locates incomplete ids | not recorded | passed | 1.44 ms |
| names stray pairs, runtime-only ids and unresolved source locations, once and sorted | not recorded | passed | 0.26 ms |
External run evidence from test/validators.test.ts
Test anchors: test:protocol.prose-mentions. Specs verified by those bindings: spec:validation.prose-mentions.
| Name | Suite | Result | Duration |
|---|---|---|---|
| reports referential integrity across relations, pack members, modelRefs, and bindings | graph validators | passed | 6.14 ms |
| offers a "did you mean" suggestion only when one nearest id is unambiguous (L2) | graph validators | passed | 1.2 ms |
| reports duplicate node ids — the graph backstop behind the extractor's per-site errors | graph validators | passed | 1.17 ms |
| keeps the claim taxonomy uncollapsed: a declared satisfies edge violates the edge contract | graph validators | passed | 0.53 ms |
| admits no inferred edge on the ratified edge types: the claim ships designed-in and empty | graph validators | passed | 0.68 ms |
| rejects a node claim its nodeType never carries | graph validators | passed | 0.4 ms |
| rejects wrong-kind endpoints on the kind-typed relations — constrainedBy, decidedBy, supersedes | graph validators | passed | 0.89 ms |
| accepts the valid kind-typed relation shapes — rule/constraint bounds, a decision decider, decision supersedes decision | graph validators | passed | 0.58 ms |
| fails the anchors-resolve ready clause when a binding edge has no binding node behind it | graph validators | passed | 0.68 ms |
| reports a readiness-floor failure with the spec id, stated rung, and failing clause | graph validators | passed | 0.7 ms |
| surfaces the gap only while no verifier resolves — a derived fact silences it, a stated one never does | graph validators | passed | 1.16 ms |
| exempts decision-kind Specs from the gap signal while other kinds still warn | graph validators | passed | 0.49 ms |
| never lets an anchored verifies edge from a non-Anchor source enable an example — fail closed | graph validators | passed | 0.99 ms |
| refuses an oracle Anchor as the test binding for a direct verifier | graph validators | passed | 2.54 ms |
| refuses an oracle Anchor as the test binding for a example verifier | graph validators | passed | 1.03 ms |
| confers satisfies only when the duplicate target's first node is a Primitive | graph validators | passed | 1.19 ms |
| confers direct verifies only when the duplicate target's first node is a Primitive | graph validators | passed | 1.32 ms |
| confers example verifies only when the duplicate target's first node is a Primitive | graph validators | passed | 2.59 ms |
| rejects stated delivery facts the graph does not earn — derived, never authored | graph validators | passed | 0.37 ms |
| rejects an omitted delivery fact the graph's resolving bindings derive | graph validators | passed | 0.46 ms |
| fails closed on unratified descriptor values — a conformance error, never a crash or a silent floor skip | graph validators | passed | 0.37 ms |
| returns a valid empty aggregate report without throwing | graph validators | passed | 0.22 ms |
| composes cleanly over a valid non-empty model with bindings, a pack, and a model-kind modelRef | graph validators | passed | 0.72 ms |
| reports nothing when every listed member has its one edge and every edge is listed | conformance/pack-coherence — the members list and the belongsTo edges agree | passed | 0.3 ms |
| names a listed member with no belongsTo edge into the pack | conformance/pack-coherence — the members list and the belongsTo edges agree | passed | 0.3 ms |
| names a belongsTo edge whose source the members do not list | conformance/pack-coherence — the members list and the belongsTo edges agree | passed | 0.23 ms |
| names a listed member that is no Spec when no edge carries it, and defers to the edge contract when one does | conformance/pack-coherence — the members list and the belongsTo edges agree | passed | 0.62 ms |
| leaves an absent listed member whose edge dangles to referential integrity | conformance/pack-coherence — the members list and the belongsTo edges agree | passed | 0.53 ms |
| leaves an unlisted belongsTo edge from an absent source to referential integrity | conformance/pack-coherence — the members list and the belongsTo edges agree | passed | 0.4 ms |
| leaves an unlisted belongsTo edge from a CodeNode to the edge contract | conformance/pack-coherence — the members list and the belongsTo edges agree | passed | 0.33 ms |
| names both membership counts when one listed member has two belongsTo edges | conformance/pack-coherence — the members list and the belongsTo edges agree | passed | 0.29 ms |
| keeps the duplicate rule: a repeated member is named once, in authored order, with its count | conformance/pack-coherence — the members list and the belongsTo edges agree | passed | 0.38 ms |
| passes on its contract row (anchored, Anchor → Primitive) and confers no delivery fact | the models edge — the oracle anchor's contract row | passed | 0.42 ms |
| rejects a declared claim on a models edge — the claim taxonomy is never collapsed | the models edge — the oracle anchor's contract row | passed | 0.36 ms |
| rejects an oracle target that does not own a behavior example space | the models edge — the oracle anchor's contract row | passed | 0.34 ms |
| rejects competing oracle anchors for one parent example space | the models edge — the oracle anchor's contract row | passed | 0.36 ms |
| rejects a models edge whose Anchor does not use the oracle namespace | the models edge — the oracle anchor's contract row | passed | 0.39 ms |
| accepts a rule-kind oracle target when the rule owns an example space | the models edge — the oracle anchor's contract row | passed | 0.25 ms |
| rejects a models edge from a non-Anchor source — the endpoints are typed | the models edge — the oracle anchor's contract row | passed | 0.24 ms |
| flags a dangling models target through referential integrity, like every edge | the models edge — the oracle anchor's contract row | passed | 0.32 ms |
| refuses a malformed token with the id grammar's own reason | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.69 ms |
| refuses a missing target and suggests the unique nearest id | conformance/prose-mentions — prose mentions and their entry addresses | passed | 1.63 ms |
| refuses a missing target without a suggestion on a tie, once per path and distinct token | conformance/prose-mentions — prose mentions and their entry addresses | passed | 1.57 ms |
| refuses an entry address whose key the target's section does not hold | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.62 ms |
| never resolves an address to a section's description | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.46 ms |
| resolves to an open question that carries the key, beside unkeyed and prose questions | conformance/prose-mentions — prose mentions and their entry addresses > a question address | passed | 6.21 ms |
| fails every mention of an old address once its key is renamed | conformance/prose-mentions — prose mentions and their entry addresses > a question address | passed | 0.56 ms |
| finds no entry on a Spec whose questions carry no key, or that has none | conformance/prose-mentions — prose mentions and their entry addresses > a question address | passed | 0.44 ms |
| reads question keys only, never the Design or UI keys of the Spec | conformance/prose-mentions — prose mentions and their entry addresses > a question address | passed | 0.31 ms |
| treats description as an ordinary question key | conformance/prose-mentions — prose mentions and their entry addresses > a question address | passed | 0.4 ms |
| refuses a question address with a key off the grammar by the id grammar's reason | conformance/prose-mentions — prose mentions and their entry addresses > a question address | passed | 0.25 ms |
| checks a self-address for its entry and never warns on it | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.39 ms |
| warns once for a pair across three locations, first in scan order | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.5 ms |
| writes one location in the singular | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.28 ms |
| lets a declared relation in the reverse direction back the mention | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.19 ms |
| counts an address mention toward its pair, resolved or not | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.3 ms |
| never scans the gwt and gwt-vocabulary fences, and skips them by position only | conformance/prose-mentions — prose mentions and their entry addresses | passed | 2.96 ms |
| keeps authored order inside an object nested in design, so a nested description is not read first | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.27 ms |
| keeps authored order inside an object nested in ui, so a nested description is not read first | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.19 ms |
| scans arrays nested in behavior examples, as the mention audit does | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.25 ms |
| still warns on a pair joined only by an edge whose claim is anchored | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.34 ms |
| still warns on a pair joined only by an edge whose claim is inferred | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.17 ms |
| resolves an address only to an own key, never an inherited one | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.22 ms |
| puts the pair warning's first path in authored entry order, with description first | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.3 ms |
| puts the pair warning's first path in a description authored after another mentioning entry, with description first | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.17 ms |
| suggests the nearest Spec id for a missing target written as an address | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.22 ms |
| reads the whole token through an underscore and refuses it, never the existing prefix | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.26 ms |
| reads the whole token through an underscore and a letter and refuses it, never the existing prefix | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.18 ms |
| reads the whole token through a slash and refuses it, never the existing prefix | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.18 ms |
| reads the whole token through a slash and a letter and refuses it, never the existing prefix | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.16 ms |
| reads the whole token through a comma and refuses it, never the existing prefix | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.16 ms |
| reads the whole token through a comma and a letter and refuses it, never the existing prefix | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.15 ms |
| reads the whole token through a letter outside ASCII and refuses it, never the existing prefix | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.16 ms |
| reads the whole token through an escaped underscore and refuses it, never the existing prefix | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.16 ms |
| reads the whole token through a combining mark and refuses it, never the existing prefix | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.67 ms |
| reads the whole token through a combining mark after an entry key and refuses it, never the existing prefix | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.24 ms |
| reads the whole token through a zero-width space and refuses it, never the existing prefix | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.17 ms |
| reads the whole token through fullwidth connector punctuation and refuses it, never the existing prefix | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.17 ms |
| reads the whole token through a NUL and refuses it, never the existing prefix | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.16 ms |
| reads the whole token through an escape character and refuses it, never the existing prefix | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.17 ms |
| reads the whole token through a delete character and refuses it, never the existing prefix | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.2 ms |
| reads the whole token through a C1 control character and refuses it, never the existing prefix | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.17 ms |
| reads the whole token through a hyphenated entry key and refuses it, never the existing prefix | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.19 ms |
| reads the whole token through an entry suffix with no key and refuses it, never the existing prefix | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.17 ms |
| reads the whole token through an entry suffix outside design, ui, question, and rule and refuses it, never the existing prefix | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.15 ms |
| reads the clean id through Markdown punctuation: a sentence dot | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.2 ms |
| reads the clean id through Markdown punctuation: a comma | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.16 ms |
| reads the clean id through Markdown punctuation: a colon | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.28 ms |
| reads the clean id through Markdown punctuation: a closing parenthesis | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.19 ms |
| reads the clean id through Markdown punctuation: bold | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.15 ms |
| reads the clean id through Markdown punctuation: emphasis | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.13 ms |
| reads the clean id through Markdown punctuation: strikethrough | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.13 ms |
| reads the clean id through Markdown punctuation: backticks | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.15 ms |
| reads the clean id through Markdown punctuation: ASCII double quotes | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.17 ms |
| reads the clean id through Markdown punctuation: ASCII single quotes | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.17 ms |
| reads the clean id through Markdown punctuation: typographic double quotes | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.16 ms |
| reads the clean id through Markdown punctuation: typographic single quotes | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.15 ms |
| reads the clean id through Markdown punctuation: an em dash | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.15 ms |
| reads the clean id through Markdown punctuation: an en dash | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.16 ms |
| reads the clean id through Markdown punctuation: an ellipsis | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.17 ms |
| reads the clean id through Markdown punctuation: an escaped star | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.16 ms |
| reads the clean id through Markdown punctuation: an escaped exclamation mark | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.16 ms |
| reads the clean id through Markdown punctuation: U+0085 | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.15 ms |
| reads the clean id through Markdown punctuation: a no-break space | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.15 ms |
| reads the clean id through Markdown punctuation: a tab | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.15 ms |
| reads the clean id through Markdown punctuation: an arrow | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.17 ms |
| reads a placeholder or a bare prefix as prose, not a mention | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.36 ms |
| strips a sentence-final dot from a token | conformance/prose-mentions — prose mentions and their entry addresses | passed | 0.25 ms |
External run evidence from test/vault-examples.test.ts
Test anchors: test:protocol.consumers.obsidian-vault.bases.views-match-sources, test:protocol.consumers.obsidian-vault.changed-note-refused, test:protocol.consumers.obsidian-vault.failed-extraction-keeps-notes, test:protocol.consumers.obsidian-vault.failed-extraction-recovered, test:protocol.consumers.obsidian-vault.fresh-vault, test:protocol.consumers.obsidian-vault.hidden-file-refused, test:protocol.consumers.obsidian-vault.interrupted-run-recovered, test:protocol.consumers.obsidian-vault.iteration.watch-rewrites-changed-notes, test:protocol.consumers.obsidian-vault.iteration.watch-source-anchor, test:protocol.consumers.obsidian-vault.notes.case-collision-refused, test:protocol.consumers.obsidian-vault.notes.entry-address-link, test:protocol.consumers.obsidian-vault.notes.term-address-link, test:protocol.consumers.obsidian-vault.notes.unresolved-mention-stays, test:protocol.consumers.obsidian-vault.person-notes-survive, test:protocol.consumers.obsidian-vault.unknown-note-refused, test:protocol.consumers.obsidian-vault.vault-in-build-path-refused. Specs verified by those bindings: spec:consumers.obsidian-vault, spec:consumers.obsidian-vault.bases, spec:consumers.obsidian-vault.bases.views-match-sources, spec:consumers.obsidian-vault.changed-note-refused, spec:consumers.obsidian-vault.failed-extraction-keeps-notes, spec:consumers.obsidian-vault.failed-extraction-recovered, spec:consumers.obsidian-vault.fresh-vault, spec:consumers.obsidian-vault.hidden-file-refused, spec:consumers.obsidian-vault.interrupted-run-recovered, spec:consumers.obsidian-vault.iteration, spec:consumers.obsidian-vault.iteration.watch-rewrites-changed-notes, spec:consumers.obsidian-vault.iteration.watch-source-anchor, spec:consumers.obsidian-vault.notes, spec:consumers.obsidian-vault.notes.case-collision-refused, spec:consumers.obsidian-vault.notes.entry-address-link, spec:consumers.obsidian-vault.notes.term-address-link, spec:consumers.obsidian-vault.notes.unresolved-mention-stays, spec:consumers.obsidian-vault.person-notes-survive, spec:consumers.obsidian-vault.unknown-note-refused, spec:consumers.obsidian-vault.vault-in-build-path-refused.
| Name | Suite | Result | Duration |
|---|---|---|---|
| keeps incomplete oracle points unspecified | not recorded | passed | 1.97 ms |
| executes the bound example against a fresh world | A fresh vault is written the same way twice and every link resolves (spec:consumers.obsidian-vault.fresh-vault) | passed | 40.74 ms |
| executes the bound example against a fresh world | A regeneration removes a note that left the graph and keeps a person's notes (spec:consumers.obsidian-vault.person-notes-survive) | passed | 21.7 ms |
| executes the bound example against a fresh world | A note a person wrote inside the generated folder refuses the regeneration (spec:consumers.obsidian-vault.unknown-note-refused) | passed | 5.97 ms |
| executes the bound example against a fresh world | A generated note a person changed refuses the regeneration and keeps the edit (spec:consumers.obsidian-vault.changed-note-refused) | passed | 5.29 ms |
| executes the bound example against a fresh world | A person's file under a temporary's name refuses the regeneration (spec:consumers.obsidian-vault.hidden-file-refused) | passed | 6.73 ms |
| executes the bound example against a fresh world | A vault directory the build removes refuses the run and keeps a person's notes (spec:consumers.obsidian-vault.vault-in-build-path-refused) | passed | 1.17 ms |
| executes the bound example against a fresh world | A run after a stopped synchronization finishes it (spec:consumers.obsidian-vault.interrupted-run-recovered) | passed | 34.66 ms |
| executes the bound example against a fresh world | A failed extraction keeps the notes and says so on the index (spec:consumers.obsidian-vault.failed-extraction-keeps-notes) | passed | 12.45 ms |
| executes the bound example against a fresh world | The run after a failed extraction passes the guard and restores the index (spec:consumers.obsidian-vault.failed-extraction-recovered) | passed | 22.28 ms |
| executes the bound example against a fresh world | An entry address in prose opens the entry's block in its Spec's note (spec:consumers.obsidian-vault.notes.entry-address-link) | passed | 14.02 ms |
| executes the bound example against a fresh world | A mention of an entry that does not exist stays as written (spec:consumers.obsidian-vault.notes.unresolved-mention-stays) | passed | 9.02 ms |
| executes the bound example against a fresh world | A keyed Model term gets a note, and its address in prose opens the term's block (spec:consumers.obsidian-vault.notes.term-address-link) | passed | 11.72 ms |
| executes the bound example against a fresh world | Two Specs whose notes differ only in case refuse the run (spec:consumers.obsidian-vault.notes.case-collision-refused) | passed | 2.38 ms |
| executes the bound example against a fresh world | Each standing view selects what its source selects (spec:consumers.obsidian-vault.bases.views-match-sources) | passed | 30.9 ms |
| executes the bound example against a fresh world | A carrier edit under watch rewrites only the notes it changes (spec:consumers.obsidian-vault.iteration.watch-rewrites-changed-notes) | passed | 486.87 ms |
| executes the bound example against a fresh world | An anchor added in a source file under watch rewrites the Spec's note (spec:consumers.obsidian-vault.iteration.watch-source-anchor) | passed | 626.34 ms |
External run evidence from test/vault.test.ts
Test anchors: test:protocol.vault-priority. Specs verified by those bindings: spec:consumers.obsidian-vault.notes.
| Name | Suite | Result | Duration |
|---|---|---|---|
| writes a fresh vault from the CLI | not recorded | passed | 26.34 ms |
| changes the Pack note's meaning when only advisory priority changes | not recorded | passed | 8.17 ms |
| refuses vault placement generated/graph.json before the build changes anything | not recorded | passed | 1.72 ms |
| refuses vault placement generated/graph.json.tmp before the build changes anything | not recorded | passed | 1.36 ms |
| refuses vault placement generated/contracts before the build changes anything | not recorded | passed | 1.32 ms |
| refuses vault placement generated/contracts.tmp before the build changes anything | not recorded | passed | 1.25 ms |
| refuses vault placement generated/registrars.json before the build changes anything | not recorded | passed | 1.11 ms |
| refuses vault placement generated/registrars.json.tmp before the build changes anything | not recorded | passed | 1.12 ms |
| refuses vault placement generated/imports.json before the build changes anything | not recorded | passed | 1.34 ms |
| refuses vault placement generated/imports.json.tmp before the build changes anything | not recorded | passed | 1.32 ms |
| refuses vault placement generated/design-review before the build changes anything | not recorded | passed | 1.28 ms |
| refuses vault placement generated/design-review.tmp before the build changes anything | not recorded | passed | 1.33 ms |
| refuses vault placement generated/census before the build changes anything | not recorded | passed | 2.11 ms |
| refuses vault placement generated/census.tmp before the build changes anything | not recorded | passed | 1.52 ms |
| refuses vault placement generated/mermaid before the build changes anything | not recorded | passed | 1.37 ms |
| refuses vault placement generated/mermaid.tmp before the build changes anything | not recorded | passed | 1.36 ms |
| refuses vault placement generated/gherkin before the build changes anything | not recorded | passed | 1.38 ms |
| refuses vault placement generated/gherkin.tmp before the build changes anything | not recorded | passed | 1.43 ms |
| refuses vault placement generated/spec-studio before the build changes anything | not recorded | passed | 3.96 ms |
| refuses vault placement generated/spec-studio.tmp before the build changes anything | not recorded | passed | 7.58 ms |
| refuses vault placement generated/Design-Review before the build changes anything | not recorded | passed | 1.22 ms |
| refuses vault placement generated/CONTRACTS/new before the build changes anything | not recorded | passed | 1.1 ms |
| refuses vault placement generated before the build changes anything | not recorded | passed | 0.95 ms |
| refuses vault placement . before the build changes anything | not recorded | passed | 1 ms |
| refuses discoverable notes before the build | not recorded | passed | 1.15 ms |
| refuses discoverable src/vault before the build | not recorded | passed | 0.93 ms |
| accepts an explicitly excluded vault and a vault outside the extraction root | not recorded | passed | 12.81 ms |
| refuses invalid vault options "--root" | not recorded | passed | 0.21 ms |
| refuses invalid vault options "--out" | not recorded | passed | 0.07 ms |
| refuses invalid vault options "--root" | not recorded | passed | 0.05 ms |
| refuses invalid vault options "--out" | not recorded | passed | 0.04 ms |
| refuses invalid vault options "--root" | not recorded | passed | 0.04 ms |
| refuses invalid vault options "--out" | not recorded | passed | 0.24 ms |
| refuses invalid vault options "." | not recorded | passed | 0.07 ms |
| refuses invalid vault options "--root" | not recorded | passed | 0.05 ms |
| refuses invalid vault options "--check-clean" | not recorded | passed | 0.05 ms |
| refuses invalid vault options "--vault" | not recorded | passed | 0.04 ms |
| refuses invalid vault options "--wat" | not recorded | passed | 0.04 ms |
| rejects malformed lists, including duplicate and reordered paths | not recorded | passed | 2.33 ms |
| guards hidden unknowns, changed notes, links and special files without cleanup | not recorded | passed | 12.24 ms |
| refuses a symlink as the generated folder | not recorded | passed | 0.57 ms |
| recognizes a complete interrupted note and refuses a truncated temporary | not recorded | passed | 4.62 ms |
| escapes Obsidian constructs and preserves other code spans | not recorded | passed | 3.83 ms |
| renders unresolved relation ends and missing exercised rules as code | not recorded | passed | 5.3 ms |
| puts subject findings on notes and every other finding on the index | not recorded | passed | 3.15 ms |
| keeps build outputs untouched on a case collision | not recorded | passed | 3.15 ms |
| makes generate refuse an edited vault before invalidating any root | not recorded | passed | 15.43 ms |
| uses --vault for generate and leaves it alone in check mode | not recorded | passed | 90.18 ms |
| preserves literal backslashes before escaped Obsidian constructs | not recorded | passed | 0.28 ms |
| orders integer-looking file-list paths by code units | not recorded | passed | 0.35 ms |
| vault preserves a note saved during extraction | not recorded | passed | 14.32 ms |
| generate preserves a note saved during extraction | not recorded | passed | 10.82 ms |
| vault preserves a note saved during failed extraction | not recorded | passed | 9.34 ms |
| generate preserves a note saved during failed extraction | not recorded | passed | 10.43 ms |
| rejects stale synchronization state before writing a transitional list | not recorded | passed | 1.44 ms |
| keeps rule block ids separate from example-space prose | not recorded | passed | 3.29 ms |
| rejects links whose target block id has a lazy paragraph continuation | not recorded | passed | 1.27 ms |
| refuses case collisions in family directories before changing any file | not recorded | passed | 2.45 ms |
| vault renders only extraction errors in the failed index | not recorded | passed | 5.24 ms |
| generate renders only extraction errors in the failed index | not recorded | passed | 3.35 ms |
| prunes every empty directory under sdp after removing stale notes | not recorded | passed | 4.17 ms |
| refuses a vault holding a prior registrar sibling before the build | not recorded | passed | 2.14 ms |
| wraps the generate help paragraph within the established width | not recorded | passed | 0.23 ms |
External run evidence from test/vitest-adapter.test.ts
Test anchors: test:protocol.example-runner-cleanup. Specs verified by those bindings: spec:extraction.example-runner.
| Name | Suite | Result | Duration |
|---|---|---|---|
| awaits cleanup after a failing step, cleanup also fails: false | not recorded | passed | 2.47 ms |
| awaits cleanup after a failing step, cleanup also fails: true | not recorded | passed | 0.37 ms |
| fails with cleanup's error when the steps pass | not recorded | passed | 0.27 ms |
| awaits cleanup after passing steps | not recorded | passed | 0.56 ms |
| preserves a factory failure without invoking cleanup | not recorded | passed | 0.66 ms |
Unjoined records
- annotation-forms: a comment-form file that imports nothing and a constant-form file on the anchors subpath derive one clean graph ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/anchor-corpora.test.ts· passed · no test anchor in that file - annotation-refusals: every refusal of the two forms reports once and withholds its anchor ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/anchor-corpora.test.ts· passed · no test anchor in that file - reifies the constant form with plural targets through the anchors subpath ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/anchor-forms.test.ts· passed · no test anchor in that file - reifies the comment form from a file that imports nothing, at the block's first line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/anchor-forms.test.ts· passed · no test anchor in that file - gives identical graph data to identical content in either form ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/anchor-forms.test.ts· passed · no test anchor in that file - reads every top-level /** block: above an import, several before one statement, after the last, alone in a file ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/anchor-forms.test.ts· passed · no test anchor in that file - refuses a reserved tag in a nested position and never reads a non-doc comment ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/anchor-forms.test.ts· passed · no test anchor in that file - refuses a reserved tag in a JSX expression and reads nothing from JSX text ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/anchor-forms.test.ts· passed · no test anchor in that file - refuses a misspelled reserved tag rather than reading it as prose ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/anchor-forms.test.ts· passed · no test anchor in that file - reports the same duplicate id across the two forms ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/anchor-forms.test.ts· passed · no test anchor in that file - ignores consumer-local modules whose relative names resemble Protocol builders ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/anchor-trust.test.ts· passed · no test anchor in that file - recognizes deep relative imports only when they resolve to the Protocol builder modules ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/anchor-trust.test.ts· passed · no test anchor in that file - trusts the zero-dependency anchors subpath exactly as the bare specifier ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/anchor-trust.test.ts· passed · no test anchor in that file - continues to recognize package imports in consumer repositories ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/anchor-trust.test.ts· passed · no test anchor in that file - builds to a module whose import closure is relative only: no node: specifier, no ts-morph, no dependency ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/anchors-subpath.test.ts· passed · no test anchor in that file - is published as an ESM subpath with its own types ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/anchors-subpath.test.ts· passed · no test anchor in that file - lists side-effect, transitive, and named external imports that the relative-only predicate rejects ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/anchors-subpath.test.ts· passed · no test anchor in that file - reads a spaced, commented, or attributed form, and never a call spelled in a string ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/anchors-subpath.test.ts· passed · no test anchor in that file - diagnoses malformed parameters {} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/architecture-recipes.test.ts· passed · no test anchor in that file - diagnoses malformed parameters {"forbidden":[{"from":"wrong","to":"domain"}]} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/architecture-recipes.test.ts· passed · no test anchor in that file - diagnoses malformed parameters {"isolated":["Bad"]} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/architecture-recipes.test.ts· passed · no test anchor in that file - diagnoses malformed parameters {"isolated":[],"severity":"info"} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/architecture-recipes.test.ts· passed · no test anchor in that file - diagnoses malformed parameters {"forbidden":false} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/architecture-recipes.test.ts· passed · no test anchor in that file - diagnoses malformed parameters {"isolated":"platform"} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/architecture-recipes.test.ts· passed · no test anchor in that file - diagnoses malformed parameters {"forbidden":null} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/architecture-recipes.test.ts· passed · no test anchor in that file - diagnoses malformed parameters {"isolated":null} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/architecture-recipes.test.ts· passed · no test anchor in that file - diagnoses malformed parameters {"isolated":[],"severity":null} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/architecture-recipes.test.ts· passed · no test anchor in that file - answers unknown names before checking values ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/architecture-recipes.test.ts· passed · no test anchor in that file - resolves members, deduplicates rules and sorts both breaches ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/architecture-recipes.test.ts· passed · no test anchor in that file - sorts findings and unclassified edges independently of insertion order ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/architecture-recipes.test.ts· passed · no test anchor in that file - reports missing components and attributes apart, ignoring same-component uses ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/architecture-recipes.test.ts· passed · no test anchor in that file - reads matching 2-backtick opening spans for every component design value ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/architecture-recipes.test.ts· passed · no test anchor in that file - reads matching 3-backtick opening spans for every component design value ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/architecture-recipes.test.ts· passed · no test anchor in that file - refuses any parameter name ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/architecture-recipes.test.ts· passed · no test anchor in that file - compares opening spans, role, context and the uses set ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/architecture-recipes.test.ts· passed · no test anchor in that file - sorts differing fields and unrealized designs independently of insertion order ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/architecture-recipes.test.ts· passed · no test anchor in that file - deduplicates padded uses and skips unstated fields ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/architecture-recipes.test.ts· passed · no test anchor in that file - does not count unreadable realized designs as matching ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/architecture-recipes.test.ts· passed · no test anchor in that file - lists an existing but unbound anchor and preserves unstated uses ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/architecture-recipes.test.ts· passed · no test anchor in that file - recognizes component IDs with the stable-ID path grammar ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/architecture-recipes.test.ts· passed · no test anchor in that file - resolves the package name through the Vitest alias ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/bootstrap.test.ts· passed · no test anchor in that file - keeps the expected package.json bootstrap shape ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/bootstrap.test.ts· passed · no test anchor in that file - reifies a TypeScript carrier and derives a graph through the public root ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/bootstrap.test.ts· passed · no test anchor in that file - returns a syntax finding while a healthy TypeScript sibling remains usable ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/bootstrap.test.ts· passed · no test anchor in that file - returns a finding for unsupported Markdown carrier content ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/bootstrap.test.ts· passed · no test anchor in that file - fails for banned content in a nonignored untracked file ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/check-temporal.test.ts· passed · no test anchor in that file - does not scan ignored generated output ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/check-temporal.test.ts· passed · no test anchor in that file - accepts an in-repository directory symlink when its canonical files are tracked ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/check-temporal.test.ts· passed · no test anchor in that file - fails closed when a tracked symlink escapes the repository ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/check-temporal.test.ts· passed · no test anchor in that file - keeps each explicit temporal genre exclusion ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/check-temporal.test.ts· passed · no test anchor in that file - exempts tracked orchestration genres under .omo drafts, plans, and evidence ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/check-temporal.test.ts· passed · no test anchor in that file - still fails for a tracked .omo boulder containing a banned token ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/check-temporal.test.ts· passed · no test anchor in that file - fails closed when file enumeration fails ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/check-temporal.test.ts· passed · no test anchor in that file - fails closed when an enumerated file cannot be read ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/check-temporal.test.ts· passed · no test anchor in that file - allows only the one byte-exact self-pattern line in the guard ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/check-temporal.test.ts· passed · no test anchor in that file - fails when the self-pattern line has leading whitespace ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/check-temporal.test.ts· passed · no test anchor in that file - fails when the self-pattern line has trailing whitespace ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/check-temporal.test.ts· passed · no test anchor in that file - fails when the exact self-pattern line appears in another file ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/check-temporal.test.ts· passed · no test anchor in that file - fails when the guard contains two exact self-pattern lines ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/check-temporal.test.ts· passed · no test anchor in that file - fails when adjacent content shares the self-pattern line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/check-temporal.test.ts· passed · no test anchor in that file - teaches readers to derive roadmap needs each time ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/checkout-v1.test.ts· passed · no test anchor in that file - extracts the example with zero findings ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/checkout-v1.test.ts· passed · no test anchor in that file - keeps the below-ready unbound verifier as data with no finding ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/checkout-v1.test.ts· passed · no test anchor in that file - drops no sections: the example survives static extraction whole ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/checkout-v1.test.ts· passed · no test anchor in that file - golden correctness oracle: the extractor produces the right graph, byte-for-byte ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/checkout-v1.test.ts· passed · no test anchor in that file - carries the checkout manifest order through serialized members and reader context ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/checkout-v1.test.ts· passed · no test anchor in that file - keeps every authored reference target inside the checkout-v1 example graph ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/checkout-v1.test.ts· passed · no test anchor in that file - extracts both Packs and the five anchors (the anchored layer) ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/checkout-v1.test.ts· passed · no test anchor in that file - derives the delivery facts honestly: bound specs only, never the unenabled verifier ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/checkout-v1.test.ts· passed · no test anchor in that file - skips tooling and dot directories without following directory symlinks ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import-review-08.test.ts· passed · no test anchor in that file - collects every source refusal and publishes nothing ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import-review-08.test.ts· passed · no test anchor in that file - collects a canonicalization failure and still plans healthy siblings ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import-review-08.test.ts· passed · no test anchor in that file - deduplicates physical sources before dry-run and publication ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import-review-08.test.ts· passed · no test anchor in that file - reports an explicit non-carrier operand and withholds valid siblings ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import-review-08.test.ts· passed · no test anchor in that file - reports the publish error and every rollback survivor without throwing ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import-review-08.test.ts· passed · no test anchor in that file - does not overwrite a target created during publication ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import-review-08.test.ts· passed · no test anchor in that file - preserves a pre-existing temporary path that this invocation did not create ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import-review-08.test.ts· passed · no test anchor in that file - treats operands after -- as paths ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import-review-08.test.ts· passed · no test anchor in that file - deduplicates hardlink operands by physical identity during dry-run ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import-review-08.test.ts· passed · no test anchor in that file - deduplicates case-alias operands before dry-run and publication ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import-review-08.test.ts· skipped · no test anchor in that file - plans distinct physical operands independently during dry-run ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import-review-08.test.ts· passed · no test anchor in that file - publishes valid sources when an empty directory produces only a warning ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import-review-08.test.ts· passed · no test anchor in that file - fails an empty directory because it produces no import plan ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import-review-08.test.ts· passed · no test anchor in that file - withholds valid sources when an explicit non-carrier operand is an error ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import-review-08.test.ts· passed · no test anchor in that file - withholds valid sources when an operand cannot be stat'ed ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import-review-08.test.ts· passed · no test anchor in that file - keeps a published target when its temporary cleanup fails ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import-review-08.test.ts· passed · no test anchor in that file - reports unavailable hard-link support and rolls back publication ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import-review-08.test.ts· passed · no test anchor in that file - documents the hard-link requirement in import help ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import-review-08.test.ts· passed · no test anchor in that file - documents the import verb ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import.test.ts· passed · no test anchor in that file - prints would-be Markdown without writing when dry-run is requested ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import.test.ts· passed · no test anchor in that file - writes an imported document beside its TypeScript source ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import.test.ts· passed · no test anchor in that file - refuses an existing Markdown target without overwriting it ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import.test.ts· passed · no test anchor in that file - leaves every target absent when one carrier is refused ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import.test.ts· passed · no test anchor in that file - rejects an unknown import flag by name ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import.test.ts· passed · no test anchor in that file - refuses a requested path with no TypeScript carriers ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import.test.ts· passed · no test anchor in that file - renders refusal findings and exits 1 ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import.test.ts· passed · no test anchor in that file - renders an injected write failure as one operational error line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-import.test.ts· passed · no test anchor in that file - leaves help to the command dispatcher and parses only scaffold arguments ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - documents the scaffolder on the public help surface ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - prints focused help for sdp new spec --help ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - emits exact idea-rung bytes for kind behavior with a bare Behavior heading ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - emits exact idea-rung bytes for kind workflow with a bare Workflow heading ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - emits exact idea-rung bytes for kind rule with a bare Rule heading ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - emits exact idea-rung bytes for kind model with a bare Model heading ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - emits exact idea-rung bytes for kind decision with a bare Decision heading ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - emits exact idea-rung bytes for kind contract with a bare Contract heading ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - emits exact idea-rung bytes for kind example with a bare Behavior heading ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - emits the no-twin constraint scaffold: envelope, title, and Intent only ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - places the carrier at the cwd-relative PATH, creating parent directories ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - accepts a .pack.sdp.md path when the envelope names a Spec ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - refuses to overwrite an existing target and leaves its bytes unchanged ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - refuses a second write to the same PATH and keeps the first scaffold intact ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - refuses an unknown kind and writes no bytes ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - refuses an invalid spec id and writes no bytes ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - refuses an invalid altitude and writes no bytes ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - refuses a missing title and writes no bytes ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - refuses a multiline title and writes no bytes ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - refuses a missing outcome and writes no bytes ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - refuses a multiline outcome and writes no bytes ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - refuses a path that escapes cwd and writes no bytes ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - refuses an absolute path and writes no bytes ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - refuses a non-markdown path and writes no bytes ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - refuses missing required flags before creating a file ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - extracts and validates every scaffolded kind with readiness staying idea ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - validates a cwd-relative scaffold through the real validate verb with 0 errors ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - rejects an existing parent symlink that escapes cwd before any outside write ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - rejects an escaping closest-existing ancestor before creating nested parents ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - cannot use an in-cwd parent symlink to bypass containment ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - rechecks the created parent boundary after mkdir and refuses a swapped outside parent ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - holds the parent through the write so a post-check symlink swap cannot escape cwd ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - refuses extractor-rejected raw HTML outcome text before creating a file ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - refuses other extractor-rejected outcome text and still writes no file ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - accepts lawful Markdown and plain-text outcomes that the extractor already accepts ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - does not treat new as an unknown top-level command ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-new-spec.test.ts· passed · no test anchor in that file - refuses an ignored registrar imported by tracked test/authored.ts ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-preflight.test.ts· passed · no test anchor in that file - refuses an ignored registrar imported by tracked test/authored.mts ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-preflight.test.ts· passed · no test anchor in that file - refuses an ignored registrar imported by tracked src/authored.mjs ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-preflight.test.ts· passed · no test anchor in that file - refuses an ignored registrar imported by tracked test/authored.tsx ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-preflight.test.ts· passed · no test anchor in that file - refuses an ignored registrar imported by tracked test/authored.cts ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-preflight.test.ts· passed · no test anchor in that file - refuses an ignored registrar imported by tracked test/authored.js ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-preflight.test.ts· passed · no test anchor in that file - refuses an ignored registrar imported by tracked test/authored.cjs ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-preflight.test.ts· passed · no test anchor in that file - accepts a tracked registrar and ignores imports in comments and strings ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-preflight.test.ts· passed · no test anchor in that file - ignores adoption imports inside generated registrars ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/cli-preflight.test.ts· passed · no test anchor in that file - exports the canonical kind literals ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/descriptors.test.ts· passed · no test anchor in that file - exports the canonical altitude literals ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/descriptors.test.ts· passed · no test anchor in that file - exports the canonical readiness literals ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/descriptors.test.ts· passed · no test anchor in that file - exports the canonical kind display labels ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/descriptors.test.ts· passed · no test anchor in that file - exports the optional section names ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/descriptors.test.ts· passed · no test anchor in that file - opens a keyed question with its key as inline code and leaves an unkeyed one as before ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/design-review-question-keys.test.ts· passed · no test anchor in that file - escapes the question's text after the key as it escapes an unkeyed question ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/design-review-question-keys.test.ts· passed · no test anchor in that file - shows description as an ordinary key ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/design-review-question-keys.test.ts· passed · no test anchor in that file - renders a TypeScript question whose key the carrier dropped as an unkeyed one ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/design-review-question-keys.test.ts· passed · no test anchor in that file - preserves authored boundary spaces inside inline code ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/design-review-review-08.test.ts· passed · no test anchor in that file - renders design values as authored list bytes ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/design-review-review-08.test.ts· passed · no test anchor in that file - renders ui values as authored list bytes ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/design-review-review-08.test.ts· passed · no test anchor in that file - preserves literal finding locations inside delimiter-safe table code spans ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/design-review-review-08.test.ts· passed · no test anchor in that file - loads and reports parse errors without the CLI component ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/evaluate-body-library.test.ts· passed · no test anchor in that file - rejects a Windows drive-letter absolute path instead of accepting an unmatched prefix ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/exclude-diagnostics.test.ts· passed · no test anchor in that file - keeps the library diagnostic distinct from CLI flag wording ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/exclude-diagnostics.test.ts· passed · no test anchor in that file - excludes only an exact prefix or a path-segment descendant ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/exclude-diagnostics.test.ts· passed · no test anchor in that file - discovers the Gherkin carrier suffix beside the existing carriers ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/exclude-diagnostics.test.ts· passed · no test anchor in that file - diagnoses malformed input without a findings array: {} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/external-registers.test.ts· passed · no test anchor in that file - diagnoses malformed input without a findings array: {"register":{"tokens":["E-1"]}} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/external-registers.test.ts· passed · no test anchor in that file - diagnoses malformed input without a findings array: {"register":{"tokens":["E-1"]},"pattern":"\\bE-\\d+\\b","severity":"fatal"} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/external-registers.test.ts· passed · no test anchor in that file - diagnoses malformed input without a findings array: {"register":{"tokens":["E-1"]},"pattern":"\\bE-\\d+\\b","severity":null} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/external-registers.test.ts· passed · no test anchor in that file - diagnoses malformed input without a findings array: {"register":{"tokens":["E-1"]},"pattern":"\\bE-\\d+\\b","uncited":1} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/external-registers.test.ts· passed · no test anchor in that file - diagnoses malformed input without a findings array: {"register":{"tokens":["E-1"]},"pattern":"\\bE-\\d+\\b","uncited":null} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/external-registers.test.ts· passed · no test anchor in that file - diagnoses malformed input without a findings array: {"register":[],"pattern":"\\bE-\\d+\\b"} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/external-registers.test.ts· passed · no test anchor in that file - diagnoses malformed input without a findings array: {"register":{"tokens":[""]},"pattern":"\\bE-\\d+\\b"} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/external-registers.test.ts· passed · no test anchor in that file - diagnoses malformed input without a findings array: {"register":{"tokens":[{"token":"E-1","retired":"yes"}]},"pattern":"\\bE-\\d+\\b"} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/external-registers.test.ts· passed · no test anchor in that file - diagnoses malformed input without a findings array: {"register":{"tokens":["E-1",{"token":"E-1","retired":true}]},"pattern":"\\bE-\\d+\\b"} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/external-registers.test.ts· passed · no test anchor in that file - diagnoses malformed input without a findings array: {"register":{"tokens":["E-1"]},"pattern":"["} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/external-registers.test.ts· passed · no test anchor in that file - diagnoses malformed input without a findings array: {"register":{"tokens":["E-1"]},"pattern":"x*"} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/external-registers.test.ts· passed · no test anchor in that file - diagnoses malformed input without a findings array: {"register":{"tokens":["E-1"]},"pattern":"E"} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/external-registers.test.ts· passed · no test anchor in that file - reads text, authored keys and reasons while leaving identities, Packs and source alone ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/external-registers.test.ts· passed · no test anchor in that file - orders uncited findings by the register and never reports retired uncited tokens ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/external-registers.test.ts· passed · no test anchor in that file - orders cited findings by Spec id and then token in code-unit order ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/external-registers.test.ts· passed · no test anchor in that file - defaults token objects to held and keeps held and retired rows distinct ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/external-registers.test.ts· passed · no test anchor in that file - reports lines only for located top-level Design and UI text and keys ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/external-registers.test.ts· passed · no test anchor in that file - reports one diagnostic when a pattern matches empty only inside text ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/external-registers.test.ts· passed · no test anchor in that file - gives the external-register task a catalog on-ramp ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/external-registers.test.ts· passed · no test anchor in that file - records { id: 'parse-error', typeScriptFinding: 'extract/parse-error', markdownFinding: 'extract/invalid-frontmatter', typeScriptReifier: 'carrier', outcome: 'named-non-claim', rationale: 'YAML/frontmatter parsing has no TypeScript parser-diagnostic analogue.' } ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/extract-parity.test.ts· passed · no test anchor in that file - records { id: 'non-static-envelope', typeScriptFinding: 'extract/non-static-envelope', markdownFinding: 'extract/non-static-envelope', typeScriptReifier: 'carrier', outcome: 'same-class' } ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/extract-parity.test.ts· passed · no test anchor in that file - records { id: 'invalid-id', typeScriptFinding: 'extract/invalid-id', markdownFinding: 'extract/invalid-id', typeScriptReifier: 'carrier', outcome: 'same-class' } ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/extract-parity.test.ts· passed · no test anchor in that file - records { id: 'duplicate-id', typeScriptFinding: 'extract/duplicate-id', markdownFinding: 'extract/duplicate-id', typeScriptReifier: 'carrier', outcome: 'same-class' } ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/extract-parity.test.ts· passed · no test anchor in that file - records { id: 'reserved-property', typeScriptFinding: 'extract/reserved-property', markdownFinding: 'extract/reserved-property', typeScriptReifier: 'carrier', outcome: 'same-class' } ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/extract-parity.test.ts· passed · no test anchor in that file - records { id: 'non-static-section', typeScriptFinding: 'extract/non-static-section', markdownFinding: 'extract/invalid-markdown-structure', typeScriptReifier: 'carrier', outcome: 'named-non-claim', rationale: 'TS degrades optional section properties while Markdown deliberately refuses malformed documents whole.' } ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/extract-parity.test.ts· passed · no test anchor in that file - records { id: 'unowned-prose', typeScriptFinding: 'extract/unowned-prose', markdownFinding: 'extract/unowned-prose', typeScriptReifier: 'carrier', outcome: 'same-class' } ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/extract-parity.test.ts· passed · no test anchor in that file - records { id: 'unrecognized-statement', typeScriptFinding: 'extract/unrecognized-statement', markdownFinding: 'extract/invalid-markdown-structure', typeScriptReifier: 'carrier', outcome: 'named-non-claim', rationale: 'Markdown owns prose and structures, not TypeScript statement recognition.' } ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/extract-parity.test.ts· passed · no test anchor in that file - records { id: 'unrecognized-property', typeScriptFinding: 'extract/unrecognized-property', markdownFinding: 'extract/unrecognized-property', typeScriptReifier: 'carrier', outcome: 'same-class' } ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/extract-parity.test.ts· passed · no test anchor in that file - records { id: 'misplaced-authoring', typeScriptFinding: 'extract/misplaced-authoring', markdownFinding: 'extract/invalid-markdown-structure', typeScriptReifier: 'anchor', outcome: 'named-non-claim', rationale: 'Markdown has no executable authoring-call surface; equivalent placement is document structure.' } ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/extract-parity.test.ts· passed · no test anchor in that file - records finding-class parity without claiming equal severity or extraction outcome ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/extract-parity.test.ts· passed · no test anchor in that file - compares the nodes and edges of accepted Design entries ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/extract-parity.test.ts· passed · no test anchor in that file - valid-minimal-idea-spec ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/fixtures.test.ts· passed · no test anchor in that file - invalid-duplicate-id ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/fixtures.test.ts· passed · no test anchor in that file - invalid-scoped-without-relation ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/fixtures.test.ts· passed · no test anchor in that file - invalid-defined-constraint-without-target ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/fixtures.test.ts· passed · no test anchor in that file - invalid-ready-with-blocking-question ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/fixtures.test.ts· passed · no test anchor in that file - valid-defined-with-non-blocking-question ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/fixtures.test.ts· passed · no test anchor in that file - valid-defined-model-on-natural-evidence ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/fixtures.test.ts· passed · no test anchor in that file - valid-defined-decision-on-natural-evidence ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/fixtures.test.ts· passed · no test anchor in that file - invalid-scoped-model-without-terms ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/fixtures.test.ts· passed · no test anchor in that file - invalid-scoped-decision-without-section ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/fixtures.test.ts· passed · no test anchor in that file - invalid-defined-decision-without-written-choice ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/fixtures.test.ts· passed · no test anchor in that file - invalid-hand-authored-delivery-fact-in-section ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/fixtures.test.ts· passed · no test anchor in that file - invalid-hand-authored-delivery-fact-in-array-entry ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/fixtures.test.ts· passed · no test anchor in that file - invalid-defined-behavior-with-empty-promoted-child ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/fixtures.test.ts· passed · no test anchor in that file - invalid-scoped-behavior-with-non-constraint-constrained-by ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/fixtures.test.ts· passed · no test anchor in that file - wraps the generate help paragraph without short interior lines ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - answers build --help without reading any other argument or touching files ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - answers validate --help without reading any other argument or touching files ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - answers view --help without reading any other argument or touching files ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - answers census --help without reading any other argument or touching files ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - answers mermaid --help without reading any other argument or touching files ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - answers gherkin --help without reading any other argument or touching files ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - answers studio --help without reading any other argument or touching files ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - answers vault --help without reading any other argument or touching files ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - answers stamp --help without reading any other argument or touching files ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - answers generate --help without reading any other argument or touching files ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - answers import --help without reading any other argument or touching files ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - answers new --help without reading any other argument or touching files ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - answers q --help without reading any other argument or touching files ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - gives new and new spec the same shared help followed by the scaffold paragraph ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - extracts once, validates once, and synchronizes the selected vault before publishing ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - publishes every root despite validation errors and follows validation's exit ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - removes stale roots and publishes none when extraction fails ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - publishes no root when vault synchronization refuses ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - publishes no root when vault synchronization throws ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - checks prior roots before invalidation, leaving the vault untouched in check mode ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - applies the Design Review repeat-render check without requiring prior view bytes ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - removes only census when its prior tree is absent ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - removes only mermaid when its prior tree is absent ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - removes only gherkin when its prior tree is absent ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - removes only spec-studio when its prior tree is absent ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - refuses malformed vault arguments before building: "--vault" ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - refuses malformed vault arguments before building: "--vault" ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - refuses malformed vault arguments before building: "--vault" ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - refuses malformed vault arguments before building: "--vault" ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/generate-cli.test.ts· passed · no test anchor in that file - serializes the Markdown and Gherkin twins identically modulo carrier files ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-parity.test.ts· passed · no test anchor in that file - repeats extraction and contract generation byte-identically ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-parity.test.ts· passed · no test anchor in that file - excludes both cross-carrier duplicate sites and every duplicate-sourced edge ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-parity.test.ts· passed · no test anchor in that file - excludes a semantically invalid carrier whole while a healthy sibling survives ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-parity.test.ts· passed · no test anchor in that file - repeats invalid carrier derivation deterministically ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-parity.test.ts· passed · no test anchor in that file - reifies the closed accepted grammar into carrier-neutral Spec data ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - defaults each missing nesting relation independently ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - feeds Gherkin and Markdown relations through the same validation path ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - keeps harmless distance-two short-head decoration tags graph-inert ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @implemented at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @IMPLEMENTED at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @implemented.ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @IMPLEMENTED.ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @implemented-ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @IMPLEMENTED-ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @has-verifier at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @HAS-VERIFIER at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @has-verifier.ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @HAS-VERIFIER.ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @has-verifier-ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @HAS-VERIFIER-ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @hasVerifier at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @HASVERIFIER at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @hasVerifier.ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @HASVERIFIER.ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @hasVerifier-ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @HASVERIFIER-ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @observed at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @OBSERVED at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @observed.ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @OBSERVED.ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @observed-ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @OBSERVED-ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @claim at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @CLAIM at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @claim.ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @CLAIM.ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @claim-ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @CLAIM-ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @status at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @STATUS at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @status.ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @STATUS.ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @status-ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @STATUS-ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @lifecycle at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @LIFECYCLE at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @lifecycle.ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @LIFECYCLE.ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @lifecycle-ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @LIFECYCLE-ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @workflow at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @WORKFLOW at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @workflow.ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @WORKFLOW.ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @workflow-ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @WORKFLOW-ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @architect at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @ARCHITECT at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @architect.ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @ARCHITECT.ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @architect-ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses reserved head @ARCHITECT-ready at its tag line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - keeps nonmatching decoration @wip graph-inert ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - keeps nonmatching decoration @smoke graph-inert ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - keeps nonmatching decoration @implementedness graph-inert ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - keeps nonmatching decoration @has-verifiers graph-inert ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - keeps nonmatching decoration @hasVerifierExtra graph-inert ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - keeps nonmatching decoration @observedness graph-inert ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - keeps nonmatching decoration @claimant graph-inert ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - keeps nonmatching decoration @statusready graph-inert ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - keeps nonmatching decoration @lifecycleReady graph-inert ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - keeps nonmatching decoration @workflowing graph-inert ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - keeps nonmatching decoration @architecture graph-inert ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - suggests exactly one unique reserved head for a length ≤5 one-edit near miss ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - suggests lawful long reserved head for one-edit near-miss @constrained-bi.spec:probe.constraint ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - suggests lawful long reserved head for one-edit near-miss @decided-bi.spec:probe.decision ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - suggests lawful long reserved head for one-edit near-miss @constraind-by.spec:probe.constraint ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses an example-space near miss without suggesting invalid decoration syntax ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - suggests a unique long reserved head for a length >5 two-edit near miss ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses one-edit short-head decoration @king.dom without recommending illegal metadata ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses one-edit short-head decoration @packs.nightly without recommending illegal metadata ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses step-less an ordinary Scenario at its Scenario line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses step-less an @example-space pseudo-scenario at its Scenario line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - accepts a Feature with zero Scenarios ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - accepts an ordinary Scenario with one Given step ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - classifies keyed bullets and non-heading colon lines exactly ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - collects four independent semantic findings in physical source order ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - caps semantic findings at one hundred with a final suppression finding ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a missing Feature identity ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a duplicate Feature identity ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a missing Scenario identity ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a duplicate altitude ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a readiness outside the descriptor set ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a kind tag ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a refused-kind tag ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a Pack tag ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a supersedes tag ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses an implemented lookalike ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a claim lookalike ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a lifecycle lookalike ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses an architect lookalike ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a graph-aware near miss ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses an unknown description key ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a heading-shaped description line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a duplicate singular description key ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a Rule with children ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a Rule description ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a tagged Rule ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses two example-space pseudo-scenarios ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses graph-aware metadata on example-space ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a Scenario Outline ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a Background ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a doc string ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a data table ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a star step ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a leading And ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a malformed identity ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a malformed relation target ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses an entry address in an identity tag ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses an entry address in a relation tag ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses an entry address in a Scenario identity tag below a lawful Feature ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses an entry address in a Scenario relation tag below a lawful Feature ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - refuses a non-English language header at its source line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - normalizes the first parser diagnostic as Gherkin syntax and excludes the file ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - reports a Feature bad description key after leading blanks and comments at physical line 6 ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - reports a Feature bad description key after an interior comment at physical line 5 ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - reports a Scenario bad description key after leading blanks and comments at physical line 9 ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - reports a Scenario bad description key after an interior comment at physical line 9 ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - reports a Rule description after a blank line at physical line 6 ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - reports an @example-space description after a blank line at physical line 7 ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - reports Feature and Scenario bad description keys at the same physical lines under CRLF ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - extracts defused description-location fixtures at physical one-based lines ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/gherkin-reifier.test.ts· passed · no test anchor in that file - round-trips spec:orders.create-order ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - round-trips spec:orders.create-order#design.validCart ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - round-trips spec:orders.create-order#question.aggregateReach ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - round-trips spec:orders.create-order#question.description ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - round-trips spec:orders.create-order#rule.validCart ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - round-trips pack:checkout-v1 ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - round-trips impl:orders.create-order-use-case ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - round-trips test:orders.create-order.valid-cart ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - preserves the branded spec reference string ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - brands the required helper namespaces ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - brands the impl namespace through anchorId ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - brands the api namespace through anchorId ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - brands the component namespace through anchorId ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - brands the test namespace through anchorId ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - brands the oracle namespace through anchorId ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses spec:probe.x as a generic anchor id ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses spec:probe.x#design.key as a generic anchor id ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses pack:probe.x as a generic anchor id ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses doc:probe.x as a generic anchor id ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses custom:probe.x as a generic anchor id ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses test:probe.x#design.key as a generic anchor id ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - brands every implementation-flavored code namespace through the one codeAnchorId (MD-8) ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - rejects malformed IDs: orders.create-order ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - rejects malformed IDs: spec:orders..create-order ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - rejects malformed IDs: spec:orders.create order ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - rejects malformed IDs: Spec:orders.create-order ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - rejects malformed IDs: spec:orders.create-order# ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - rejects malformed IDs: spec:orders.create-order#valid-cart ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - rejects malformed IDs: spec:orders.create-order#valid.cart ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses the entry address impl:x#design.k with its reason ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses the entry address pack:x# with its reason ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses the entry address spec:x# with its reason ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses the entry address spec:x#a#b with its reason ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses the entry address spec:x#foo with its reason ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses the entry address spec:x#model.foo with its reason ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses the entry address spec:x#design with its reason ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses the entry address spec:x#question with its reason ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses the entry address spec:x#questions.k with its reason ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses the entry address spec:x#openQuestions.k with its reason ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses the entry address spec:orders.create-order#valid-cart with its reason ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses the entry address spec:x#design.1 with its reason ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses the entry address spec:x#design.Foo with its reason ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses the entry address spec:x#design.a-b with its reason ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses the entry address spec:x#design.a.b with its reason ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses the entry address spec:x#design. with its reason ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses the entry address spec:x#design.éclair with its reason ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses the entry address spec:x#design.café with its reason ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses the entry address spec:x#question.AggregateReach with its reason ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses the entry address spec:x#question.aggregate-reach with its reason ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses the entry address spec:x#question. with its reason ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - parses an entry address with its sub-part verbatim ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - names the five sections an entry address may carry ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - parses a question address with its key verbatim ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses a question address where a Spec id is required ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - refuses an entry address where a Spec id is required ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - rejects wrong namespaces in helper branding ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/ids.test.ts· passed · no test anchor in that file - exports the pure emit and import surface ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-barrel.test.ts· passed · no test anchor in that file - preserves TypeScript 'behavior' rule-key order through Markdown import ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-emit-markdown.test.ts· passed · no test anchor in that file - preserves TypeScript 'workflow' rule-key order through Markdown import ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-emit-markdown.test.ts· passed · no test anchor in that file - preserves unkeyed list order around keyed entries from both lists ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-emit-markdown.test.ts· passed · no test anchor in that file - refuses a Markdown twin that only reorders rule keys ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-emit-markdown.test.ts· passed · no test anchor in that file - emits a bare typed heading in scaffold mode without inventing content ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-emit-markdown.test.ts· passed · no test anchor in that file - emits the empty envelope and maps title to the H1 ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-emit-markdown.test.ts· passed · no test anchor in that file - round trips envelope data and narrative through the Markdown carrier ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-emit-markdown.test.ts· passed · no test anchor in that file - emits Intent prose, fields, repeated entries, and owned open questions ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-emit-markdown.test.ts· passed · no test anchor in that file - writes a keyed question's key after its flag and leaves an unkeyed marker as it was ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-emit-markdown.test.ts· passed · no test anchor in that file - emits the Behavior form in ruled list syntax ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-emit-markdown.test.ts· passed · no test anchor in that file - emits the Rule form in ruled list syntax ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-emit-markdown.test.ts· passed · no test anchor in that file - emits the Workflow form in ruled list syntax ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-emit-markdown.test.ts· passed · no test anchor in that file - emits the Contract form in ruled list syntax ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-emit-markdown.test.ts· passed · no test anchor in that file - emits example-space vocabulary and one immediately-owned example GWT fence ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-emit-markdown.test.ts· passed · no test anchor in that file - emits the one-entry Constraints form and preserves parser refusal without its statement ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-emit-markdown.test.ts· passed · no test anchor in that file - emits Model, Design, UI, Decision, and Verification owners in authored order ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-emit-markdown.test.ts· passed · no test anchor in that file - round trips all eleven migrated checkout Specs through the emitter ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-emit-markdown.test.ts· passed · no test anchor in that file - groups relation records in ruled key order and emits multiple targets as a sequence ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-emit-markdown.test.ts· passed · no test anchor in that file - is refused when a valid emitted relation key is hand-corrupted ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-emit-markdown.test.ts· passed · no test anchor in that file - refuses a title-less Spec with a precise authored path ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-review-08.test.ts· passed · no test anchor in that file - names the first divergent intent path ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-review-08.test.ts· passed · no test anchor in that file - names the first divergent design path ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-review-08.test.ts· passed · no test anchor in that file - refuses duplicate relation targets before Markdown emission ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-review-08.test.ts· passed · no test anchor in that file - refuses a mixed Spec and Pack carrier with an actionable error ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-review-08.test.ts· passed · no test anchor in that file - retains the Pack finding beside a multi-Spec refusal ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-review-08.test.ts· passed · no test anchor in that file - exports the typed emission error beside the public emitter ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import-review-08.test.ts· passed · no test anchor in that file - emits one sibling Markdown document for a healthy TypeScript Spec ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import.test.ts· passed · no test anchor in that file - refuses a TypeScript carrier with reification errors and names its file ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import.test.ts· passed · no test anchor in that file - returns reifier findings unchanged when a carrier is refused ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import.test.ts· passed · no test anchor in that file - reports a Pack-only module as unsupported without emitting Markdown ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import.test.ts· passed · no test anchor in that file - reports an empty module without emitting Markdown ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import.test.ts· passed · no test anchor in that file - refuses a mixed Spec and Pack module before publishing a duplicate carrier ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import.test.ts· passed · no test anchor in that file - refuses a module that reifies more than one Spec ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import.test.ts· passed · no test anchor in that file - refuses multiple constraints when Markdown cannot preserve its authored data ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import.test.ts· passed · no test anchor in that file - refuses a prose open question when Markdown cannot preserve its authored data ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import.test.ts· passed · no test anchor in that file - refuses multiple example actions when Markdown cannot preserve its authored data ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import.test.ts· passed · no test anchor in that file - refuses a structural title when Markdown cannot preserve its authored data ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import.test.ts· passed · no test anchor in that file - imports a keyed TypeScript question into a keyed Markdown marker ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import.test.ts· passed · no test anchor in that file - imports a keyed question whose blocking flag is omitted as a non-blocking marker ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import.test.ts· passed · no test anchor in that file - refuses an import whose question key the reifier drops ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import.test.ts· passed · no test anchor in that file - refuses a path that cannot produce a Markdown sibling ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/import.test.ts· passed · no test anchor in that file - evaluates S3's recipe 46 and S2's recipe 51 in the shared Studio build ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/integration-review.test.ts· passed · no test anchor in that file - records future measurement commands as run and provides portable commands separately ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/integration-review.test.ts· passed · no test anchor in that file - classifies the YAML 1.2 plain scalar 1e3 as a non-string scalar ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-grammar-hardening.test.ts· passed · no test anchor in that file - classifies the YAML 1.2 plain scalar 0x1F as a non-string scalar ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-grammar-hardening.test.ts· passed · no test anchor in that file - classifies the YAML 1.2 plain scalar -.inf as a non-string scalar ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-grammar-hardening.test.ts· passed · no test anchor in that file - rebases YAML-native diagnostic line text with the structured finding line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-grammar-hardening.test.ts· passed · no test anchor in that file - refuses a YAML document-end marker before the required frontmatter closer ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-grammar-hardening.test.ts· passed · no test anchor in that file - preserves accumulated YAML findings when the frontmatter root is not a mapping ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-grammar-hardening.test.ts· passed · no test anchor in that file - reports each frontmatter resource-limit breach once ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-grammar-hardening.test.ts· passed · no test anchor in that file - reports each frontmatter resource-limit breach once ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-grammar-hardening.test.ts· passed · no test anchor in that file - item f refuses an example GWT fence before the end of its Intent content ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-grammar-hardening.test.ts· passed · no test anchor in that file - item f accepts trailing ASCII whitespace on the Open questions heading ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-grammar-hardening.test.ts· passed · no test anchor in that file - item f treats a terminal hash as literal H1 title text ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-grammar-hardening.test.ts· passed · no test anchor in that file - item f routes a terminal hash in H2 text through owner recognition ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-grammar-hardening.test.ts· passed · no test anchor in that file - item g reports a duplicate When step exactly once ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-grammar-hardening.test.ts· passed · no test anchor in that file - item h converts an unexpected body-parser throw into a finding ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-grammar-hardening.test.ts· passed · no test anchor in that file - classifies frontmatter delivery fact implemented as reserved ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-review-08.test.ts· passed · no test anchor in that file - classifies frontmatter delivery fact has-verifier as reserved ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-review-08.test.ts· passed · no test anchor in that file - classifies frontmatter delivery fact hasVerifier as reserved ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-review-08.test.ts· passed · no test anchor in that file - classifies frontmatter delivery fact observed as reserved ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-review-08.test.ts· passed · no test anchor in that file - keeps a frontmatter finding id on the finding-cap summary ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-review-08.test.ts· passed · no test anchor in that file - points a non-leading YAML directive at the directive line ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-review-08.test.ts· passed · no test anchor in that file - accepts inherited object names as first authored Design keys and Model terms ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-review-08.test.ts· passed · no test anchor in that file - retains __proto__ as an authored Model term ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-review-08.test.ts· passed · no test anchor in that file - reports duplicate __proto__ Model terms ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-review-08.test.ts· passed · no test anchor in that file - refuses an integer-like Model term and drops the carrier ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-review-08.test.ts· passed · no test anchor in that file - refuses the integer-like Model term 0 and drops the carrier ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-review-08.test.ts· passed · no test anchor in that file - refuses the integer-like Model term 10 and drops the carrier ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/markdown-review-08.test.ts· passed · no test anchor in that file - surfaces the explicit command in help and names Mermaid on bad input ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/mermaid-cli.test.ts· passed · no test anchor in that file - publishes only generated/mermaid wholesale and regenerates byte-identically without tmp residue ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/mermaid-cli.test.ts· passed · no test anchor in that file - passes --check-clean only when twin renders and the published bytes agree ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/mermaid-cli.test.ts· passed · no test anchor in that file - refuses perturbed published bytes and removes both live and temporary roots ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/mermaid-cli.test.ts· passed · no test anchor in that file - refuses divergent --check-clean twins and removes both publication roots ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/mermaid-cli.test.ts· passed · no test anchor in that file - removes planted stale live and tmp output when the authored corpus fails ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/mermaid-cli.test.ts· passed · no test anchor in that file - publishes diagnostic output for validation errors and returns the validation exit code ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/mermaid-cli.test.ts· passed · no test anchor in that file - publishes in-bound diagrams and a named refusal when one Pack overflows ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/mermaid-cli.test.ts· passed · no test anchor in that file - does not alter census or Design Review bytes while publishing Mermaid ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/mermaid-cli.test.ts· passed · no test anchor in that file - parses the three slot forms: bare, typed (declaration), bound (binding) ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/notation.test.ts· passed · no test anchor in that file - parses closed unions as enum declarations, and a single quoted literal as a binding ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/notation.test.ts· passed · no test anchor in that file - parses scalar bindings: negative and decimal numbers, booleans ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/notation.test.ts· passed · no test anchor in that file - treats a non-identifier brace group as prose, and an unparsable rhs as a malformed slot ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/notation.test.ts· passed · no test anchor in that file - rejects __proto__ as a slot name — a generated object literal would set the prototype, not a property ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/notation.test.ts· passed · no test anchor in that file - honors quotes during scanning: a brace inside a quoted literal does not close the group ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/notation.test.ts· passed · no test anchor in that file - keeps lexical degradation local: a stray brace or quote never swallows a later binding ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/notation.test.ts· passed · no test anchor in that file - normalizes every slot form to the {name} skeleton — the step's identity ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/notation.test.ts· passed · no test anchor in that file - renders natural reading: bound slots read as their value, unbound keep the {name} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/notation.test.ts· passed · no test anchor in that file - collects bound values first-wins and detects unbound slots ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/notation.test.ts· passed · no test anchor in that file - names tracked registrar drift independently in the worktree and Git index ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/preflight-registrar.test.ts· passed · no test anchor in that file - calls the shipped cycle recipe through q ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - runs the shipped address recipe unchanged as a rules file ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - calls recipes from a rules file and fails on a dependency cycle ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - combines two external registers in one rules file through the shipped recipe binding ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - compiles each shipped recipe once per evaluator context ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - returns fresh reader arrays and contexts through repeated recipe calls in one evaluation ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - keeps recipe answers unchanged after mutating reader results through evaluator ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - keeps recipe answers unchanged after mutating reader results through q ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - keeps recipe answers unchanged after mutating reader results through rules ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - quotes whitespace-only address subjects so recipe 25 remains a lawful rules file ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - lets a called recipe call recipes itself with the same rules-file bindings ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - reports a parameter reread cause without a nested CLI diagnostic ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - keeps watching when an optional ancestor refuses EACCES ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - keeps watching when an optional ancestor refuses EPERM ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - reports EACCES when the named file's immediate parent cannot be watched ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - reports EPERM when the named file's immediate parent cannot be watched ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - reports EIO when the named file's immediate parent cannot be watched ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - watches and rereads rules outside discovery ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - watches and rereads params outside discovery ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - watches and rereads keyed outside discovery ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - watches and rereads unreadable outside discovery ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - exports one evaluator from the source, ESM and CommonJS main entries ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - refuses non-object parameters null before running ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - refuses non-object parameters undefined before running ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - refuses non-object parameters "text" before running ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - refuses non-object parameters 3 before running ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - refuses non-object parameters true before running ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - refuses non-object parameters "2026-10-31T15:32:52.957Z" before running ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - rejects an unknown recipe number 99 by name ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - rejects an unknown recipe number 0 by name ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - rejects an unknown recipe number -1 by name ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - rejects a non-integer recipe number {"number":25.5,"value":"25.5"} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - rejects a non-integer recipe number {"number":"26","value":"26"} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - rejects a non-integer recipe number {"number":null,"value":"null"} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - rejects a non-integer recipe number {"number":true,"value":"true"} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - rejects a non-integer recipe number {"number":[],"value":""} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - rejects a non-integer recipe number {"number":{},"value":"[object Object]"} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - rejects a non-integer recipe number {"number":null,"value":"NaN"} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - rejects a non-integer recipe number {"number":null,"value":"Infinity"} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - shares the given report with the body and reader findings ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - locates a multi-character parse token in evaluateBody: return 1;
foo bar ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - locates a multi-character parse token in evaluateBody: let x = 'a' 'bcdef'; ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - preserves recipe diagnostics and errors and shares the parse error across CLI paths ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - names five bindings in help without deriving: "--help" ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - names five bindings in help without deriving: "q" ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - watches named parents through delete and atomic replacement, including symlinks: false ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - watches named parents through delete and atomic replacement, including symlinks: true ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - pins findings text, subjects, locations and input order beside the unchanged recipe answers ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - locates three-member cycles and self-loops at the relation to the path's second id ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/reach-core.test.ts· passed · no test anchor in that file - refuses non-POSIX or rooted generated path "..\\outside.test.generated.ts" ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/registrar-path-confinement.test.ts· passed · no test anchor in that file - refuses non-POSIX or rooted generated path "/tmp/outside.test.generated.ts" ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/registrar-path-confinement.test.ts· passed · no test anchor in that file - refuses non-POSIX or rooted generated path "C:outside.test.generated.ts" ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/registrar-path-confinement.test.ts· passed · no test anchor in that file - refuses non-POSIX or rooted generated path "C:/outside.test.generated.ts" ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/registrar-path-confinement.test.ts· passed · no test anchor in that file - refuses non-POSIX or rooted generated path "C:\\outside.test.generated.ts" ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/registrar-path-confinement.test.ts· passed · no test anchor in that file - refuses non-POSIX or rooted generated path "\\\\server\\share\\outside.test.generated.ts" ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/registrar-path-confinement.test.ts· passed · no test anchor in that file - refuses non-POSIX or rooted generated path "//server/share/outside.test.generated.ts" ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/registrar-path-confinement.test.ts· passed · no test anchor in that file - refuses publication through an in-root parent symlink to outside ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/registrar-path-confinement.test.ts· passed · no test anchor in that file - does not delete a manifest-owned registrar through a parent symlink to outside ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/registrar-path-confinement.test.ts· passed · no test anchor in that file - refuses publication after the registrar parent is swapped for an outside symlink ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/registrar-path-confinement.test.ts· passed · no test anchor in that file - publishes valid POSIX registrar paths with sorted deterministic manifest ownership ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/registrar-path-confinement.test.ts· passed · no test anchor in that file - plans in contract order; duplicate step text dedupes to ONE handler that runs per occurrence ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/runner.test.ts· passed · no test anchor in that file - renders the natural reading: kind casing, bound values inlined, unknown params left visible ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/runner.test.ts· passed · no test anchor in that file - prefixes a failing step with its natural reading — the failure speaks the spec's language ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/runner.test.ts· passed · no test anchor in that file - keeps the failure law over a frozen error (falls back to a wrapper carrying cause) and a non-Error throw ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/runner.test.ts· passed · no test anchor in that file - executes against exactly the world the caller hands in — the lifecycle is the adapter's (settlement 6) ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/runner.test.ts· passed · no test anchor in that file - contributes the one outcome no spec ever states ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/runner.test.ts· passed · no test anchor in that file - assigns every generated reader witness the outcome its contract's Then step records ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/self-hosting-consumers-oracle.test.ts· passed · no test anchor in that file - carries the exact duplicate-ID example-space vocabulary ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/self-hosting-contracts.test.ts· passed · no test anchor in that file - binds one ready point with distinct refines and verifies relations ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/self-hosting-contracts.test.ts· passed · no test anchor in that file - derives the bound space and step contracts ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/self-hosting-contracts.test.ts· passed · no test anchor in that file - assigns both generated points the outcome their contract's Then step records ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/self-hosting-validators-oracle.test.ts· passed · no test anchor in that file - derives anchored memberOf and uses edges while accepting a multi-node uses cycle ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-anchors.test.ts· passed · no test anchor in that file - rejects duplicate structural ownership ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-anchors.test.ts· passed · no test anchor in that file - enforces one-level membership namespaces ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-anchors.test.ts· passed · no test anchor in that file - requires structural edges to resolve between CodeNode endpoints ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-anchors.test.ts· passed · no test anchor in that file - reports a missing component target without stripping the anchor or its delivery fact ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-anchors.test.ts· passed · no test anchor in that file - rejects an invalid uses namespace as a malformed anchor field ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-anchors.test.ts· passed · no test anchor in that file - reports a missing uses target while retaining the graph-validly reified anchor ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-anchors.test.ts· passed · no test anchor in that file - reports self-use at graph validation without excluding the anchor ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-anchors.test.ts· passed · no test anchor in that file - rejects an empty uses array and excludes the whole anchor ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-anchors.test.ts· passed · no test anchor in that file - rejects duplicate uses targets and excludes the whole anchor ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-anchors.test.ts· passed · no test anchor in that file - treats a non-static uses field as a whole-anchor envelope failure ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-anchors.test.ts· passed · no test anchor in that file - rejects a Spec named in both satisfies and references of one anchor ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-anchors.test.ts· passed · no test anchor in that file - requires a CodeNode source and a Spec target ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-anchors.test.ts· passed · no test anchor in that file - rejects the same references edge authored twice ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-anchors.test.ts· passed · no test anchor in that file - reports a dangling references target through referential integrity and confers nothing ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-anchors.test.ts· passed · no test anchor in that file - refuses an empty references array at reification ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-anchors.test.ts· passed · no test anchor in that file - refuses a repeated references target and the satisfies overlap at reification ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-anchors.test.ts· passed · no test anchor in that file - checks actual consumption of a shared type: import type { Result } from "./unit.js";
export function parse(): Result { return { ok: true }; } ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - checks actual consumption of a shared type: import { type Result as Parsed } from "./unit.js";
export const result: Parsed = { ok: true }; ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - checks actual consumption of a shared type: import type * as T from "./unit.js";
export const result: T.Result = { ok: true }; ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - checks actual consumption of a shared type: import type { Result } from "./unit.js";
export interface Parsed extends Result {} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - checks actual consumption of a shared type: import type * as T from "./unit.js";
export interface Parsed extends T.Result {} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - checks actual consumption of a shared type: import type * as T from "./unit.js";
export const result = true; ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - checks actual consumption of a shared type: import type * as T from "./other.js";
export const result: T.Result = { ok: true }; ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - checks actual consumption of a shared type: import type { Result } from "./unit.js";
export const result = true; ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - checks actual consumption of a shared type: type Result = { ok: boolean };
export const result: Result = { ok: true }; ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - checks actual consumption of a shared type: import type { Result } from "./other.js";
export const result: Result = { ok: true }; ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - checks shared class consumption in heritage and type queries: import { Result } from "./unit.js";
export type Constructor = typeof Result; ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - checks shared class consumption in heritage and type queries: import * as T from "./unit.js";
export type Constructor = typeof T.Result; ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - checks shared class consumption in heritage and type queries: import { Result } from "./unit.js";
export class Parsed extends Result {} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - checks shared class consumption in heritage and type queries: import * as T from "./unit.js";
export class Parsed extends T.Result {} ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - checks shared class consumption in heritage and type queries: import * as T from "./other.js";
export type Constructor = typeof T.Result; ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - checks shared class consumption in heritage and type queries: import { Result } from "./unit.js";
export function local() { class Result {} type Constructor = typeof Result; } ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - reports a missing shared type independently of its consumer ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - reports a missing runtime export when the named unit is absent ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - reports missing consumption when the covering source removes the import ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - reports missing consumption when a named value import is unused ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - accepts an aliased named import used as a runtime call ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - accepts a runtime call imported through a barrel re-export ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - rejects diagnostics-clean named type-only exports ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - rejects diagnostics-clean star type-only exports ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - rejects attempted value use through named type-only exports ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - rejects attempted value use through star type-only exports ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - accepts 'a direct declaration' ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - accepts 'an aliased named export' ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - accepts 'nested acyclic value stars' ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - accepts 'a diamond to one origin' ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - rejects two distinct acyclic value candidates ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - rejects every cyclic-star entry and traversal order with cycle first ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - rejects every cyclic-star entry and traversal order with origin first ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - accepts an explicit named export that shadows unrelated cyclic stars ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - rejects a type-only import and type-only reference ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - reports malformed unit reference "unit.ts" as a missing export ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - reports malformed unit reference "#helper" as a missing export ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - reports malformed unit reference "unit.ts#" as a missing export ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - reports malformed unit reference "unit.ts#helper#extra" as a missing export ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - reports malformed unit reference "" as a missing export ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/structural-coverage.test.ts· passed · no test anchor in that file - never traverses or subscribes through a newly created directory symlink, including a loop ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/validate-watch.test.ts· passed · no test anchor in that file - removing a watched directory with carriers causes exactly one rerun and removes stale artifacts ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/validate-watch.test.ts· passed · no test anchor in that file - reconciles a filename-less deletion event: unwatches the removed subtree and reruns once ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/validate-watch.test.ts· passed · no test anchor in that file - reconciles a filename-less change on an intact directory: rescans subtrees and reruns ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/validate-watch.test.ts· passed · no test anchor in that file - prunes a dead descendant watcher on reconciliation so a recreated directory rewatches ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/validate-watch.test.ts· passed · no test anchor in that file - replaces a watcher whose directory was recreated before the filename-less reconciliation ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/validate-watch.test.ts· passed · no test anchor in that file - fails typed when the watch root vanishes before reconciliation ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/validate-watch.test.ts· passed · no test anchor in that file - fails typed when the watch root vanishes between reconciliation and re-subscription ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/validate-watch.test.ts· passed · no test anchor in that file - treats a basename beginning with '..cache' as contained while rejecting real parent escapes ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/validate-watch.test.ts· passed · no test anchor in that file - treats ENOTDIR as deletion and schedules one carrier-tree rerun ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/validate-watch.test.ts· passed · no test anchor in that file - routes EACCES through the typed failure path, closes once, and exits 1 ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/validate-watch.test.ts· passed · no test anchor in that file - routes EMFILE through the typed failure path, closes once, and exits 1 ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/validate-watch.test.ts· passed · no test anchor in that file - routes EIO through the typed failure path, closes once, and exits 1 ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/validate-watch.test.ts· passed · no test anchor in that file - accepts a separate vault with Windows path separators ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/vault-windows.test.ts· passed · no test anchor in that file - leaves unchanged registrar bytes, inode and temporary path untouched ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - idles with a bound example and preserves a Studio written beside the watched vault ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - keeps a note after a case-only rename of spec:probe.Member, Finder file: false ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· skipped · no test anchor in that file - keeps a note after a case-only rename of spec:probe.Member, Finder file: true ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· skipped · no test anchor in that file - keeps a note after a case-only rename of spec:Probe.member, Finder file: false ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· skipped · no test anchor in that file - keeps a note after a case-only rename of spec:Probe.member, Finder file: true ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· skipped · no test anchor in that file - refuses the same rules file under a case alias ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· skipped · no test anchor in that file - refuses a case alias of build output for --base ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· skipped · no test anchor in that file - refuses a case alias of build output for --runs ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· skipped · no test anchor in that file - refuses direct and symbolic build-owned --base inputs without changing a file ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - refuses direct and symbolic build-owned --runs inputs without changing a file ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - refuses a build-owned --runs input before starting the Studio watcher ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - refuses a missing --runs input before starting the Studio watcher ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - refuses a invalid JSON --runs input before starting the Studio watcher ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - keeps a changed Base with a warning and regenerates it only after deletion ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - ignores Finder's .DS_Store under the owned folder ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - refuses an input beneath build-owned generated/graph.json ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - refuses an input beneath build-owned generated/graph.json.tmp ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - refuses an input beneath build-owned generated/contracts ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - refuses an input beneath build-owned generated/contracts.tmp ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - refuses an input beneath build-owned generated/registrars.json ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - refuses an input beneath build-owned generated/registrars.json.tmp ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - refuses an input beneath build-owned generated/imports.json ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - refuses an input beneath build-owned generated/imports.json.tmp ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - refuses an input beneath build-owned generated/design-review ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - refuses an input beneath build-owned generated/design-review.tmp ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - refuses an input beneath build-owned generated/census ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - refuses an input beneath build-owned generated/census.tmp ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - refuses an input beneath build-owned generated/mermaid ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - refuses an input beneath build-owned generated/mermaid.tmp ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - refuses an input beneath build-owned generated/gherkin ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - refuses an input beneath build-owned generated/gherkin.tmp ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - refuses an input beneath build-owned generated/spec-studio ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - refuses an input beneath build-owned generated/spec-studio.tmp ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - refuses a future registrar input before extraction ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - states the working-directory resolution of generate --vault in help ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - keeps the vault watcher alive after a malformed registrar manifest refusal ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-cli.test.ts· passed · no test anchor in that file - retains the linked SVG box geometry and label when its target leaves the export ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-studio.test.ts· passed · no test anchor in that file - renders export member pages from the graph alone with meaningful base and run inputs ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-studio.test.ts· passed · no test anchor in that file - draws no edge to an undrawn planned-use target ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-studio.test.ts· passed · no test anchor in that file - targets each folded context box at its detailed drawing ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-studio.test.ts· passed · no test anchor in that file - puts the resolved rendered members on the Pack page composing action ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-studio.test.ts· passed · no test anchor in that file - keeps a Pack request with an unresolved member as scoped intent text ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-studio.test.ts· passed · no test anchor in that file - keys and names each design planning the same unanchored component ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-studio.test.ts· passed · no test anchor in that file - draws planned uses to every design of the named component and names the component in text ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-studio.test.ts· passed · no test anchor in that file - prints a diagram whole and restores its zoom after printing ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/test/x2b-studio.test.ts· passed · no test anchor in that file - executes the bound example against a fresh world ·
/home/runner/work/software-delivery-protocol/software-delivery-protocol/examples/checkout-v1/test/orders/create-order.valid-cart.test.ts· passed · no test anchor in that file
Run 2: external run evidence from vitest 4.1.10
Build: CI 391 · Branch: cursor/media-plan-and-articles-09b1 · Commit: 076cd4f1f85640d8236e5cca1bffffa68ab79a33 · Start: 2026-10-31T15:34:02.446Z · Stop: 2026-10-31T15:34:13.552Z
100 passed, 0 failed, 0 skipped, 0 pending, 0 other.
External run evidence from test/cli.test.ts
Test anchors: test:protocol.engine-provenance, test:protocol.extraction-determinism, test:protocol.projections-model.publication, test:protocol.regenerability, test:protocol.validate-watch. Specs verified by those bindings: spec:consumers.engine-provenance, spec:consumers.projections-model, spec:consumers.validate-watch, spec:extraction.determinism, spec:extraction.regenerability.
| Name | Suite | Result | Duration |
|---|---|---|---|
| prints the exact help text for no args | sdp cli | passed | 1.29 ms |
| points operators to the shipped on-ramps and Protocol corpus | sdp cli | passed | 1.43 ms |
| describes both anchor forms and non-failing warnings in help | sdp cli | passed | 0.3 ms |
| prints the exact help text for --help | sdp cli | passed | 0.13 ms |
| builds the checkout-v1 example: writes graph, contracts, and registrar manifest atomically | sdp cli | passed | 94.65 ms |
| invalidates an existing Design Review when build replaces its source graph | sdp cli | passed | 52.16 ms |
| views the self-hosting corpus from the default repository root | sdp cli | passed | 8248.75 ms |
| renders contracts warnings through the one formatter and counts them in the summary | sdp cli | passed | 7.08 ms |
| withholds case-colliding contract paths with a warning: graph kept, nothing gates | sdp cli | passed | 3.43 ms |
| passes --check-clean on the example (determinism self-check through the CLI) | sdp cli | passed | 33.16 ms |
| end-to-end determinism self-check: delete generated/, rebuild, byte-identical | sdp cli | passed | 118.69 ms |
| fails clean on a root that is not a directory: one line, exit 1, never a stack trace | sdp cli | passed | 0.33 ms |
| rejects an unknown option: one line, exit 1, nothing runs | sdp cli | passed | 0.1 ms |
| accepts repeatable --exclude paths for build | sdp cli | passed | 3.72 ms |
| accepts repeatable --exclude paths for validate | sdp cli | passed | 3.24 ms |
| accepts repeatable --exclude paths for view | sdp cli | passed | 3.85 ms |
| uses the identical normalized exclusions in both --check-clean extractions | sdp cli | passed | 4.99 ms |
| refuses invalid --exclude path "" before build writes | sdp cli | passed | 0.98 ms |
| refuses invalid --exclude path "." before build writes | sdp cli | passed | 0.35 ms |
| refuses invalid --exclude path "./explorations" before build writes | sdp cli | passed | 0.38 ms |
| refuses invalid --exclude path "explorations/" before build writes | sdp cli | passed | 0.22 ms |
| refuses invalid --exclude path "/explorations" before build writes | sdp cli | passed | 0.24 ms |
| refuses invalid --exclude path "../x" before build writes | sdp cli | passed | 0.19 ms |
| refuses invalid --exclude path "a/../b" before build writes | sdp cli | passed | 0.17 ms |
| refuses invalid --exclude path "a//b" before build writes | sdp cli | passed | 0.2 ms |
| refuses invalid --exclude path "a\\b" before build writes | sdp cli | passed | 0.27 ms |
| refuses a missing --exclude operand before build writes | sdp cli | passed | 0.32 ms |
| names a flag supplied as an --exclude operand before build writes | sdp cli | passed | 0.19 ms |
| documents repeatable --exclude paths in help | sdp cli | passed | 0.07 ms |
| rejects a second root argument: one line, exit 1, nothing runs | sdp cli | passed | 0.18 ms |
| notes an empty authored model: zero spec files still builds and exits 0, but says where it looked | sdp cli | passed | 0.69 ms |
| renders a finding's location exactly once, from the structured fields: file:line — [severity] | sdp cli | passed | 2.5 ms |
| renders a Gherkin parser failure through the public CLI | sdp cli | passed | 1.39 ms |
| exits 1, writes nothing, and removes a stale graph.json on a hard-error corpus | sdp cli | passed | 2.31 ms |
| fails build on an integer-like design key holding a static value | sdp cli | passed | 1.28 ms |
| fails build on an integer-like design key holding a non-static value | sdp cli | passed | 1.08 ms |
| fails build on an integer-like design key holding a method | sdp cli | passed | 1.13 ms |
| fails build on an integer-like design key holding an accessor | sdp cli | passed | 1.24 ms |
| fails --check-clean on a diverging second extraction: exit 1, the stale graph.json removed | sdp cli | passed | 11.55 ms |
| fails --check-clean on a diverging second contract generation: exit 1, no artifact survives | sdp cli | passed | 22.86 ms |
| owns the contracts tree wholesale: with nothing to generate, a stale contracts dir is removed | sdp cli | passed | 3.68 ms |
| reconciles a registrar sibling that a later generation no longer owes | sdp cli | passed | 22.86 ms |
| fails --check-clean on registrar-byte drift and removes the uncertified known set | sdp cli | passed | 28.79 ms |
| passes --check-clean without a prior manifest when no registrars are owed | sdp cli | passed | 4.32 ms |
| fails --check-clean on registrar manifest whitespace drift | sdp cli | passed | 29.21 ms |
| fails --check-clean on registrar manifest ignored property drift | sdp cli | passed | 31.67 ms |
| removes graph, contracts, manifest, and registrar siblings after a staged write failure | sdp cli | passed | 22.06 ms |
| fails clean when extraction throws past discovery: one line, exit 1, the stale graph.json removed | sdp cli | passed | 0.66 ms |
| fails clean when generated exists as a file: one line each for build and view, never a stack trace | sdp cli | passed | 5.79 ms |
| names the survivor when a recovery-path removal is denied: a stale artifact never silently reads as current | sdp cli | passed | 0.68 ms |
| stops a build when an existing Design Review cannot be invalidated | sdp cli | passed | 4.61 ms |
| fails clean when the checks throw: one line, exit 1, the built graph.json stays | sdp cli | passed | 3.07 ms |
| suppresses the empty-model note when spec files were found but none reified — a failed file is not an absent one | sdp cli | passed | 1.66 ms |
| treats a root of only ordinary .feature files as an empty authored model, not a missing-identity error | sdp cli | passed | 0.79 ms |
| suppresses the empty-model note when a failed .sdp.gherkin finding.file matches the carrier suffix predicate | sdp cli | passed | 1.05 ms |
| builds a mixed root with one .sdp.gherkin carrier and ignores the ordinary .feature sibling | sdp cli | passed | 1.31 ms |
| removes the temp twin on a failed build and a failed view — no partial .tmp artifact survives | sdp cli | passed | 9.5 ms |
| recognizes the published-bin path: a .bin-style symlink resolves to the entry module | sdp cli | passed | 0.46 ms |
| exits 0 quietly on a stdout EPIPE and stays fatal for any other stream error | sdp cli | passed | 0.59 ms |
| validates the example: exit 0, the artifact written, and no warning | sdp cli | passed | 33.69 ms |
| gates on the checks, not the build: a clean-building broken link validates to exit 1 with the artifact kept | sdp cli | passed | 3.21 ms |
| short-circuits the checks on extraction hard errors: validate keeps build semantics | sdp cli | passed | 1.86 ms |
| prints help plus an unknown-command error | sdp cli | passed | 0.13 ms |
| views the example: validate + the Design Review written, with no warning | sdp cli | passed | 36.21 ms |
| owns the view directory wholesale: a stale page does not survive a re-render | sdp cli | passed | 22.43 ms |
| regenerates the view byte-identically: delete generated/, re-view, same bytes | sdp cli | passed | 27.89 ms |
| writes the view even when checks fail: findings render in it, the exit code is validate's | sdp cli | passed | 2.42 ms |
| keeps build semantics on extraction hard errors: no graph, no view, stale view removed | sdp cli | passed | 2.16 ms |
| fails view --check-clean on a diverging second render: exit 1, the stale view removed | sdp cli | passed | 5.69 ms |
| fails clean when the render throws: one line on stderr, exit 1, the stale view removed | sdp cli | passed | 3.22 ms |
| closes the compiled watch process with exit 0 after operator SIGINT | sdp validate --watch | passed | 282.58 ms |
| documents --watch as a validate-only authoring loop | sdp validate --watch | passed | 0.21 ms |
| rejects --watch on build with a named error and no watcher | sdp validate --watch | passed | 0.14 ms |
| rejects --watch on view with a named error and no watcher | sdp validate --watch | passed | 0.06 ms |
| rejects --watch on census with a named error and no watcher | sdp validate --watch | passed | 0.05 ms |
| rejects --watch on mermaid with a named error and no watcher | sdp validate --watch | passed | 0.04 ms |
| rejects --watch on gherkin with a named error and no watcher | sdp validate --watch | passed | 0.04 ms |
| rejects --watch on import with a named error and no watcher | sdp validate --watch | passed | 0.17 ms |
| rejects --watch on new with a named error and no watcher | sdp validate --watch | passed | 0.26 ms |
| rejects --watch on q with a named error and no watcher | sdp validate --watch | passed | 0.19 ms |
| rejects --watch --check-clean with a named error and no watcher | sdp validate --watch | passed | 0.09 ms |
| installs the watcher before the first validation cycle | sdp validate --watch | passed | 5.11 ms |
| catches an edit during the first cycle with exactly one coalesced rerun | sdp validate --watch | passed | 5.98 ms |
| coalesces a burst during an active cycle into exactly one rerun | sdp validate --watch | passed | 5.82 ms |
| prints validation findings and keeps watching until abort exits 0 | sdp validate --watch | passed | 3.27 ms |
| ignores generated, dist, node_modules, coverage, dot directories, and configured excludes | sdp validate --watch | passed | 5.91 ms |
| coalesces production-shaped events from later turns into one pending rerun | sdp validate --watch | passed | 8.15 ms |
| does not natively subscribe to excluded or generated subtrees | sdp validate --watch | passed | 67.57 ms |
| routes a native watcher error through a typed channel and closes once | sdp validate --watch | passed | 5.53 ms |
| clean-repo determinism: the full pipeline at a different absolute path is byte-identical | not recorded | passed | 74.32 ms |
| prints one line naming the package version and the recorded commit, and exits 0 | sdp --version | passed | 0.47 ms |
| names the commit unknown when the build recorded none or recorded something else | sdp --version | passed | 0.36 ms |
| reads the version from the package manifest two directories above the CLI module | sdp --version | passed | 0.31 ms |
| documents --version and --params in the usage text | sdp --version | passed | 0.11 ms |
| records the checked-out commit at build time, or unknown when git cannot name one | sdp --version | passed | 10.75 ms |
| publishes the commit the build step reads from git beside the CLI | sdp --version | passed | 1.23 ms |
| builds commit metadata from a substituted git archive extracted without .git | sdp --version | passed | 38.4 ms |
| uses only a full archive commit when git gives none, keeping git first | sdp --version | passed | 2.05 ms |
| answers from the compiled CLI with the commit its build recorded beside it | sdp --version | passed | 283.46 ms |
| runs recipe 4 as shipped, its changed files passed with --params @PATH | a shipped recipe file through the compiled CLI | passed | 345.78 ms |
Unjoined records
None.
Input diagnostics
None.
Composing (0)
Composing needs the script.