Spec Studio

Corpus checks

pack:corpus-checks-v1specs/corpus-checks.pack.sdp.md

Read this Pack as one design

Download this Pack as one file

Where the design stands

  • 16 members in authored reading order; no unresolved members.
  • No members held below their stated next rung.
  • No members waiting only for their author's statement.
  • 23 design entries and 11 pinned declarations.
  • No open questions and no blocking questions.
  • 3 members with an implementation binding.
  • 1 member with a design reference.
  • 9 outside Specs the Pack rests on; 6 outside Specs rest on the Pack; 2 outside Specs verify it; no outside Specs supersede it.

Maturity map

16 members at stated ready and floor ready: full member list.

Stated readiness by floor reached
Rows: stated readiness, idea to ready. Columns: floor reached, none to ready. Each mark counts one member; above 100 members a cell is solid. Floor none is distinct from idea.

Outlined diagonal: matches. Right of diagonal: floor above statement. Left of diagonal: statement above floor.

Maturity map for Corpus checksFloor reached →Stated readiness ↓noneideascopeddefinedreadyideascopeddefinedreadystated ready, floor ready: 16 members16
Maturity map as text
Counts by stated readiness and floor reached. To the right the floor exceeds the statement; to the left the statement exceeds the floor.
Stated rung / floor reachedfloor nonefloor ideafloor scopedfloor definedfloor ready
stated idea—————
stated scoped—————
stated defined—————
stated ready————16
stated ready, floor ready · 16 members
Mermaid source

Preferred syntax: block. Fixed categorical cells; membership appears in comments.

Framing

This Pack groups what a corpus needs to check its own policy on the one validation path, in reading order. Corpus rules are the corpus's own graph bodies that sdp validate --rules runs and reports apart from the Protocol's findings. The architecture walk is a catalog recipe a corpus runs as one of those rules, over the layers, contexts and uses its anchors state. Component designs state the components a design adds before their code exists, and a catalog recipe compares them with the components the anchors later realize. Each Spec is followed by the examples that will verify it.

Changed since the base

Compared with the base graph base da4b141. Read the diff.

Base input: schema 0.11.0, 405 Specs.

Changed members

Diagnostics

  • {
      "part": "schemaVersion",
      "base": "0.11.0",
      "head": "0.12.0"
    }

Members

1. Corpus-authored rules run on the one validation pathbehavior · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present

spec:validation.corpus-rules

Design

11 design entries · 7 pinned declarations

Decisions

Open questions

None.

Implementation binding: present

  • impl:protocol.corpus-rule-runner · runs selected corpus rules and separates their failures · src/cli/corpus-rules.ts:65 · role service · component component:protocol.cli · layer edge · context protocol
  • impl:protocol.corpus-rules · runs copied rule bodies after Protocol validation and composes the separate corpus report, output and exit · src/cli/validate-view-command.ts:79 · role service · component component:protocol.cli · layer edge · context protocol
  • impl:protocol.validate-watch · watches carrier directories and coalesces events into a pending validation rerun · src/cli/validate-watch.ts:591 · role service · component component:protocol.cli · layer edge · context protocol

Design reference: none

Verifier binding: present

9 verifiers, 9 enabled · 9 verifying examples, 9 enabled

2. An error from a corpus rule fails validation and leaves the Protocol's line aloneexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present

spec:validation.corpus-rules.error-finding-fails

Design

No design entries · no pinned declarations

Open questions

None.

Implementation binding: none

Design reference: none

Verifier binding: present

1 verifier, 1 enabled · no verifying examples, 0 enabled

3. A warning from a corpus rule informs and passesexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present

spec:validation.corpus-rules.warning-finding-informs

Design

No design entries · no pinned declarations

Open questions

None.

Implementation binding: none

Design reference: none

Verifier binding: present

1 verifier, 1 enabled · no verifying examples, 0 enabled

4. A finding with no subject fails its rules fileexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present

spec:validation.corpus-rules.malformed-finding-fails

Design

No design entries · no pinned declarations

Open questions

None.

Implementation binding: none

Design reference: none

Verifier binding: present

1 verifier, 1 enabled · no verifying examples, 0 enabled

5. A rules file that empties its graph leaves the next file's graph wholeexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present

spec:validation.corpus-rules.copies-contain-changes

Design

No design entries · no pinned declarations

Open questions

None.

Implementation binding: none

Design reference: none

Verifier binding: present

1 verifier, 1 enabled · no verifying examples, 0 enabled

6. Rewriting a rules file under node_modules starts a cycle that runs the new bodyexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present

spec:validation.corpus-rules.rules-edit-starts-a-cycle

Design

No design entries · no pinned declarations

Open questions

None.

Implementation binding: none

Design reference: none

Verifier binding: present

1 verifier, 1 enabled · no verifying examples, 0 enabled

7. Editing a parameter file starts a cycle that reads the new parametersexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present

spec:validation.corpus-rules.params-edit-starts-a-cycle

Design

No design entries · no pinned declarations

Open questions

None.

Implementation binding: none

