Spec Studio

Authors move one Spec from intent to reviewed evidence

spec:consumers.authoring-on-rampUse Case / Behavior · epicready floor ready

Packs: pack:self-hosting-v1

Design: no design entries · no pinned declarations · 3 decisions

Findings: no errors, no warnings

specs/consumers/authoring-on-ramp.sdp.md

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

Intent
outcome
Give an agent or human one graph-first path for creating, enriching, binding, and reviewing a Spec without inventing a parallel workflow.
Behavior
rule line 29 · specs/consumers/authoring-on-ramp.sdp.md:29
An author starts from the build-backlog and drift-alarm recipes, reads carrying Specs for law, and edits the canonical carrier.
rule line 30 · specs/consumers/authoring-on-ramp.sdp.md:30
Cheap capture starts with sdp new spec (or the equivalent hand-authored idea carrier) in the family found through concept search; the scaffolder emits envelope, Intent outcome, and the kind's bare typed heading, never invented content, and for constraint emits envelope, title, and Intent only with no twin section. Every later readiness edit is preceded by the promotion-preflight recipe and remains a human statement.
rule line 31 · specs/consumers/authoring-on-ramp.sdp.md:31
The skill teaches question keys and their optional fields through spec:model.open-question-keys and spec:model.open-question-fields, rule keys and an example's exercises through spec:model.rule-keys, and optional relation reasons through spec:model.relation-reasons.
rule line 32 · specs/consumers/authoring-on-ramp.sdp.md:32
The skill teaches the least design two parties need to agree: keyed Design entries for shared names and shapes, code spans for pinned declarations, rule keys for outside citations, one prose owner for why, and no derived counts, delivery state or implementation sequence authored as design.
rule.designRounds line 33 · specs/consumers/authoring-on-ramp.sdp.md:33
The skill teaches design in rounds over a design slice: what each rung's design typically settles, that a detail only the builder reads and a question only the builder answers belong to the build, and how a reviewer reads the design columns beside each rung; no check reads this guidance.

no example exercises it

