Repository navigation
Closed
Closed
Copy link
Labels
kind:taskA task the plan skill rendered; the body carries ## TaskA task the plan skill rendered; the body carries ## Taskmodel:strongestThe strongest model available: unknown ground, or large work that needs careThe strongest model available: unknown ground, or large work that needs caresize:M200 to 500 net lines; one PR200 to 500 net lines; one PR
Description
Task
| slice | size | difficulty | model | who | estimated lines |
|---|---|---|---|---|---|
| Round-two conditions closed | M | needs care | strongest | an agent | 260 (120 code, 140 tests) |
bep serve --quarantine-unreadablestarts past an unreadable audit line, and the chain still verifies across the quarantine.
Covers:
- BEP-068
Layers:
- recover:
- crates/bep/src/audit.rs: a quarantine moves each segment holding an unreadable line into
<audit dir>/quarantine/and appends aquarantinerecord that carries the moved segment's final hash, so the chain stays verifiable; a record of a kind this bep does not know is told apart from a corrupt line - crates/bep/src/main.rs:
bep serve --quarantine-unreadableruns 8000 the quarantine and starts;refuse_unreadablenames that flag cargo nextest run -p bep quarantine_keeps_the_chain_and_starts
- crates/bep/src/audit.rs: a quarantine moves each segment holding an unreadable line into
Waits on:
Plan block
### T75 — Give bep serve a chain-preserving way out of an unreadable audit line
slice: S10
kind: task
covers: BEP-068
size: M
est: 120 code, 140 tests
executor: agent
difficulty: needs care
model: strongest
diagnostics: the refusal names `bep serve --quarantine-unreadable` in place of a hand edit
observability: one warn line per quarantined segment, and a `quarantine` audit record
layers:
- recover:
- crates/bep/src/audit.rs: a quarantine moves each segment holding an unreadable line into `<audit dir>/quarantine/` and appends a `quarantine` record that carries the moved segment's final hash, so the chain stays verifiable; a record of a kind this bep does not know is told apart from a corrupt line
- crates/bep/src/main.rs: `bep serve --quarantine-unreadable` runs the quarantine and starts; `refuse_unreadable` names that flag
test: cargo nextest run -p bep quarantine_keeps_the_chain_and_starts
produces: none
consumes: none
proof: `bep serve --quarantine-unreadable` starts past an unreadable audit line, and the chain still verifies across the quarantine.
depends on:
- blocked by #2290
Generated by Claude Code
Reacted by minimal-foundry
Metadata
Metadata
Assignees
Labels
kind:taskA task the plan skill rendered; the body carries ## TaskA task the plan skill rendered; the body carries ## Taskmodel:strongestThe strongest model available: unknown ground, or large work that needs careThe strongest model available: unknown ground, or large work that needs caresize:M200 to 500 net lines; one PR200 to 500 net lines; one PR
Activity
norrietaylor commentedon Oct 26, 2026
The epic owner added this residual to the plan on 2026-10-26 as
T75(slice S10). Its body is now the rendered task. The residual text it replaces is kept below.Residual text
Residual from T33 #2583, review finding 4373352998, epic #1501. Filed under the epic owner's 2026-10-26 decision to merge the fail-closed refusal now and add the way out later.
bep serverefuses to start when a complete audit line does not parse (refuse_unreadableincrates/bep/src/main.rs), andholds_revocationkeeps that segment from the prune. The only remedy the refusal offers is to hand-edit an append-only segment, which breaks the hash chain carried across segments. A record written by a newer bep, with a kind this bep does not know, also stops a downgraded bep from starting.What closes this
Generated by Claude Code
[-]Give bep serve a chain-preserving way out of an unreadable audit line (BEP-068)[/-][+]T75 — Give bep serve a chain-preserving way out of an unreadable audit line[/+]minimal-foundry commentedon Oct 26, 2026
Done. #2608 merged.
branch
agent/2588-give-bep-serve-a-chain-preserving-way-out-of-an· epic #1501 · PR #2608ab0f65bcaa96afe9781dcfac17172a5b9e61b3745a0747b6Updated 2026-10-26T20:55:35.219Z.