Design reference: none

Verifier binding: present

1 verifier, 1 enabled · no verifying examples, 0 enabled

8. A parameter file that stops being JSON fails only its own rules file, and the watcher runs onexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present

spec:validation.corpus-rules.unreadable-params-fail-one-file

Design

No design entries · no pinned declarations

Open questions

None.

Implementation binding: none

Design reference: none

Verifier binding: present

1 verifier, 1 enabled · no verifying examples, 0 enabled

9. Declared architecture rules are checked against anchored structurerule · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present

spec:validation.architecture-constraints

Design

6 design entries · 3 pinned declarations

Decisions

Open questions

None.

Implementation binding: present

  • impl:protocol.architecture-walk-recipe · asserts realization of the shipped architecture walk recipe · test/architecture-recipes.test.ts:10

Design reference: none

Verifier binding: present

3 verifiers, 3 enabled · 3 verifying examples, 3 enabled

10. A domain member that uses an infrastructure member breaks a forbidden pairexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present

spec:validation.architecture-constraints.forbidden-layer-pair

Design

No design entries · no pinned declarations

Open questions

None.

Implementation binding: none

Design reference: none

Verifier binding: present

1 verifier, 1 enabled · no verifying examples, 0 enabled

11. The walk named as a rules file fails validation on an isolation breachexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present

spec:validation.architecture-constraints.isolated-context-as-rule

Design

No design entries · no pinned declarations

Open questions

None.

Implementation binding: none

Design reference: none

Verifier binding: present

1 verifier, 1 enabled · no verifying examples, 0 enabled

12. A component with no layer leaves its edge unclassifiedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present

spec:validation.architecture-constraints.unstated-layer-unclassified

Design

No design entries · no pinned declarations

Open questions

None.

Implementation binding: none

Design reference: none

Verifier binding: present

1 verifier, 1 enabled · no verifying examples, 0 enabled

13. Components are designed ahead of their codemodel · ready floor ready · 0 open, 0 blocking questions · implementation binding present · verifier binding present

spec:model.planned-architecture

Design

6 design entries · 1 pinned declaration

Decisions

Open questions

None.

Implementation binding: present

  • impl:protocol.planned-components-recipe · asserts realization of the shipped planned against realized components recipe · test/architecture-recipes.test.ts:16

Design reference: present

  • impl:protocol.curation-recipe · asserts the curation report over external inferred imports · test/curation-recipes.test.ts:32

Verifier binding: present

3 verifiers, 3 enabled · 3 verifying examples, 3 enabled

14. A component design no anchor satisfies is listed as unrealizedexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present

spec:model.planned-architecture.unrealized-design

Design

No design entries · no pinned declarations

Open questions

None.

Implementation binding: none

Design reference: none

Verifier binding: present

1 verifier, 1 enabled · no verifying examples, 0 enabled

15. A realized component that differs from its design gives one row per fieldexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present

spec:model.planned-architecture.differing-layer-and-uses

Design

No design entries · no pinned declarations

Open questions

None.

Implementation binding: none

Design reference: none

Verifier binding: present

1 verifier, 1 enabled · no verifying examples, 0 enabled

16. A realized component that matches its design gives no rowexample · ready floor ready · 0 open, 0 blocking questions · implementation binding none · verifier binding present

spec:model.planned-architecture.matching-design

Design

No design entries · no pinned declarations

Open questions

None.

Implementation binding: none

Design reference: none

Verifier binding: present

1 verifier, 1 enabled · no verifying examples, 0 enabled

Boundary

Rests on (9)
Rested on by (6)
SpecStated rungImplementation bindingJoined members
A slice reads a Pack as one design, with the architecture it touches and what each member needs next
spec:consumers.design-slice
readypresentdependsOn: spec:model.planned-architecture
File-level imports show where curation is missing
spec:consumers.impact-graph.curation-assist
readypresentdependsOn: spec:model.planned-architecture
A Spec set draws the architecture it touches
spec:consumers.spec-studio.diagram-kinds.scoped-architecture
readypresentdependsOn: spec:model.planned-architecture
The architecture lens draws components by context and layer, the planned beside the built
spec:consumers.spec-studio.lenses.architecture
readypresentdependsOn: spec:model.planned-architecture
Capability adoption counts where each capability is used and where it could apply
spec:consumers.upgrade-kit.capability-adoption
readypresentdependsOn: spec:model.planned-architecture
A corpus checks the register tokens its prose cites
spec:validation.external-registers
readypresentrefines: spec:validation.corpus-rules
dependsOn: spec:validation.corpus-rules
Verified by (2)
SpecStated rungImplementation bindingJoined members
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
readynoneverifies: spec:validation.corpus-rules
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
readynoneverifies: spec:validation.corpus-rules
Superseded by (0)

None.

Members with no verifier binding

The graph records bindings and never runs. Decision records are left out: a decision never needs a verifier binding. The runs page, the tests lens and the Spec pages of the Specs their files verify show the run records as external evidence from test files.

None.

Findings

None.

Composing (0)

Composing needs the script.