Spec Studio

Exhaustive symbol reach waits for a language-neutral identity

spec:consumers.impact-graph.symbol-reachUse Case / Behavior · featureidea floor scoped

Next rung scoped: nothing blocks; it waits only for the author's statement.

Packs: pack:self-hosting-v1

Design: no design entries · no pinned declarations · 1 decision

Findings: no errors, no warnings

specs/consumers/impact-graph.symbol-reach.sdp.md

1 open question and 1 blocking question; implementation binding none, verifier binding none, and expected-outcome oracle none.

Intent
outcome
Answer find-all-usages and symbol-level impact exhaustively once a symbol identity exists that no single compiler owns.

Open questions

  • blocking · question.symbolIdentity line 18 · specs/consumers/impact-graph.symbol-reach.sdp.md:18 · Which language-neutral identity and extraction boundary can support exhaustive symbol reach without freezing a single compiler's representation into the Protocol?Decider: ownerTrigger: a reader needs symbol-level reach that file-level imports and curated anchors cannot give
Behavior
rule line 23 · specs/consumers/impact-graph.symbol-reach.sdp.md:23
Symbol reach is inferred structure, kept apart from the curated graph under spec:consumers.impact-graph#rule.inferredApart, and a symbol is never an anchor id or a relation target.

1 unkeyed rule.

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:consumers.impact-graph.symbol-reach

Arrows: refines (declared).

The diagram as text
  • spec:consumers.impact-graph.symbol-reach: Exhaustive symbol reach waits for a language-neutral identity · declared Spec · no satisfying binding
  • spec:consumers.impact-graph: Mechanical code structure stays inferred and apart from curated intent · declared Spec
  • spec:consumers.impact-graph.symbol-reach refines spec:consumers.impact-graph · 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

  • Planning truths live in ruled graph homes

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

Runtime

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:consumers.impact-graph.symbol-reach
The diagram as text
  • spec:consumers.impact-graph: Mechanical code structure stays inferred and apart from curated intent
  • spec:consumers.impact-graph.symbol-reach: Exhaustive symbol reach waits for a language-neutral identity
  • spec:decisions.planning-truths-placement: Planning truths live in ruled graph homes
  • spec:consumers.impact-graph.symbol-reach decidedBy spec:decisions.planning-truths-placement · declared — that decision homes a deferral as a blocking open question on its own Spec, as symbol identity is here
  • spec:consumers.impact-graph.symbol-reach refines spec:consumers.impact-graph · 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

No Spec rests on this Spec.

Relations

Relation and directionOther endClaimReasonExercised keys
decidedBy · outgoingPlanning truths live in ruled graph homes
spec:decisions.planning-truths-placement · resolves
declaredthat decision homes a deferral as a blocking open question on its own Spec, as symbol identity is hereNone
refines · outgoingMechanical code structure stays inferred and apart from curated intent
spec:consumers.impact-graph · 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.