Spec Studio

Prose belongs to typed graph owners

spec:decisions.prose-ownershipDecision Record · featureready floor ready

Packs: pack:self-hosting-v1

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

Findings: no errors, no warnings

specs/decisions/prose-ownership.sdp.md

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

Intent
outcome
Preserve free prose for projections without making its attachment ambiguous or forcing consumers to re-parse files.
Decision
context
Document prose needs a stable graph home when section structure evolves.
decision
Free prose is stored as a narrative or a description on its typed owner; unowned prose is refused.
rationale
  • File pointers force consumer re-parsing, while heading-path keys make churned document structure carry identity.
consequences
  • Prose remains graph content inside typed shapes and ambiguous attachment fails loudly.
  • A relation owns its reason and an open question owns its fields, so the one typed-owner law covers edge text.
Verification

Verifier bindings

No verifier binding recorded.

Design view

Requirement drawing

  • Declared verifying examples: no declared verifying example.
  • Satisfying or referencing units: no recorded binding.
  • Test or oracle bindings: no recorded binding.
Requirement drawing for spec:decisions.prose-ownership

Arrows: refines (declared).

The diagram as text
  • spec:decisions.prose-ownership: Prose belongs to typed graph owners · declared Spec
  • spec:carrier.prose-ownership-rule: Every prose value has one typed owner · declared Spec
  • spec:decisions.prose-ownership refines spec:carrier.prose-ownership-rule · declared
Mermaid source

Copyable source; the Studio draws static SVG.

Preferred and chosen syntax: requirementDiagram; exact refines, satisfies and verifies, with claim words in nodes and per-edge comments.

Decisions

No decision record named.

Runtime

No implementation neighborhood recorded.

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:decisions.prose-ownership
The diagram as text
  • spec:carrier.gherkin-authoring: Gherkin authoring enters the one graph
  • spec:carrier.markdown-body-grammar: The Markdown body accepts one closed form per section
  • spec:carrier.prose-ownership-rule: Every prose value has one typed owner
  • spec:consumers.gherkin-view: Gherkin view renders any Spec as a disposable read shape
  • spec:decisions.carrier-universality: Carrier universality is bounded by honest kind structure
  • spec:decisions.prose-ownership: Prose belongs to typed graph owners
  • spec:model.relation-reasons: An authored relation may carry its reason
  • spec:decisions.prose-ownership refines spec:carrier.prose-ownership-rule · declared
  • spec:carrier.gherkin-authoring decidedBy spec:decisions.prose-ownership · declared
  • spec:carrier.markdown-body-grammar decidedBy spec:decisions.prose-ownership · declared
  • spec:carrier.prose-ownership-rule decidedBy spec:decisions.prose-ownership · declared
  • spec:consumers.gherkin-view decidedBy spec:decisions.prose-ownership · declared — description prose stays on its typed graph owner
  • spec:model.relation-reasons decidedBy spec:decisions.prose-ownership · declared — the relation owns its reason as typed prose
  • spec:decisions.carrier-universality dependsOn spec:decisions.prose-ownership · declared
Mermaid source

Copyable source; the Studio draws static SVG.

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

Rests on

Rested on by

Distance 1

Distance 2

Distance 3

Distance 4

Distance 5

Distance 6

Distance 7

Distance 8

Distance 9

Relations

Relation and directionOther endClaimReasonExercised keys
refines · outgoingEvery prose value has one typed owner
spec:carrier.prose-ownership-rule · resolves
declaredNoneNone
decidedBy · incomingGherkin authoring enters the one graph
spec:carrier.gherkin-authoring · resolves
declaredNoneNone
decidedBy · incomingThe Markdown body accepts one closed form per section
spec:carrier.markdown-body-grammar · resolves
declaredNoneNone
decidedBy · incomingEvery prose value has one typed owner
spec:carrier.prose-ownership-rule · resolves
declaredNoneNone
decidedBy · incomingGherkin view renders any Spec as a disposable read shape
spec:consumers.gherkin-view · resolves
declareddescription prose stays on its typed graph ownerNone
decidedBy · incomingAn authored relation may carry its reason
spec:model.relation-reasons · resolves
declaredthe relation owns its reason as typed proseNone
dependsOn · incomingCarrier universality is bounded by honest kind structure
spec:decisions.carrier-universality · resolves
declaredNoneNone

Bindings

Implementation binding: none

Design reference: none

Verifier binding: none

Expected-outcome oracle: none

Runtime observation: not tracked.

Run results: not recorded in the graph.

Findings

None.

Composing (0)

Composing needs the script.