8000 T83 — Give bep serve the client's store rules so a store member is admitted · Issue #2599 · 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" />

T83 — Give bep serve the client's store rules so a store member is admitted #2599

Closed

Description

@norrietaylor

Task

slice size difficulty model who estimated lines
Round-two conditions closed M unknown ground strongest an agent 280 (140 code, 140 tests)

A box's request to a [secret-store-rules] rule's registered upstream, sent through a running bep serve, reaches that upstream with the stored key in the rule's injection form.

Covers:

  • BEP-032

Layers:

Waits on:

Plan block
### T83 — Give bep serve the client's store rules so a store member is admitted
  slice: S10
  kind: task
  covers: BEP-032
  size: M
  est: 140 code, 140 tests
  executor: agent
  difficulty: unknown ground
  model: strongest
  diagnostics: a CONNECT to an authority that no module and no store rule admits stays refused `off_module` in `min box audit`, and a store handle with no matching rule stays refused `store_handle_invalid`
  observability: one info log line at start naming the count of store rules `bep serve` holds, never a value
  layers:
    - rules:
      - crates/bep/src/main.rs: `bep serve` gets the client's `[secret-store-rules]` with the BEP-034 refusals applied and gives them to `BoxRedeemer::with_rules`; the rules' authorities join `registered_union` and the admitted set, less the deny set; the three interim notes that still name T25 (#2280) are removed (#2599); how the rules reach `bep serve` (a read of the user-level `config.toml`, or a control-socket op that `min` sends) is this task's choice, left to the implementer and the arch review by the epic owner on 2026-10-26
      - crates/bep/src/redeemer.rs: the `facts` doc names the rules `bep serve` gives in place of the interim note
      - crates/bep/Cargo.toml: `bep` depends on `boxes` and `paths` to read and check the client's rules (layer amended 2026-10-26: the arch review on #2614 accepted this delivery)
      - Cargo.lock: regenerated for the new `bep` dependencies
      - crates/boxes/src/client/config.rs: one function merges the user and organization `[secret-store-rules]` with the action floor and the deny check, for `min` and `bep` (arch C2 on #2614)
      - crates/minimal/src/config.rs: `min` calls that merge in place of its own (arch C2 on #2614)
      test: cargo nextest run -p bep serve_admits_a_store_member_under_the_clients_rule
  produces: none
  consumes: none
  proof: A box's request to a `[secret-store-rules]` rule's registered upstream, sent through a running `bep serve`, reaches that upstream with the stored key in the rule's injection form.
  depends on:
    - blocked by #2257
    - blocked by #2586
    - blocked by #2280

Generated by Claude Code

Activity

  1. changed the title [-]Give bep serve the client's [secret-store-rules] so a store member is admitted (BEP-032)[/-] [+]T83 — Give bep serve the client's store rules so a store member is admitted[/+] on Oct 26, 2026
  2. added
    kind:taskA task the plan skill rendered; the body carries ## Task
    size:M200 to 500 net lines; one PR
    model:strongestThe strongest model available: unknown ground, or large work that needs care
    on Oct 26, 2026
  3. minimal-foundry commented on Oct 26, 2026

    @minimal-foundry
    Contributor

    Done. #2614 merged.

    branch agent/2599-give-bep-serve-the-client-s-store-rules-so-a-sto · epic #1501 · PR #2614

    round outcome job
    1 pushed 9cec7683
    2 pushed cd6267f8
    1 pushed 75555588
    1 pushed 4780629c
    1 pushed fa907834
    1 pushed 836178d9
    1 refused: T83 is blocked by still-open #2280. The plan's order is the point of having one.
    1 pushed 80c242fa
    1 pushed 928681a2

    Updated 2026-10-27T03:39:53.599Z.

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: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