rule line 34 · specs/consumers/authoring-on-ramp.sdp.md:34
The skill points behavior and example authors to spec:carrier.gherkin-authoring for the lawful Gherkin alternative and Pack authors to spec:carrier.markdown-pack-authoring for namespace routing, framing and ordered membership.
rule line 35 · specs/consumers/authoring-on-ramp.sdp.md:35
Binding is taught for code, test and oracle anchors in the constant form and the comment form, following spec:decisions.anchor-comment-form and spec:decisions.anchor-binding-grain. The constant builders are codeAnchor, specTest and specOracle; a code anchor's satisfies is optional and plural, a test anchor's verifies is non-empty and plural, and an oracle anchor has one models target. The skill teaches references as the code-to-design binding that claims no realization, and names the two silent non-binding hazards, a constant builder without a Protocol builder binding and a comment that does not open with /**.
rule line 36 · specs/consumers/authoring-on-ramp.sdp.md:36
The skill teaches the collective promise test for satisfies and the one-way meaning of references, following spec:decisions.anchor-binding-grain; every promise is realized by the satisfying units together, and each satisfying unit realizes at least one promise.
rule line 37 · specs/consumers/authoring-on-ramp.sdp.md:37
Structural binding is taught through component, uses and optional role on a code anchor, and optional layer and context on a component: anchor, in either form, following spec:decisions.architectural-annotation. The skill teaches closed graph-ID targets, at most one component per source, no implements field, cycles as data, and no conferral of intent, delivery facts or readiness by structural fields.
rule line 38 · specs/consumers/authoring-on-ramp.sdp.md:38
The executable transition is taught as parent example space, child bound point, generated contracts, the oracle bound by a specOracle anchor, and one generated-registrar activation beside the authored suite's top-level specTest anchor, with bindExample named as the low-level adapter and a mutation-probed red result required before the human states ready.
rule line 39 · specs/consumers/authoring-on-ramp.sdp.md:39
Contract-generation refusals are diagnosed through sdp build; query-time validation does not claim to report codegen findings.
rule line 40 · specs/consumers/authoring-on-ramp.sdp.md:40
Verifier-binding queries report graph-visible anchors; the specTest anchor remains the sole has-verifier source, and the graph cannot detect a generated contract or registrar that no authored suite activates.
rule line 41 · specs/consumers/authoring-on-ramp.sdp.md:41
An anchor carries identity, an optional label, its flavor's targets and optional structure, never intent; a code anchor with neither satisfies nor references is identity-only and lawful. A Markdown deliverable binds through the document-realization convention: the suite asserting the shipped document carries the code anchor, and blast radius stays coverage-unknown for the Markdown file.
rule line 42 · specs/consumers/authoring-on-ramp.sdp.md:42
Design Review supplies context for the human readiness statement without becoming a workflow gate.

13 unkeyed rules.

Verification

Verifier bindings

  • test:protocol.authoring-on-ramp · skill-asset checks verify the authoring on-ramp · anchored · test anchor binding present · test/skills.test.ts:276

    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.

    Run 1: external run evidence from vitest 4.1.10

    Build: CI 391 · Branch: cursor/media-plan-and-articles-09b1 · Commit: 076cd4f1f85640d8236e5cca1bffffa68ab79a33 · Start: 2026-10-31T15:32:20.471Z · Stop: 2026-10-31T15:34:02.073Z

    NameSuiteResultDuration
    discovers the design slice's summary and detail parameternot recordedpassed6.44 ms
    teaches the named-file exception to both carrier-watch descriptionsnot recordedpassed1.2 ms
    teaches the optional priority field in the Pack manifest envelopenot recordedpassed0.84 ms
    teaches design rounds and curates bindings by responsibilitynot recordedpassed3 ms
    presents the Protocol engine roles and reviewed boundary as worked examples for adoptersnot recordedpassed1.27 ms
    routes the next work and reviews through roadmap and proposal recipesnot recordedpassed3.89 ms
    keeps planning truth in graph homes and session routing advisoryProtocol skill assetspassed1.46 ms
    rejects missing planning guidance: An open question goesProtocol skill assetspassed2.07 ms
    rejects missing planning guidance: A deferral isProtocol skill assetspassed1.1 ms
    rejects missing planning guidance: An unsettled factProtocol skill assetspassed0.94 ms
    rejects missing planning guidance: A ruling that awaitsProtocol skill assetspassed0.96 ms
    rejects missing planning guidance: A statement a test checksProtocol skill assetspassed0.95 ms
    rejects missing planning guidance: Derive a countProtocol skill assetspassed1.75 ms
    rejects missing planning guidance: Group a body of workProtocol skill assetspassed1.11 ms
    rejects missing planning guidance: Hold advisory priorityProtocol skill assetspassed1.96 ms
    owns skills under .agents and exposes them to Claude through one relative symlinkProtocol skill assetspassed0.39 ms
    ships every skill folder in the package and indexes it in the helpProtocol skill assetspassed1.08 ms
    uses the repository's two-field single-file conventionProtocol skill assetspassed2.36 ms
    keeps every skill graph-first and the authoring law linked to carrying SpecsProtocol skill assetspassed3.17 ms
    names the complete closed graph schema in the shape sectionProtocol skill assetspassed1.04 ms
    routes delivery sessions through the five advisory graph shapesProtocol skill assetspassed0.97 ms
    documents only valid CLI verbs and keeps root-specific exclusions intactProtocol skill assetspassed3.67 ms
    uses the local runtime or package runner instead of a colliding global binaryProtocol skill assetspassed1.67 ms
    contains no contradictory shortcuts for readiness or verifier realizationProtocol skill assetspassed1.36 ms
    states no recipe-catalog size in an on-rampProtocol skill assetspassed13.37 ms
    maps a task to every catalog recipe in one sheetthe graph-reading on-ramppassed5.28 ms
    links the Specs that own the graph contract, the claims and the sinkthe graph-reading on-ramppassed0.74 ms
    teaches every Markdown section owner and links the carrying grammaradopter teachingpassed1.1 ms
    teaches open-question homeadopter rule meaningspassed1.35 ms
    teaches blocking flooradopter rule meaningspassed1.06 ms
    teaches blocking deferraladopter rule meaningspassed0.98 ms
    teaches deferral triggeradopter rule meaningspassed0.85 ms
    teaches deferral preconditionadopter rule meaningspassed0.76 ms
    teaches independent defined flooradopter rule meaningspassed0.96 ms
    teaches complete example childrenadopter rule meaningspassed1.06 ms
    teaches example vocabulary agreementadopter rule meaningspassed0.81 ms
    teaches physical entry lineadopter rule meaningspassed0.69 ms
    teaches one leading prose owneradopter rule meaningspassed0.88 ms
    teaches Note is refusedadopter rule meaningspassed1.08 ms
    teaches ready reads parentadopter rule meaningspassed1.08 ms
    teaches ready waits for defined parentadopter rule meaningspassed1.4 ms
    teaches unsettled constraint homeadopter rule meaningspassed1.17 ms
    teaches unsettled blocking checkadopter rule meaningspassed1.89 ms
    teaches bounded relationadopter rule meaningspassed1.07 ms
    teaches bounded defined allowedadopter rule meaningspassed1.1 ms
    teaches bounded ready waitsadopter rule meaningspassed1.08 ms
    teaches pending decision below readyadopter rule meaningspassed1.03 ms
    teaches shaping relationadopter rule meaningspassed1.06 ms
    teaches owner states readyadopter rule meaningspassed1.02 ms
    teaches checked statement homeadopter rule meaningspassed1.13 ms
    teaches checking example relationadopter rule meaningspassed1.12 ms
    teaches example test bindingadopter rule meaningspassed1.08 ms
    teaches derived verifier factadopter rule meaningspassed1.82 ms
    teaches verifier existence versus passingadopter rule meaningspassed6.32 ms
    teaches CI owns outcomesadopter rule meaningspassed1.42 ms
    teaches no authored checked statusadopter rule meaningspassed7.3 ms
    teaches fresh derived counts registers scopeadopter rule meaningspassed1.32 ms
    teaches census sourceadopter rule meaningspassed6.12 ms
    teaches open-question register sourceadopter rule meaningspassed1.36 ms
    teaches dependency register sourceadopter rule meaningspassed1.99 ms
    teaches mention register sourceadopter rule meaningspassed1.22 ms
    teaches delta scope sourceadopter rule meaningspassed1.18 ms
    teaches no quoted countsadopter rule meaningspassed1.13 ms
    teaches operator-selected policyadopter rule meaningspassed1.84 ms
    teaches per-file policy parametersadopter rule meaningspassed1.1 ms
    teaches separate policy findingsadopter rule meaningspassed1.1 ms
    teaches policy failuresadopter rule meaningspassed1.13 ms
    teaches watch policy rereadsadopter rule meaningspassed1.08 ms
    teaches Constraints leading-prose exceptionadopter rule meaningspassed1.07 ms
    teaches one primary owneradopter rule meaningspassed1.07 ms
    rejects the opposite teaching for independent defined floor: defined floor does not read the parent's readinessadopter rule meaningspassed1.23 ms
    rejects the opposite teaching for independent defined floor: defined floor does not read the parent's readinessadopter rule meaningspassed1.23 ms
    rejects the opposite teaching for example vocabulary agreement: complete and match the parent's example vocabulary, when it has oneadopter rule meaningspassed2.27 ms
    rejects the opposite teaching for ready reads parent: ready floor does read the parent's readinessadopter rule meaningspassed1.17 ms
    rejects the opposite teaching for physical entry line: a wrapped or indented continuation is refusedadopter rule meaningspassed1.18 ms
    rejects the opposite teaching for one leading prose owner: Leading prose may stand under that owner or under Example space, not bothadopter rule meaningspassed1.13 ms
    rejects the opposite teaching for Note is refused: The parser reads - Note: x as a key and refuses itadopter rule meaningspassed1.1 ms
    rejects the opposite teaching for open-question home: An open question goes under Intent's ### Open questions.adopter rule meaningspassed1.07 ms
    accepts a harmless open-question instruction frameadopter rule meaningspassed1.14 ms
    defined examples ignore parent readiness but read its vocabulary: matches=trueadopter rule meaningspassed2.35 ms
    defined examples ignore parent readiness but read its vocabulary: matches=falseadopter rule meaningspassed0.44 ms
    teaches the Intent grammar rowadopter rule meaningspassed0.76 ms
    teaches the Intent grammar rowadopter rule meaningspassed0.63 ms
    teaches the Behavior grammar rowadopter rule meaningspassed0.55 ms
    teaches the Rule grammar rowadopter rule meaningspassed0.61 ms
    teaches the Workflow grammar rowadopter rule meaningspassed0.54 ms
    teaches the Workflow grammar rowadopter rule meaningspassed0.64 ms
    teaches the Contract grammar rowadopter rule meaningspassed0.63 ms
    teaches the Example space grammar rowadopter rule meaningspassed0.57 ms
    teaches the Example space grammar rowadopter rule meaningspassed0.51 ms
    teaches the Constraints grammar rowadopter rule meaningspassed0.54 ms
    teaches the Constraints grammar rowadopter rule meaningspassed0.53 ms
    teaches the Constraints grammar rowadopter rule meaningspassed0.55 ms
    teaches the Model grammar rowadopter rule meaningspassed0.5 ms
    teaches the Model grammar rowadopter rule meaningspassed0.55 ms
    teaches the Design grammar rowadopter rule meaningspassed0.5 ms
    teaches the Design grammar rowadopter rule meaningspassed0.55 ms
    teaches the Decision grammar rowadopter rule meaningspassed0.61 ms
    teaches the Decision grammar rowadopter rule meaningspassed0.53 ms
    teaches the UI grammar rowadopter rule meaningspassed0.51 ms
    teaches the Verification — <mode> grammar rowadopter rule meaningspassed0.51 ms
    teaches the Verification — <mode> grammar rowadopter rule meaningspassed0.52 ms
    teaches the Verification — <mode> grammar rowadopter rule meaningspassed0.5 ms
    keeps graph-reader verifier teaching about existence and CI outcomesadopter rule meaningspassed0.86 ms
    keeps session teaching advisory and separate from permissionadopter rule meaningspassed0.53 ms
    the README teaches commit pinadopter install and upgrade guidancepassed0.33 ms
    the README teaches npm script approvaladopter install and upgrade guidancepassed0.28 ms
    the README teaches npm git approvaladopter install and upgrade guidancepassed0.29 ms
    the README teaches pnpm repository approvaladopter install and upgrade guidancepassed0.27 ms
    the README teaches pnpm 10 exact approvaladopter install and upgrade guidancepassed0.26 ms
    the README teaches installed CLI checkadopter install and upgrade guidancepassed0.25 ms
    the README teaches vitest subpath requirementadopter install and upgrade guidancepassed0.25 ms
    the README teaches recipe subject as paramsadopter install and upgrade guidancepassed0.23 ms
    refuses wrapped continuationtaught grammar agrees with parser behaviorpassed1.49 ms
    refuses indented continuationtaught grammar agrees with parser behaviorpassed0.25 ms
    allows leading prose under either owner and refuses it under bothtaught grammar agrees with parser behaviorpassed1.11 ms
    refuses Note as a plain Rule entrytaught grammar agrees with parser behaviorpassed0.29 ms
    refuses Note as a plain Workflow entrytaught grammar agrees with parser behaviorpassed0.17 ms
    refuses Note as a plain Contract entrytaught grammar agrees with parser behaviorpassed0.13 ms
    refuses Note as a plain Verification — manual entrytaught grammar agrees with parser behaviorpassed0.6 ms
    refuses unique Model terms duplicatestaught grammar agrees with parser behaviorpassed0.53 ms
    refuses unique Design keys duplicatestaught grammar agrees with parser behaviorpassed0.16 ms
    refuses unique UI keys via Design form duplicatestaught grammar agrees with parser behaviorpassed0.14 ms
    refuses single Intent actor duplicatestaught grammar agrees with parser behaviorpassed0.53 ms
    refuses single Intent problem duplicatestaught grammar agrees with parser behaviorpassed0.17 ms
    refuses single Intent outcome duplicatestaught grammar agrees with parser behaviorpassed0.12 ms
    refuses single Intent value duplicatestaught grammar agrees with parser behaviorpassed0.12 ms
    refuses single Constraints statement duplicatestaught grammar agrees with parser behaviorpassed1.38 ms
    refuses single Constraints flavor duplicatestaught grammar agrees with parser behaviorpassed0.23 ms
    refuses single Constraints target duplicatestaught grammar agrees with parser behaviorpassed0.17 ms
    refuses single Constraints measurableBy duplicatestaught grammar agrees with parser behaviorpassed0.12 ms
    refuses single Decision context duplicatestaught grammar agrees with parser behaviorpassed0.26 ms
    refuses single Decision decision duplicatestaught grammar agrees with parser behaviorpassed0.11 ms
    allows Behavior alone and refuses a second primary ownertaught grammar agrees with parser behaviorpassed0.51 ms
    allows Rule alone and refuses a second primary ownertaught grammar agrees with parser behaviorpassed0.2 ms
    allows Workflow alone and refuses a second primary ownertaught grammar agrees with parser behaviorpassed0.14 ms
    allows Contract alone and refuses a second primary ownertaught grammar agrees with parser behaviorpassed0.22 ms
    allows leading prose in Design and refuses it in Constraintstaught grammar agrees with parser behaviorpassed0.21 ms
    allows the taught repeatable Intent entriestaught grammar agrees with parser behaviorpassed0.22 ms
    allows the taught repeatable Decision entriestaught grammar agrees with parser behaviorpassed0.16 ms
    extracts the key the skill's marker carries and resolves the address the skill gives itthe taught question markerpassed12.24 ms
    leaves the address unresolved when the key stands outside the bracketsthe taught question markerpassed7.39 ms
    creates the anchored suite before generating, and the build places the registrar beside itthe reviewed skill teachingpassed23.37 ms
    keys a step in the vocabulary, as the step-key law and the contract generator agreethe reviewed skill teachingpassed12.4 ms
    owns publishing in one reader section that agrees with each verb's flagsthe reviewed skill teachingpassed3.85 ms
    names the vault's owned folder, the person's notes and the roots a vault run removesthe reviewed skill teachingpassed0.76 ms
    teaches entry addresses, term addresses and anchored source citations as the engine derives themthe reviewed skill teachingpassed16.18 ms
    states what an empty or ready answer establishes and no morethe reviewed skill teachingpassed1.94 ms
    teaches a refused bundle as the end of pagination, as recipe 36 refusesthe reviewed skill teachingpassed11.52 ms
    keeps corpus rules in one section whose composed rules file runs as taughtthe reviewed skill teachingpassed10.59 ms
    points every skill at the installed upgrade guide and triggers authoring on upgrades and rulesthe reviewed skill teachingpassed1.91 ms
    orders the reader as a task route and leaves recipe contracts to the catalogthe reviewed skill teachingpassed3.36 ms
    states the graph's flat topology and which node types carry lines, as the graph doesthe reviewed skill teachingpassed15.04 ms
    is its own shipped skill, which the reading skill points tothe Studio on-ramppassed0.97 ms
    starts from what the agent holdsthe Studio on-ramppassed0.32 ms
    teaches the publishing run as the studio and generate verbs take itthe Studio on-ramppassed1.86 ms
    teaches stamping and the preview workflow as the workflow declares themthe Studio on-ramppassed5.73 ms
    has the preview's run evidence checked against the stamp, never assumed to match itthe Studio on-ramppassed2.7 ms
    maps each task to a page the Studio writes, and states what a page does notthe Studio on-ramppassed52.89 ms
    receives the composing panel's hand-off through the proposal checkthe Studio on-ramppassed9.59 ms
    cites resolving Studio Specs for law and leaves flags to each verb's helpthe Studio on-ramppassed648.7 ms
    is its own shipped skill, which the reading skill points tothe vault on-ramppassed1.44 ms
    places the vault where the command accepts itthe vault on-ramppassed6.47 ms
    keeps the person's notes outside the folder the command ownsthe vault on-ramppassed0.67 ms
    teaches synchronizing and watching as the verbs and the failed index state themthe vault on-ramppassed0.61 ms
    names every refusal the guard prints and how to recover from itthe vault on-ramppassed0.93 ms
    converts a note's links back to the addresses the vault wrote, then checks the proposalthe vault on-ramppassed17.21 ms
    takes the proposal's base from the graph the person read, never from the latest synchronizationthe vault on-ramppassed4.62 ms
    cites resolving vault Specs for law and leaves flags to the verb's helpthe vault on-ramppassed97.29 ms
Design view

Requirement drawing

  • Declared verifying examples: no declared verifying example.
Requirement drawing for spec:consumers.authoring-on-ramp
The diagram as text
  • spec:consumers.authoring-on-ramp: Authors move one Spec from intent to reviewed evidence · declared Spec
  • spec:consumers.adopter-on-ramp: An adopter learns graph homes, carrier grammar and shipped paths from the on-ramps · declared Spec
  • spec:consumers.delivery-session-on-ramp: Delivery sessions route work from current graph state · declared Spec
  • spec:consumers.graph-first-planning: The next body of work is planned from the graph, not from a prose index · declared Spec
  • spec:consumers.shipped-protocol-corpus: The package ships the Specs and on-ramps its skills cite · declared Spec
  • spec:consumers.upgrade-kit: The upgrade kit shows a corpus what it could adopt · declared Spec
  • spec:consumers.validate-watch: Validation re-runs while an author edits carriers · declared Spec
  • spec:consumers.readiness-planner: The readiness planner orders the statements a person can make · declared Spec
  • spec:consumers.roadmap: A roadmap orders the next bodies of work, and the graph says what each still needs · declared Spec
  • spec:consumers.upgrade-kit.capability-adoption: Capability adoption counts where each capability is used and where it could apply · declared Spec
  • spec:consumers.upgrade-kit.rule-key-proposal: The rule-key proposal keys every unkeyed rule as a change proposal · declared Spec
  • impl:protocol.adopter-help: SDP_HELP_TEXT indexes the shipped skills, recipe catalog, schema, walkthrough, glossary and specs/ by package-relative path · anchored code · src/cli/help.ts:167
  • impl:protocol.adopter-on-ramp: asserts realization of the shipped adopter teaching in the authoring skill · anchored code · test/skills.test.ts:712
  • impl:protocol.authoring-on-ramp: asserts realization of the shipped graph-first authoring skill document · anchored code · test/skills.test.ts:76
  • impl:protocol.delivery-session-on-ramp: asserts realization of the shipped advisory delivery-session skill document · anchored code · test/skills.test.ts:83
  • impl:protocol.graph-first-planning: realizes placement homes and advisory session guidance in the shipped skills · anchored code · test/skills.test.ts:290
  • impl:protocol.shipped-protocol-corpus: asserts the published package ships the Protocol corpus · anchored code · test/package-smoke.test.ts:252
  • impl:protocol.spec-scaffolder: scaffolds an honest idea-rung Markdown Spec through sdp new spec · anchored code · src/cli/new-spec-command.ts:348
  • impl:protocol.upgrade-guide: realizes the shipped upgrade guide document · anchored code · test/upgrade-kit.test.ts:87
  • impl:protocol.validate-watch: watches carrier directories and coalesces events into a pending validation rerun · anchored code · src/cli/validate-watch.ts:591
  • test:protocol.adopter-on-ramp: skill-asset checks verify the adopter on-ramp · anchored test binding · binding present · test/skills.test.ts:719
  • test:protocol.authoring-on-ramp: skill-asset checks verify the authoring on-ramp · anchored test binding · binding present · test/skills.test.ts:276
  • test:protocol.delivery-session-on-ramp: skill-asset checks verify advisory delivery-session routing · anchored test binding · binding present · test/skills.test.ts:283
  • test:protocol.graph-first-planning: checks placement homes and advisory graph-first session guidance · anchored test binding · binding present · test/skills.test.ts:296
  • test:protocol.shipped-protocol-corpus: package smoke checks verify the shipped corpus · anchored test binding · binding present · test/package-smoke.test.ts:259
  • test:protocol.upgrade-guide: test:protocol.upgrade-guide · anchored test binding · binding present · test/upgrade-kit.test.ts:94
  • test:protocol.validate-watch: watch-loop checks verify the validate --watch authoring loop · anchored test binding · binding present · test/cli.test.ts:1670
  • test:protocol.validate-watch-rules: process checks verify operator stop during active corpus rules · anchored test binding · binding present · test/corpus-rules.test.ts:343
  • spec:consumers.adopter-on-ramp refines spec:consumers.authoring-on-ramp · declared
  • spec:consumers.delivery-session-on-ramp refines spec:consumers.authoring-on-ramp · declared — a work shape routes an agent into one stretch of the authoring path, from capture to review
  • spec:consumers.graph-first-planning refines spec:consumers.authoring-on-ramp · declared — the planning rules specialize graph-first authoring for capturing and reading the next body of work
  • spec:consumers.readiness-planner refines spec:consumers.graph-first-planning · declared — the planner is an advisory planning recipe that orders nothing the Protocol enforces
  • spec:consumers.roadmap refines spec:consumers.graph-first-planning · declared — a roadmap is advisory reading of the graph for choosing the next work
  • spec:consumers.shipped-protocol-corpus refines spec:consumers.authoring-on-ramp · declared
  • spec:consumers.upgrade-kit refines spec:consumers.authoring-on-ramp · declared — the kit moves a whole corpus onto the capabilities the on-ramp teaches one Spec at a time
  • spec:consumers.upgrade-kit.capability-adoption refines spec:consumers.upgrade-kit · declared
  • spec:consumers.upgrade-kit.rule-key-proposal refines spec:consumers.upgrade-kit · declared
  • spec:consumers.validate-watch refines spec:consumers.authoring-on-ramp · declared
  • impl:protocol.adopter-help satisfies spec:consumers.adopter-on-ramp · anchored
  • impl:protocol.adopter-on-ramp satisfies spec:consumers.adopter-on-ramp · anchored
  • impl:protocol.authoring-on-ramp satisfies spec:consumers.authoring-on-ramp · anchored
  • impl:protocol.delivery-session-on-ramp satisfies spec:consumers.delivery-session-on-ramp · anchored
  • impl:protocol.graph-first-planning satisfies spec:consumers.graph-first-planning · anchored
  • impl:protocol.shipped-protocol-corpus satisfies spec:consumers.shipped-protocol-corpus · anchored
  • impl:protocol.spec-scaffolder satisfies spec:consumers.authoring-on-ramp · anchored
  • impl:protocol.upgrade-guide satisfies spec:consumers.upgrade-kit · anchored
  • impl:protocol.validate-watch satisfies spec:consumers.validate-watch · anchored
  • test:protocol.adopter-on-ramp verifies spec:consumers.adopter-on-ramp · anchored
  • test:protocol.authoring-on-ramp verifies spec:consumers.authoring-on-ramp · anchored
  • test:protocol.delivery-session-on-ramp verifies spec:consumers.delivery-session-on-ramp · anchored
  • test:protocol.graph-first-planning verifies spec:consumers.graph-first-planning · anchored
  • test:protocol.shipped-protocol-corpus verifies spec:consumers.shipped-protocol-corpus · anchored
  • test:protocol.shipped-protocol-corpus verifies spec:consumers.adopter-on-ramp · anchored
  • test:protocol.upgrade-guide verifies spec:consumers.upgrade-kit · anchored
  • test:protocol.validate-watch verifies spec:consumers.validate-watch · anchored
  • test:protocol.validate-watch-rules verifies spec:consumers.validate-watch · anchored
Mermaid source

Copyable source; the Studio draws static SVG.

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

Decisions

  • Bindings are optional, plural, and may reference a design

    On a code anchor, satisfies is optional and plural; on a test anchor, verifies is plural and non-empty. The constant form accepts one ref(…) or a fresh array literal of them. Each resolving target confers its fact, and implemented stays a whole-Spec fact. An anchored edge references runs from a CodeNode to a Spec, from references?: readonly SpecId[] on a code anchor; it may target any Spec, decisions included, confers no delivery fact, moves no readiness floor, and the drift alarm ignores it. It says this code answers to that design without claiming to realize it: the unit follows the design without realizing any of its promises, or realizes part of a Spec whose remaining promises no unit yet realizes, so a change to the design asks the code to follow. A design that builds on existing code states that by a typed relation to the Spec the code satisfies, never by a reference from the code. A target named in both satisfies and references is an error. An identity-only code anchor, with no satisfies and no references, is lawful: it mints a CodeNode for structure and for byFile, and nothing else.

  • The comment form is a second anchor representation

    An anchor has two extracted representations that feed one closed envelope, the constant form as ruled and a comment form. The comment form is a top-level /** … */ block in a .ts or .tsx file carrying reserved camelCase, TSDoc-compatible tags; @sdpAnchor <id> opens it, and the id's namespace selects the flavor exactly as the constant builders do. Comment prose still authors nothing: only the reserved tags are read, and a comment that does not open with /** is never read. Trust is by reserved grammar, not by builder import, so no import is required. The same id in two forms is a duplicate id. The package also ships a zero-dependency subpath @libar-dev/software-delivery-protocol/anchors exporting the id builders and the three anchor builders and nothing else, for runtimes that may import but must not load node:* modules or ts-morph; the extractor trusts that specifier as a Protocol builder module.

  • Architectural significance is annotated where it is realized

    Architectural significance is annotated on the anchor of the unit that realizes it. A code anchor may carry role, the architectural pattern the unit plays; a component: anchor may additionally carry layer, one of edge, application, domain, adapter, or infrastructure, and context, its bounded context. The component: anchor is anchored architecture: it is the declared component, and there is no separate architecture file, because the anchor sits where the component is realized. It is not the original design's declared Component that could exist before code; an unrealized component lives in Specs and never as an invented CodeNode. A role is a free, corpus-owned vocabulary whose taxonomy the census renders with counts from the graph; service, decider, projection, read-model, codec, contract, barrel, and utility are the lineage set, not a closed list. layer is a closed set, and a value outside it is an envelope error; layer or context on a non-component anchor is an envelope error. All three attributes are optional, and omission is lawful.

