Repository navigation
Closed
Labels
kind:taskA task the plan skill rendered; the body carries ## TaskA task the plan skill rendered; the body carries ## Taskmodel:standardA standard model: work that needs care, or routine work that is largeA standard model: work that needs care, or routine work that is largesize: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 |
|---|---|---|---|---|---|
| Clone, push and gh from a box with no token in it | L | routine | standard | an agent | 600 (300 code, 300 tests) |
min box audit weblists only that box's decisions and names the id it read.
Covers:
- BEP-042
Layers:
- cli:
- crates/minimal/src/cli.rs:
min box audit <box|self> | --parent <box|self> [-o jsonl] [--follow] - crates/minimal/src/cmd/mod.rs: dispatch and module line
- crates/minimal/src/cmd/box_audit.rs (new): the BEP-042 grammar: one box id, a name,
--follow,--parent,selfrefused - crates/bep/src/audit.rs: a reader over the log for the client
cargo nextest run -p minimal box_audit_filters_to_one_boxcargo nextest run -p minimal box_audit_name_reads_live_else_latest_creationcargo nextest run -p minimal box_audit_follow_replays_then_tailscargo nextest run -p minimal box_audit_parent_merges_childrencargo nextest run -p minimal box_audit_self_unenrolled_refused_with_error
- crates/minimal/src/cli.rs:
Waits on:
- T9 — Append hash-chained audit records the proxy alone writes #2262
- T15 — Show the root fingerprint, the upstream set, steering and the full marker in min box spec #2267
Plan block
### T17 — Read one box's audit trail with min box audit
slice: S0
kind: task
covers: BEP-042
size: L
est: 300 code, 300 tests
executor: agent
difficulty: routine
model: standard
diagnostics: inside a box, `min box audit self` prints "Reading your own audit trail from inside a box needs a Gatehouse. On the host, run `min box audit <box>`." on stderr and exits non-zero, pinned by box_audit_self_unenrolled_refused_with_error; a name prints "Showing <name> (box <id>)." before the records
observability: one debug log line per read naming the box id and the segments read
layers:
- cli:
- crates/minimal/src/cli.rs: `min box audit <box|self> | --parent <box|self> [-o jsonl] [--follow]`
- crates/minimal/src/cmd/mod.rs: dispatch and module line
- crates/minimal/src/cmd/box_audit.rs (new): the BEP-042 grammar: one box id, a name, `--follow`, `--parent`, `self` refused
- crates/bep/src/audit.rs: a reader over the log for the client
test: cargo nextest run -p minimal box_audit_filters_to_one_box
test: cargo nextest run -p minimal box_audit_name_reads_live_else_latest_creation
test: cargo nextest run -p minimal box_audit_follow_replays_then_tails
test: cargo nextest run -p minimal box_audit_parent_merges_children
test: cargo nextest run -p minimal box_audit_self_unenrolled_refused_with_error
produces:
- crates/minimal/src/cmd/box_audit.rs (entry point)
consumes:
- crates/bep/src/audit.rs
proof: `min box audit web` lists only that box's decisions and names the id it read.
depends on:
- blocked by #2262
- blocked by #2267
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:standardA standard model: work that needs care, or routine work that is largeA standard model: work that needs care, or routine work that is largesize:L500 to 900 net lines; one PR, and the ceiling500 to 900 net lines; one PR, and the ceiling
Activity
minimal-foundry commentedon Oct 20, 2026
Done. #2457 merged.
branch
agent/2269-read-one-box-s-audit-trail-with-min-box-audit· epic #1501 · PR #2457426fb1104cb069aee5763a76e3b1671a180ff0dd6e722c0962cd11c8ff0505cbUpdated 2026-10-20T22:48:54.757Z.