8000 T13 — Refuse GitHub grants at activation that the box or the un-enrolled host cannot honour · Issue #2264 · gominimal/minimal · GitHub
[go: up one dir, main page]

Skip to content

T13 — Refuse GitHub grants at activation that the box or the un-enrolled host cannot honour #2264

Closed

Description

@norrietaylor

Task

slice size difficulty model who estimated lines
Clone, push and gh from a box with no token in it L needs care strongest an agent 880 (400 code, 480 tests)

Activating a grant box whose egress omits a GitHub host exits 3 naming each missing host.

Covers:

  • BEP-008
  • BEP-009
  • BEP-010
  • BEP-016
  • BEP-017
  • BEP-056

Layers:

  • spec:
    • crates/boxes/src/core/bep.rs (new): steering (default dns), proxy_env, no_proxy, quic443 and the GitHub grants; the BEP-008, 009, 010, 017 and 056 refusals
    • crates/boxes/src/core/mod.rs: module line
    • crates/boxes/src/lib.rs: CredentialedUpstream carries the settings, defaulting so an empty declaration reads as before
    • crates/boxes/Cargo.toml: proptest as a dev-dependency
    • Cargo.lock: the dev-dependency edge
    • cargo nextest run -p boxes prop_grant_host_set_outside_egress_is_exit_3
    • cargo nextest run -p boxes prop_none_mode_with_grant_is_exit_3
    • cargo nextest run -p boxes steering_off_with_grant_warns_and_injects_no_ca
    • cargo nextest run -p boxes steering_off_with_proxy_env_is_refused
    • cargo nextest run -p boxes steering_defaults_to_dns
    • cargo nextest run -p boxes prop_dns_steering_without_resolver_is_exit_3
    • cargo nextest run -p boxes prop_installation_mode_unenrolled_is_exit_3
  • read:
    • crates/mfile/src/lib.rs: reads [session.network.bep] and [session.secrets] from the project's [session] table
    • crates/minimal/src/cmd/session.rs: validates before the create, passing the module's host set
    • crates/minimal/src/main.rs: maps the refusal to exit 3
    • cargo nextest run -p minimal activation_refuses_grant_before_create_with_exit_3

Waits on:

Plan block
### T13 — Refuse GitHub grants at activation that the box or the un-enrolled host cannot honour
  slice: S0
  kind: task
  covers: BEP-008, BEP-009, BEP-010, BEP-016, BEP-017, BEP-056
  size: L
  est: 400 code, 480 tests
  executor: agent
  difficulty: needs care
  model: strongest
  diagnostics: a refused activation exits 3 and prints, for a missing host, "This box declares a GitHub grant, but its egress does not allow: <hosts>. Add them to egress.allow_dns_hosts." on stderr, pinned by prop_grant_host_set_outside_egress_is_exit_3
  observability: one debug log line per activation refusal naming the rule and the fields
  layers:
    - spec:
      - crates/boxes/src/core/bep.rs (new): `steering` (default `dns`), `proxy_env`, `no_proxy`, `quic443` and the GitHub grants; the BEP-008, 009, 010, 017 and 056 refusals
      - crates/boxes/src/core/mod.rs: module line
      - crates/boxes/src/lib.rs: `CredentialedUpstream` carries the settings, defaulting so an empty declaration reads as before
      - crates/boxes/Cargo.toml: `proptest` as a dev-dependency
      - Cargo.lock: the dev-dependency edge
      test: cargo nextest run -p boxes prop_grant_host_set_outside_egress_is_
8000
exit_3
      test: cargo nextest run -p boxes prop_none_mode_with_grant_is_exit_3
      test: cargo nextest run -p boxes steering_off_with_grant_warns_and_injects_no_ca
      test: cargo nextest run -p boxes steering_off_with_proxy_env_is_refused
      test: cargo nextest run -p boxes steering_defaults_to_dns
      test: cargo nextest run -p boxes prop_dns_steering_without_resolver_is_exit_3
      test: cargo nextest run -p boxes prop_installation_mode_unenrolled_is_exit_3
    - read:
      - crates/mfile/src/lib.rs: reads `[session.network.bep]` and `[session.secrets]` from the project's `[session]` table
      - crates/minimal/src/cmd/session.rs: validates before the create, passing the module's host set
      - crates/minimal/src/main.rs: maps the refusal to exit 3
      test: cargo nextest run -p minimal activation_refuses_grant_before_create_with_exit_3
  produces:
    - crates/boxes/src/core/bep.rs
  consumes:
    - crates/bep/src/module.rs
  proof: Activating a grant box whose egress omits a GitHub host exits 3 naming each missing host.
  depends on:
    - blocked by #2258

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 17, 2026
  2. minimal-foundry commented on Oct 19, 2026

    @minimal-foundry
    Contributor

    Done. #2365 merged.

    branch agent/2264-refuse-github-grants-at-activation-that-the-box · epic #1501 · PR #2365

    round outcome job
    1 pushed f55c8be1
    2 pushed e6a84d10
    3 pushed ae41b819

    Updated 2026-10-20T02:52:33.406Z.

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