8000 T50 — Ship a git credential helper in grant boxes so git sends a header the proxy substitutes · Issue #2531 · gominimal/minimal · GitHub
[go: up one dir, main page]

Skip to content

T50 — Ship a git credential helper in grant boxes so git sends a header the proxy substitutes #2531

Closed

Description

@norrietaylor

Task

slice size difficulty model who estimated lines
Conditions closed M needs care standard an agent 340 (160 code, 180 tests)

From a grant box with no git configuration of its own, git clone and git push send an Authorization header the proxy substitutes.

Covers:

  • BEP-015

Layers:

  • spec:
    • docs/specs/24-spec-box-egress-proxy/24-spec-box-egress-proxy.md: adds the requirement for the git credential helper a grant box carries (Gatehouse §6.4 line 718), under BEP-015
  • box:
    • crates/minimald/src/box_actor.rs: declares the new module
    • crates/minimald/src/box_runtime/launcher.rs: the connection env layer carries GIT_CONFIG_COUNT, GIT_CONFIG_KEY_<n> and GIT_CONFIG_VALUE_<n> for a box that holds sealed deliveries, so the shipped helper is git's sole helper for each grant host with store and cache disabled, at a scope git reads after every config file (widened 2026-10-25 per arch C1 on feat(minimald): ship a git credential helper in grant boxes (T50) #2547)
    • crates/minimald/Cargo.toml: depends on bep, so the helper reads the host set from bep::module::GITHUB instead of a copy (widened 2026-10-25 per arch C2 on feat(minimald): ship a git credential helper in grant boxes (T50) #2547)
    • Cargo.lock: regenerated by the new bep dependency of minimald (widened 2026-10-25)
    • crates/minimald/src/box_actor/tests.rs: the helper's tests
    • crates/minimald/src/box_actor/bep_git_helper.rs (new): writes the helper and its git config credential.helper line into a grant box at creation, for the grant's hosts only, with the sealed value as the placeholder the proxy substitutes
    • cargo nextest run -p minimald grant_box_git_credential_helper_answers_for_grant_hosts
  • e2e:

Waits on:

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

Plan block
### T50 — Ship a git credential helper in grant boxes so git sends a header the proxy substitutes
  slice: S9
  kind: task
  covers: BEP-015
  size: M
  est: 160 code, 180 tests
  executor: agent
  difficulty: needs care
  model: standard
  diagnostics: `git credential fill` inside a grant box answers for the grant's hosts with the placeholder, and `min box spec` lists the helper under the grant
  observability: one debug log line per helper answer naming the host, never the value
  layers:
    - spec:
      - docs/specs/24-spec-box-egress-proxy/24-spec-box-egress-proxy.md: adds the requirement for the git credential helper a grant box carries (Gatehouse §6.4 line 718), under BEP-015
    - box:
      - crates/minimald/src/box_actor.rs: declares the new module
      - crates/minimald/src/box_runtime/launcher.rs: the `connection` env layer carries `GIT_CONFIG_COUNT`, `GIT_CONFIG_KEY_<n>` and `GIT_CONFIG_VALUE_<n>` for a box that holds sealed deliveries, so the shipped helper is git's sole helper for each grant host with `store` and `cache` disabled, at a scope git reads after every config file (widened 2026-10-25 per arch C1 on #2547)
      - crates/minimald/Cargo.toml: depends on `bep`, so the helper reads the host set from `bep::module::GITHUB` instead of a copy (widened 2026-10-25 per arch C2 on #2547)
      - Cargo.lock: regenerated by the new `bep` dependency of `minimald` (widened 2026-10-25)
      - crates/minimald/src/box_actor/tests.rs: the helper's tests
      - crates/minimald/src/box_actor/bep_git_helper.rs (new): writes the helper and its `git config credential.helper` line into a grant box at creation, for the grant's hosts only, with the sealed value as the placeholder the proxy substitutes
      test: cargo nextest run -p minimald grant_box_git_credential_helper_answers_for_grant_hosts
    - e2e:
      - scripts/session-e2e.sh: a case that clones and pushes from a grant box with the shipped helper and no helper of its own; records NOT RUN off macOS, without a sign-in or without E2E_BEP_PRIVATE_REPO (#2500)
      test: ./scripts/session-e2e.sh bep_git_credential_helper_sends_header
  produces: none
  consumes:
    - crates/bep/src/forward.rs
  proof: From a grant box with no git configuration of its own, git clone and git push send an Authorization header the proxy substitutes.
  depends on:
    - blocked by T11
    - blocked by T18

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. #2547 merged.

    branch agent/2531-ship-a-git-credential-helper-in-grant-boxes-so-g · epic #1501 · PR #2547

    round outcome job
    1 pushed 70f8927e
    2 pushed 76b4a028
    3 pushed e72ac2e6
    4 changed nothing: Revise round 4. I changed nothing and made no commit. Failed check 'tests': the log excerpt does not name a failing test. On this branch head, the test line passes. The full minimald suite passes (11 00904a5a
    5 pushed 8589cc2b

    Updated 2026-10-25T18:41:56.340Z.

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