Runtime
  • component:protocol.cli · entry points, shared build and publication · src/cli/build-command.ts:32 · layer edge · context protocol

    Uses

    • component:protocol.adapters · external runtime and source adapters · src/adapters/vitest.ts:23 · layer adapter · context protocol
    • component:protocol.codegen · contracts and registrar output · src/codegen/contracts.ts:633 · layer application · context protocol
    • component:protocol.extract · the carrier and source pipeline · src/extract/index.ts:192 · layer application · context protocol
    • component:protocol.graph · the one graph and its semantic decisions · src/graph/schema.ts:34 · layer domain · context protocol
    • component:protocol.import · canonical conversion with a fidelity boundary · src/import/import.ts:45 · layer application · context protocol
    • component:protocol.model · the authored contracts and stable ids · src/model/anchors.ts:100 · layer domain · context protocol
    • component:protocol.projections · read-only output, layout and owned publication · src/projections/design-review.ts:29 · layer edge · context protocol
    • component:protocol.reader · the typed graph contract and body evaluator · src/reader/reader.ts:671 · layer application · context protocol
    • component:protocol.validate · one finding currency and ordered checks · src/validate/validators.ts:72 · layer domain · context protocol
  • impl:protocol.authoring-on-ramp · asserts realization of the shipped graph-first authoring skill document · test/skills.test.ts:76

    Uses

    None.

  • impl:protocol.spec-scaffolder · scaffolds an honest idea-rung Markdown Spec through sdp new spec · src/cli/new-spec-command.ts:348

    Component: component:protocol.cli · entry points, shared build and publication · src/cli/build-command.ts:32 · layer edge · context protocol

    Uses

    None.

