Skip to content

ADR-0067: A selection carries nothing onto the next one

Status: Accepted Date: 2026-09-20

Decisions

D-143 A successful select-span clears the marked passage, the SDS Section and the attachment

Nothing decided about one span is carried onto the next. The selection surface returns to the state it holds before any span has been marked.

Context

Ratified as built; no code changes fall out of this ruling.

The behaviour was found by the review of ticket 39, not by the grill. The selection surface resets its candidate after every successful select, clearing all three fields. Ticket 39 never asked for it. The implementing agent decided it, argued for it in a docblock, and pinned it with a test.

That is the part worth a ruling. A product decision was settled where no gate watches it and no reader finds it — which is the shape blocker 9 and blocker 11 were both made of. The behaviour is right; the place it was recorded was not. This ADR moves the reasoning out of the docblock, and the docblock cites it.

The behaviour is also the same instinct the rest of that surface already enforces. It offers no default Section, no default ordinal, no default material, condition, reviewer or review date — every field refuses rather than fills. This ruling applies that instinct to what survives a submission rather than to what is offered before one. A span is a curator's judgement about one passage (D-119, D-120); a field that quietly arrived from the previous span is a judgement nobody made.

Decision

A successful selection clears the marked passage, the SDS Section and the attachment. The next selection starts from nothing.

Rejected options

  • Keeping the marked passage and clearing only the Section and the attachment — rejected. It is the better ergonomic guess, but it is a guess: no real SDS has been curated yet, so nobody knows whether two spans from one passage is the common case or the rare one. Guessing in the direction that can carry state across a safety selection is the wrong way to guess.
  • Leaving the reasoning in the docblock and the test — rejected because that is the defect, not the record of it. A product decision pinned only by a test is one the next agent changes by updating the test, having never seen an argument against it.

This ruling may not be re-decided

If a change contradicts this ADR: stop and raise it. Do not implement over it.

Specifically: do not carry the marked passage, the Section or the attachment onto the next selection as a convenience, and do not introduce a "keep my last Section" affordance without a new ruling. If curation of a real SDS shows two spans from one passage is the common case, that is an ADR, not a tweak.

Consequences

What becomes true. No field of a Source Span can arrive from the previous span. The reasoning for the reset is findable by a reader who never opens the component.

What this costs — stated, not discovered. A curator drawing two spans from one passage marks that passage twice. That is accepted: the cheaper thing to lose is a mouse drag, and the expensive thing to lose is a span that quietly inherited the previous span's Section.

What is closed off. Any carry-over between selections, including a remembered Section, until a ruling says otherwise.

Coverage

UpstreamLanded inEvidenceNote
D-119D-143a span's text is the verified text of one page, marked by the curator for that span; a carried-over passage would attach a judgement to a span nobody made it forADR-0052
D-120D-143identity is read from the Sds and never supplied by the caller, which is the same refusal-to-default this ruling extends past submissionADR-0052
D-44Dropped: the reconciliation rules govern what a selection must resolve, not what survives one; this ruling touches neither the check nor its outcomes (D-104)