8000 T54 — Call the store-rule checks from box creation and expansion · Issue #2535 · gominimal/minimal · GitHub
[go: up one dir, main page]

Skip to content
< 8000 link rel="modulepreload" href="https://github.githubassets.com/assets/fhi-7a633016e960b921.js" crossorigin="anonymous" />

T54 — Call the store-rule checks from box creation and expansion #2535

Closed

Description

@norrietaylor

Task

slice size difficulty model who estimated lines
Conditions closed M needs care standard an agent 460 (240 code, 220 tests)

A box spec that references a host-store secret is refused at creation when no rule matches or the rule's upstream is outside the box's egress, and an ask rule prompts on a terminal and denies without one.

Covers:

  • BEP-034, BEP-035, BEP-036

Layers:

  • create:
    • crates/minimal/src/cmd/boxes/create.rs: reads the rules through read_client_config_and_store_rules, calls check_store_references for every host-store reference the spec declares and store_consent for ask rules, and passes the accepted rules to the proxy registration
    • crates/minimal/src/config.rs: read_client_config no longer drops the rules on the creation path
    • cargo nextest run -p minimal store_reference_without_rule_is_refused_at_creation
    • cargo nextest run -p minimal store_rule_outside_egress_exits_3
    • cargo nextest run -p minimal ask_rule_without_a_terminal_denies

Waits on:

Implements the filed residual #2516; those issues close with this task and do not block it.

Plan block
### T54 — Call the store-rule checks from box creation and expansion
  slice: S9
  kind: task
  covers: BEP-034, BEP-035, BEP-036
  size: M
  est: 240 code, 220 tests
  executor: agent
  difficulty: needs care
  model: standard
  diagnostics: a refused store reference exits 3 with the rule and the reason on stderr; an `ask` rule without a terminal prints the denial
  observability: one info log line per creation naming the store references checked and their outcome
  layers:
    - create:
      - crates/minimal/src/cmd/boxes/create.rs: reads the rules through `read_client_config_and_store_rules`, calls `check_store_references` for every host-store reference the spec declares and `store_consent` for `ask` rules, and passes the accepted rules to the proxy registration
      - crates/minimal/src/config.rs: `read_client_config` no longer drops the rules on the creation path
      test: cargo nextest run -p minimal store_reference_without_rule_is_refused_at_creation
      test: cargo nextest run -p minimal store_rule_outside_egress_exits_3
      test: cargo nextest run -p minimal ask_rule_without_a_terminal_denies
  produces: none
  consumes:
    - crates/boxes/src/core/bep.rs
  proof: A box spec that references a host-store secret is refused at creation when no rule matches or the rule's upstream is outside the box's egress, and an ask rule prompts on a terminal and denies without one.
  depends on:
    - blocked by T13
    - blocked by T25

Generated by Claude Code

Activity

  1. added
    kind:taskA task the plan skill rendered; the body carries ## Task
    size:M200 to 500 net lines; one PR
    model:standardA standard model: work that needs care, or routine work that is large
    on Oct 25, 2026
  2. minimal-foundry commented on Oct 25, 2026

    @minimal-foundry
    Contributor

    Done. #2552 merged.

    branch agent/2535-call-the-store-rule-checks-from-box-creation-and · epic #1501 · PR #2552

    round outcome job
    1 pushed c3a2309b
    2 pushed fd88e027

    Updated 2026-10-25T10:30:06.094Z.

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:standardA standard model: work that needs care, or routine work that is largesize:M200 to 500 net lines; one PR

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0