Skip to content

3747-4: abort decider + sentinel (~200 LOC code) #3796

@nikw9944

Description

@nikw9944

Parent issue: #3747

Split from plan review of #3747 (estimated ~200 lines).

PR stack: this issue's branch should target nikw9944/doublezero-3795 (the previous sub-issue's branch).


  • Creates internal/abort/decider.go (central state machine, rolling
    windows, p95 helpers, sentinel writer).
  • Wires all collector outputs into the decider (replacing PR 1 stub
    channels).
  • Adds startup check that refuses to start when a stale abort exists
    in --working-dir unless --force.
  • Adds unit test per trigger (full list in "Files to Change → New (tests)"
    below).
  • Updates README with abort-trigger table and operator-contract section.

Each chunk leaves the binary in a working, runnable state with the
previously shipped behavior intact.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions