Repository navigation
8000
Closed
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:L500 to 900 net lines; one PR, and the ceiling500 to 900 net lines; one PR, and the ceiling
Description
Task
| slice | size | difficulty | model | who | estimated lines |
|---|---|---|---|---|---|
| Retained sessions | L | needs care | strongest | an agent | 870 (410 code, 460 tests) |
After restart, old sessions are running boxes; only unfinished records reaped.
Covers:
- BOX-001
- BOX-003
- BOX-011
- BOX-012
Layers:
- state-model:
- crates/boxes/src/core/record.rs (new): state model, reap decision, harnesses
- crates/boxes/src/core/mod.rs: mod line
- crates/boxes/src/lib.rs: running, stopped, exited
- scripts/kani.sh: two more harnesses
cargo nextest run -p boxes record_state_is_one_of_five_with_exit_reasoncargo nextest run -p boxes state_is_exactly_one(deferred: kani)cargo nextest run -p boxes restart_reaps_only_pending_and_materializingcargo nextest run -p boxes restart_reaps_only_pending_or_materializing(deferred: kani)
- migration:
- crates/boxes/src/store.rs: one-time migration
cargo nextest run -p boxes restart_migrates_records_missing_type_or_parent_once
- create-path:
- crates/minimald/src/box_manager.rs: verb type; pure reap at start
- crates/minimald/src/box_manager/tests.rs: tests
- crates/minimal/src/task.rs: marks the task verb
cargo nextest run -p minimald legacy_create_path_records_type_from_creating_verb
Waits on:
Plan block
### T52 — Hold every record in one of five states, migrated once, and reaped only when unfinished
slice: S0
kind: task
covers: BOX-001, BOX-003, BOX-011, BOX-012
size: L
est: 410 code, 460 tests
executor: agent
difficulty: needs care
model: strongest
diagnostics: daemon log names each migrated record
observability: one log line per migrated record
layers:
- state-model:
- crates/boxes/src/core/record.rs (new): state model, reap decision, harnesses
- crates/boxes/src/core/mod.rs: mod line
- crates/boxes/src/lib.rs: running, stopped, exited
- scripts/kani.sh: two more harnesses
test: cargo nextest run -p boxes record_state_is_one_of_five_with_exit_reason
test (deferred: kani): cargo nextest run -p boxes state_is_exactly_one
test: cargo nextest run -p boxes restart_reaps_only_pending_and_materializing
test (deferred: kani): cargo nextest run -p boxes restart_reaps_only_pending_or_materializing
- migration:
- crates/boxes/src/store.rs: one-time migration
test: cargo nextest run -p boxes restart_migrates_records_missing_type_or_parent_once
- create-path:
- crates/minimald/src/box_manager.rs: verb type; pure reap at start
- crates/minimald/src/box_manager/tests.rs: tests
- crates/minimal/src/task.rs: marks the task verb
test: cargo nextest run -p minimald legacy_create_path_records_type_from_creating_verb
produces:
- crates/boxes/src/core/record.rs
consumes: none
proof: After restart, old sessions are running boxes; only unfinished records reaped.
depends on:
- blocked by #2386
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:L500 to 900 net lines; one PR, and the ceiling500 to 900 net lines; one PR, and the ceiling
Activity
minimal-foundry commentedon Oct 26, 2026
Done. #2632 merged.
branch
agent/2387-hold-every-record-in-one-of-five-states-migrated· epic #2236 · PR #26329bb6fe366ad97920ebbba08f6e7eb3f0Updated 2026-10-27T00:15:26.916Z.