8000 feat(minimal): list each store reference with its authorities in min box spec (T61) by minimal-foundry[bot] · Pull Request #2569 · gominimal/minimal · GitHub
[go: up one dir, main page]

Skip to content

feat(minimal): list each store reference with its authorities in min box spec (T61) - #2569

Merged
norrietaylor merged 2 commits into
mainfrom
agent/2541-list-each-store-reference-with-its-authorities-i
Oct 25, 2026
Merged

norrietaylor merged 2 commits into
mainfrom
agent/2541-list-each-store-reference-with-its-authorities-i

Conversation

@minimal-foundry
Copy link
Copy Markdown
Contributor

T61 — List each store reference with its authorities in min box spec

slice: S9
kind: task
covers: BEP-063
size: S
est: 60 code, 80 tests
executor: agent
difficulty: routine
model: standard
diagnostics: min box spec <box> lists each store reference the box declares with the authorities its rule registers
observability: none beyond the printed listing
layers:
- spec:
- crates/minimal/src/cmd/box_spec.rs: prints each store reference under the grant with the authorities the matching store rule registers
test: cargo nextest run -p minimal box_spec_lists_store_references_with_their_authorities
produces: none
consumes: none
proof: min box spec on a box with one store reference prints the reference and the authorities its rule registers.
depends on:
- blocked by T27
- assumes OQ3


Generated by Claude Code

Proof

min box spec on a box that declares one store reference, such as keychain:claude, prints store keychain:claude CLAUDE upstream api.anthropic.com, .... The list is the authorities that the matching [secret-store-rules] rule registers. A reference with no matching rule prints no rule in [secret-store-rules] in config.toml.

Notes from the agent: The command reads the merged user and organization store rules through read_client_config_and_store_rules, and only when the project declares a store reference. That reader fails closed on an organization config that does not parse, as box creation does. A matching rule with an empty upstream prints no upstream registered. This is the deny rule that the reader adds for an item whose rules are all refused. The old row text no hosts registered is gone. No doc or script pinned that text. clippy -p minimal --all-targets reports no warning in box_spec.rs. The warnings it prints are in other crates and existed before this change.

Tests

