8000 T52 — Hold every record in one of five states, migrated once, and reaped only when unfinished · Issue #2387 · gominimal/minimal · GitHub
[go: up one dir, main page]

Skip to content
8000

T52 — Hold every record in one of five states, migrated once, and reaped only when unfinished #2387

Closed

Description

@mitodrummer

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_reason
    • cargo nextest run -p boxes state_is_exactly_one (deferred: kani)
    • cargo nextest run -p boxes restart_reaps_only_pending_and_materializing
    • cargo 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

Activity

  1. added
    kind:taskA task the plan skill rendered; the body carries ## Task
    size:L500 to 900 net lines; one PR, and the ceiling
    model:strongestThe strongest model available: unknown ground, or large work that needs care
    on Oct 19, 2026
  2. minimal-foundry commented on Oct 26, 2026

    @minimal-foundry
    Contributor

    Done. #2632 merged.

    branch agent/2387-hold-every-record-in-one-of-five-states-migrated · epic #2236 · PR #2632

    round outcome job
    1 pushed 9bb6fe36
    2 pushed 6ad97920
    3 pushed ebbba08f
    4 pushed 6e7eb3f0

    Updated 2026-10-27T00:15:26.916Z.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind:taskA task the plan skill rendered; the body carries ## Taskmodel:strongestThe strongest model available: unknown ground, or large work that needs caresize:L500 to 900 net lines; one PR, and the ceiling

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0