Runtime observation: not tracked.

Evidence

Runtime observation: not tracked.

Build attestations: not tracked.

Deployments: not tracked.

Bills of materials: not tracked.

Impact
Relations of spec:consumers.authoring-on-ramp
Relations of spec:consumers.authoring-on-ramprefines · declareddependsOn · declareddecidedBy · declareddecidedBy · declareddecidedBy · declaredrefines · declaredrefines · declaredrefines · declaredrefines · declaredrefines · declaredOutgoing dependsOnspec:consumers.authoring-on-ramp.fold.Outgoing.dependsOn7 Outgoing dependsOn, folded…consumers.authoring-on-ramp.fold.Outgoing.dependsOnOutgoing decidedByspec:decisions.anchor-binding-grainBindings are optional,plural, and may reference adesign…decisions.anchor-binding-grainspec:decisions.anchor-comment-formThe comment form is asecond anchor representation…decisions.anchor-comment-formspec:decisions.architectural-annotationArchitectural significanceis annotated where it isrealized…decisions.architectural-annotationSubjectspec:consumers.authoring-on-rampAuthors move one Spec fromintent to reviewed evidence…consumers.authoring-on-rampIncoming refinesspec:consumers.adopter-on-rampAn adopter learns graphhomes, carrier grammar andshipped paths from theon-ramps…consumers.adopter-on-rampspec:consumers.delivery-session-on-rampDelivery sessions routework from current graphstate…consumers.delivery-session-on-rampspec:consumers.graph-first-planningThe next body of work isplanned from the graph, notfrom a prose index…consumers.graph-first-planningspec:consumers.shipped-protocol-corpusThe package ships the Specsand on-ramps its skills cite…consumers.shipped-protocol-corpusspec:consumers.upgrade-kitThe upgrade kit shows acorpus what it could adopt…consumers.upgrade-kitspec:consumers.validate-watchValidation re-runs while anauthor edits carriers…consumers.validate-watch
The diagram as text
  • spec:carrier.gherkin-authoring: Gherkin authoring enters the one graph
  • spec:carrier.markdown-pack-authoring: A Pack has a Markdown manifest carrier
  • spec:consumers.adopter-on-ramp: An adopter learns graph homes, carrier grammar and shipped paths from the on-ramps
  • spec:consumers.authoring-on-ramp: Authors move one Spec from intent to reviewed evidence
  • spec:consumers.delivery-session-on-ramp: Delivery sessions route work from current graph state
  • spec:consumers.edit-model: Views compose scoped intent instead of patching canonical source
  • spec:consumers.graph-first-planning: The next body of work is planned from the graph, not from a prose index
  • spec:consumers.shipped-protocol-corpus: The package ships the Specs and on-ramps its skills cite
  • spec:consumers.upgrade-kit: The upgrade kit shows a corpus what it could adopt
  • spec:consumers.validate-watch: Validation re-runs while an author edits carriers
  • spec:decisions.anchor-binding-grain: Bindings are optional, plural, and may reference a design
  • spec:decisions.anchor-comment-form: The comment form is a second anchor representation
  • spec:decisions.architectural-annotation: Architectural significance is annotated where it is realized
  • spec:model.open-question-fields: An open question may name who decides it, its links, a provisional reading and a re-entry trigger
  • spec:model.open-question-keys: An open question may carry a key that addresses it
  • spec:model.relation-reasons: An authored relation may carry its reason
  • spec:model.rule-keys: A rule or flow entry may carry a key that addresses it
  • spec:consumers.authoring-on-ramp decidedBy spec:decisions.anchor-binding-grain · declared — the skill teaches optional and plural targets, references and the collective promise test under this ruling
  • spec:consumers.authoring-on-ramp decidedBy spec:decisions.anchor-comment-form · declared — the skill teaches both extracted anchor forms and their silent non-binding hazards under this ruling
  • spec:consumers.authoring-on-ramp decidedBy spec:decisions.architectural-annotation · declared
  • spec:consumers.authoring-on-ramp dependsOn spec:carrier.gherkin-authoring · declared
  • spec:consumers.authoring-on-ramp dependsOn spec:carrier.markdown-pack-authoring · declared
  • spec:consumers.authoring-on-ramp dependsOn spec:consumers.edit-model · declared — an author edits the canonical carrier as the edit model states, never through a derived view
  • spec:consumers.authoring-on-ramp dependsOn spec:model.open-question-fields · declared
  • spec:consumers.authoring-on-ramp dependsOn spec:model.open-question-keys · declared
  • spec:consumers.authoring-on-ramp dependsOn spec:model.relation-reasons · declared
  • spec:consumers.authoring-on-ramp dependsOn spec:model.rule-keys · declared
  • spec:consumers.adopter-on-ramp refines spec:consumers.authoring-on-ramp · declared
  • spec:consumers.delivery-session-on-ramp refines spec:consumers.authoring-on-ramp · declared — a work shape routes an agent into one stretch of the authoring path, from capture to review
  • spec:consumers.graph-first-planning refines spec:consumers.authoring-on-ramp · declared — the planning rules specialize graph-first authoring for capturing and reading the next body of work
  • spec:consumers.shipped-protocol-corpus refines spec:consumers.authoring-on-ramp · declared
  • spec:consumers.upgrade-kit refines spec:consumers.authoring-on-ramp · declared — the kit moves a whole corpus onto the capabilities the on-ramp teaches one Spec at a time
  • spec:consumers.validate-watch refines spec:consumers.authoring-on-ramp · declared
