Skip to content

Move the re-entry disclosure onto the entry seam; collect emits a complete STEP_ENTERED #820

Description

@tobyhede

Parent

#799. Design record: .scratch/render-execution-unit/spec.md.

What to build

Move the re-entry disclosure path onto the same entry seam, so rundown collect emits a complete STEP_ENTERED instead of one missing every rendered field.

The frontier seam stops taking a caller-supplied entry. It reads exactly one fact off that parameter today — whether the cursor is on a substep — and can derive that itself from the state it already holds. Deleting the parameter removes the last route by which a caller can hand the seam an entry that disagrees with the state.

The hand-built partial entry in the collection service goes away, along with the mutant-equivalence annotations that existed only because half the fields it built were never observed.

The disclosure ordering is unchanged and must stay that way: the consume commits before observations are returned, so a failed consume discloses no bearers.

Acceptance criteria

  • rundown collect emits the same STEP_ENTERED fields as rundown run for the same unit — the characterisation assertions flip, and the flip is the visible diff.
  • The frontier seam no longer accepts an entry parameter on either its fenced or unfenced form.
  • prompted on the collect path now includes the prompted-FOR term.
  • Bearer-disclosure ordering is unchanged, with the existing guarantee still asserted.
  • The new failure surface is handled: a run that cannot render now fails a collect that previously succeeded with a thinner event. Map it to a typed error rather than letting a bare error escape.
  • pnpm run verify green.

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Labels

    DelegationDelegation lifecycle remaining-work roadmap (2026-07-01)P2: mediumFeature / architectural cleanupbugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions