120-a-scoped-sweep-judges-the-binary-the-blocks-name

A scoped sweep judges the binary the blocks name

Lifecycle approvedImplementation completeVerification unknownQualification unknown

The `Acceptance` workflow gives the sweep a binary built outside the sweep's worktree through `SPEC_SPINE_BIN`. Most acceptance blocks call `./target/release/spec-spine` relative to the worktree, and several do not build it first. In a whole-corpus run an earlier block's `cargo build --release` creates the file, so they pass by ordering. The push leg sweeps only the specs a merge touched, and when none of those builds, every block fails at exit 127, `not found`. That is how the ratification merge at `da47632b` and the merge at `ff79c68a` both went red with no acceptance failing. The workflow now lets the sweep build the binary from the revision inside its worktree, spec 089 3.8's default, so a block judges the binary it names.

Read the full pinned specification ↗

Relationships

Claimed units

  • extends
    {
      "nature": "corrective",
      "spec": "099-a-merged-acceptance-is-asked-again",
      "unit": {
        "kind": "file",
        "path": ".github/workflows/acceptance.yml"
      }
    }

Source headings

  1. 120: A scoped sweep judges the binary the blocks name
  2. 1. Purpose
  3. 2. Territory
  4. 3. Behavior
  5. 3.1 The sweep builds the binary it judges
  6. 3.2 Nothing else about the workflow moves
  7. 4. Out of scope
  8. 5. Resolved decisions
  9. Verification

Frozen anchors

No frozen anchors declared.