Mermaid source

Copyable source; the Studio draws static SVG.

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

Rests on

Rested on by

Distance 1

Distance 2

Distance 3

Distance 4

Distance 5

Distance 6

Relations

Relation and directionOther endClaimReasonExercised keys
decidedBy · outgoingBindings are optional, plural, and may reference a design
spec:decisions.anchor-binding-grain · resolves
declaredthe skill teaches optional and plural targets, references and the collective promise test under this rulingNone
decidedBy · outgoingThe comment form is a second anchor representation
spec:decisions.anchor-comment-form · resolves
declaredthe skill teaches both extracted anchor forms and their silent non-binding hazards under this rulingNone
decidedBy · outgoingArchitectural significance is annotated where it is realized
spec:decisions.architectural-annotation · resolves
declaredNoneNone
dependsOn · outgoingGherkin authoring enters the one graph
spec:carrier.gherkin-authoring · resolves
declaredNoneNone
dependsOn · outgoingA Pack has a Markdown manifest carrier
spec:carrier.markdown-pack-authoring · resolves
declaredNoneNone
dependsOn · outgoingViews compose scoped intent instead of patching canonical source
spec:consumers.edit-model · resolves
declaredan author edits the canonical carrier as the edit model states, never through a derived viewNone
dependsOn · outgoingAn open question may name who decides it, its links, a provisional reading and a re-entry trigger
spec:model.open-question-fields · resolves
declaredNoneNone
dependsOn · outgoingAn open question may carry a key that addresses it
spec:model.open-question-keys · resolves
declaredNoneNone
dependsOn · outgoingAn authored relation may carry its reason
spec:model.relation-reasons · resolves
declaredNoneNone
dependsOn · outgoingA rule or flow entry may carry a key that addresses it
spec:model.rule-keys · resolves
declaredNoneNone
refines · incomingAn adopter learns graph homes, carrier grammar and shipped paths from the on-ramps
spec:consumers.adopter-on-ramp · resolves
declaredNoneNone
refines · incomingDelivery sessions route work from current graph state
spec:consumers.delivery-session-on-ramp · resolves
declareda work shape routes an agent into one stretch of the authoring path, from capture to reviewNone
refines · incomingThe next body of work is planned from the graph, not from a prose index
spec:consumers.graph-first-planning · resolves
declaredthe planning rules specialize graph-first authoring for capturing and reading the next body of workNone
refines · incomingThe package ships the Specs and on-ramps its skills cite
spec:consumers.shipped-protocol-corpus · resolves
declaredNoneNone
refines · incomingThe upgrade kit shows a corpus what it could adopt
spec:consumers.upgrade-kit · resolves
declaredthe kit moves a whole corpus onto the capabilities the on-ramp teaches one Spec at a timeNone
refines · incomingValidation re-runs while an author edits carriers
spec:consumers.validate-watch · resolves
declaredNoneNone

Bindings

Implementation binding: present

  • impl:protocol.authoring-on-ramp · asserts realization of the shipped graph-first authoring skill document · test/skills.test.ts:76
  • impl:protocol.spec-scaffolder · scaffolds an honest idea-rung Markdown Spec through `sdp new spec` · src/cli/new-spec-command.ts:348 · role service · component component:protocol.cli · layer edge · context protocol

Design reference: none

Verifier binding: present

  • test:protocol.authoring-on-ramp · skill-asset checks verify the authoring on-ramp · anchored · test/skills.test.ts:276 · test anchor

Expected-outcome oracle: none

Runtime observation: not tracked.

Run results: not recorded in the graph.

Findings

None.

Composing (0)

Composing needs the script.