line exit tail
cargo nextest run -p minimal box_spec_lists_store_references_with_their_authorities 0 Applying loadouts: default Running task runtime-implement-test-0 in session task-runtime-implement-test-0-a6cb... Compiling ot v0.0.1 (/workbench/crates/ot) Compiling args v0.0.1 (/workbench/crates/args) Compiling paths v0.0.1 (/workbench/crates/paths) Compiling stdlib v0.0.22 (/workbenc

Verify

min task run agent-verify exited 101 under rustc 1.98.1, which the repository does not pin (1.97.0 in rust-toolchain.toml); the PR is not a draft on that alone — CI, which honours the pin, is the gate.

the sandbox ran rustc (1.98.1), the repository pins 1.97.0 in rust-toolchain.toml; a failure here may be the newer toolchain's, not this change's
Applying loadouts: default
Running task runtime-implement-verify in session task-runtime-implement-verify-59ad...
    Checking args v0.0.1 (/workbench/crates/args)
    Checking ot v0.0.1 (/workbench/crates/ot)
    Checking paths v0.0.1 (/workbench/crates/paths)
   Compiling stdlib v0.0.22 (/workbench/crates/stdlib)
   Compiling version v0.8.0 (/workbench/crates/version)
    Checking switch v0.0.1 (/workbench/crates/switch)
    Checking common v0.0.1 (/workbench/crates/common)
   Compiling minvmd v0.8.0 (/workbench/crates/minvmd)
    Checking diagnostics v0.0.1 (/workbench/crates/diagnostics)
    Checking boxes v0.0.1 (/workbench/crates/boxes)
    Checking sandbox v0.0.1 (/workbench/crates/sandbox)
    Checking bep v0.0.1 (/workbench/crates/bep)
    Checking async-dialog v0.0.1 (/workbench/crates/async-dialog)
    Checking mfile v0.0.1 (/workbench/crates/mfile)
    Checking minimald-rpc v0.0.1 (/workbench/crates/minimald-rpc)
    Checking mlog v0.0.1 (/workbench/crates/mlog)
    Checking decode v0.0.1 (/workbench/crates/decode)
    Checking checkouts v0.0.1 (/workbench/crates/checkouts)
    Checking graph v0.0.1 (/workbench/crates/graph)
    Checking lcache v0.0.1 (/workbench/crates/lcache)
    Checking rcache v0.0.1 (/workbench/crates/rcache)
    Checking op v0.0.1 (/workbench/crates/op)
error: using `chunks_exact` with a constant chunk size
   --> crates/minimald-rpc/src/trace.rs:199:46
    |
199 |     for (byte, pair) in out.iter_mut().zip(s.chunks_exact(2)) {
    |                                              ^^^^^^^^^^^^^^^
    |
help: consider using `as_chunks::<2>()` instead
   --> crates/minimald-rpc/src/trace.rs:199:46
    |
199 |     for (byte, pair) in out.iter_mut().zip(s.chunks_exact(2)) {
    |                                              ^^^^^^^^^^^^^^^
    = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.98.0/index.html#chunks_exact_to_as_chunks
    = note: `-D clippy::chunks-exact-to-as-chunks` implied by `-D warnings`
    = help: to override `-D warnings` add `#[allow(clippy::chunks_exact_to_as_chunks)]`

error: could not compile `minimald-rpc` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...

Closes #2541

Each store row in min box spec now prints the upstream authorities
that the matching [secret-store-rules] rule registers. A reference
with no matching rule says so.
@coderabbitai
coderabbitai Bot commented Oct 25, 2026 •
Copy link
Copy Markdown
Contributor

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 954559ef-c8a1-4ec7-8b38-eadb9ed909ac

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Comment @coderabbitai help to get the list of available commands.

@minimal-foundry
minimal-foundry Bot commented Oct 25, 2026 •
Copy link
Copy Markdown
Contributor Author

Approved: every review thread resolved at da8169260e6a.

@norrietaylor resolved the last thread, which releases the approval this review had withheld.

Nothing to do.

@minimal-arch minimal-arch Bot left a comment
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

arch-review: PASS · the full ruling

The change conforms to Gatehouse §6.10 line 849. min box spec now lists each store reference with the authorities that its [secret-store-rules] rule registers. The rules come from the reader and the matcher that box create uses, so the listing matches the minted handle. The task names BEP-063, but the requirement that this change delivers is BEP-038. Correct that label in the plan. No condition.

Ruled at 23782d9 against gominimal/arch@109541a48c31 by claude-opus-5-5.

@minimal-foundry minimal-foundry Bot left a comment
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minimal-review — advisory review

Verdict COMMENT — 1 finding, 1 inline.

Panel: 3 of 3 personas ran (correctness, security, supply-chain).

Comment thread crates/minimal/src/cmd/box_spec.rs Resolved
A rule with action = "deny" can keep an upstream. The row printed that
upstream, so it implied the box can redeem the reference. The row now
says the rule denies the reference and lists no authorities.
@minimal-arch minimal-arch Bot left a comment
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

arch-review: PASS · the full ruling

The new commit shows a deny store ru 8000 le as denied in min box spec, and it lists no authorities for that rule. A denied reference gets no authority, so the row is now exact. Gatehouse §6.10 line 849 requires this exact listing. The rest of the ruling on 23782d94 stands. No conditions.

Ruled at da81692 against gominimal/arch@109541a48c31 by claude-opus-5-5.

@minimal-foundry
Copy link
Copy Markdown
Contributor Author

Round 1 of 10 on the runtime's review findings, pushed as da8169260e6a.

line exit tail
cargo nextest run -p minimal box_spec_lists_store_references_with_their_authorities 0 Applying loadouts: default Running task runtime-implement-test-0 in session task-runtime-implement-test-0-d08e... Compiling ot v0.0.1 (/workbench/crates/ot) Compiling args v0.0.1 (/workbench/crates/args) Compiling paths v0.0.1 (/workbench/crates/paths) Compiling stdlib v0.0.22 (/workbenc

Verify min task run agent-verify exited 101 under rustc 1.98.1, which the repository does not pin (1.97.0 in rust-toolchain.toml); the PR is not a draft on that alone — CI, which honours the pin, is the gate.

the sandbox ran rustc (1.98.1), the repository pins 1.97.0 in rust-toolchain.toml; a failure here may be the newer toolchain's, not this change's
Applying loadouts: default
Running task runtime-implement-verify in session task-runtime-implement-verify-cd9a...
    Checking args v0.0.1 (/workbench/crates/args)
    Checking ot v0.0.1 (/workbench/crates/ot)
    Checking paths v0.0.1 (/workbench/crates/paths)
   Compiling stdlib v0.0.22 (/workbench/crates/stdlib)
   Compiling version v0.8.0 (/workbench/crates/version)
    Checking switch v0.0.1 (/workbench/crates/switch)
    Checking common v0.0.1 (/workbench/crates/common)
   Compiling minvmd v0.8.0 (/workbench/crates/minvmd)
    Checking diagnostics v0.0.1 (/workbench/crates/diagnostics)
    Checking boxes v0.0.1 (/workbench/crates/boxes)
    Checking sandbox v0.0.1 (/workbench/crates/sandbox)
    Checking bep v0.0.1 (/workbench/crates/bep)
    Checking async-dialog v0.0.1 (/workbench/crates/async-dialog)
    Checking mlog v0.0.1 (/workbench/crates/mlog)
    Checking mfile v0.0.1 (/workbench/crates/mfile)
    Checking minimald-rpc v0.0.1 (/workbench/crates/minimald-rpc)
    Checking checkouts v0.0.1 (/workbench/crates/checkouts)
    Checking decode v0.0.1 (/workbench/crates/decode)
    Checking graph v0.0.1 (/workbench/crates/graph)
    Checking lcache v0.0.1 (/workbench/crates/lcache)
    Checking rcache v0.0.1 (/workbench/crates/rcache)
    Checking op v0.0.1 (/workbench/crates/op)
    Checking orchestrator v0.0.1 (/workbench/crates/orchestrator)
    Checking check v0.0.1 (/workbench/crates/check)
error: using `chunks_exact` with a constant chunk size
   --> crates/minimald-rpc/src/trace.rs:199:46
    |
199 |     for (byte, pair) in out.iter_mut().zip(s.chunks_exact(2)) {
    |                                              ^^^^^^^^^^^^^^^
    |
help: consider using `as_chunks::<2>()` instead
   --> crates/minimald-rpc/src/trace.rs:199:46
    |
199 |     for (byte, pair) in out.iter_mut().zip(s.chunks_exact(2)) {
    |                                              ^^^^^^^^^^^^^^^
    = help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.98.0/index.html#chunks_exact_to_as_chunks
    = note: `-D clippy::chunks-exact-to-as-chunks` implied by `-D warnings`
    = help: to override `-D warnings` add `#[allow(clippy::chunks_exact_to_as_chunks)]`

error: could not compile `minimald-rpc` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...

Review threads the coder judged:

  • 👍 valid — crates/minimal/src/cmd/box_spec.rs:138: render now checks the rule's action first. A deny rule prints 'denied by its rule in [secret-store-rules] in config.toml' and no upstream. The test box_spec_lists_store_references_with_their_authorities covers this case.

min box spec on a box with one store reference prints the reference and the upstream authorities its rule registers. When the matching rule has action = "deny", the row says the rule denies the reference and lists no authorities.

Notes from the agent: Revise round 1: the one finding holds. config.rs keeps a non-empty upstream on a rule that the merge sets to deny (the "shared" case in its tests), so the old row implied the box can redeem the reference. Ask-action rules still print their authorities, because an ask can be answered yes. cargo clippy -p minimal --all-targets shows no warnings in minimal.

@minimal-foundry minimal-foundry Bot left a comment
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minimal-review — approval withheld

Verdict COMMENT — APPROVE withheld: 1 unresolved thread — minimal-foundry[bot] crates/minimal/src/cmd/box_spec.rs:138. No findings.

Panel: 3 of 3 personas ran (correctness, security, supply-chain).

@minimal-foundry minimal-foundry Bot left a comment
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minimal-review — approved

Verdict APPROVE — every review thread is resolved; @norrietaylor closed the last one. The review of da8169260e6a withheld this approval on the threads open then. Posted as a comment: the App cannot approve its own pull request; the check and the label carry it.

@minimal-foundry minimal-foundry Bot added the review:approved minimal-review approved the current head label Oct 25, 2026
@norrietaylor norrietaylor changed the title T61 — List each store reference with its authorities in min box spec feat(minimal): list each store reference with its authorities in min box spec (T61) Oct 25, 2026
@norrietaylor norrietaylor left a comment
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Babysitter approval at da81692: every merge gate passes at this head (arch PASS at da81692, zero open threads, every lane aggregator green). Squash title feat(minimal): list each store reference with its authorities in min box spec (T61) and the squashed message pass commitlint. Queued for squash merge.


Generated by Claude Code

@norrietaylor
norrietaylor added this pull request to the merge queue Oct 25, 2026
Merged via the queue into main with commit 81ccbce Oct 25, 2026
37 checks passed
@norrietaylor
norrietaylor deleted the agent/2541-list-each-store-reference-with-its-authorities-i branch October 25, 2026 18:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

review:approved minimal-review approved the current head

Projects

None yet

Development

Successfully merging this pull request may close these issues.

T61 — List each store reference with its authorities in min box spec

1 participant

0