Skip to content

friction: enforce review-worktree isolation against per-command Git overrides #8343

Description

@ll7

Archetype Metadata

archetype: workflow
evidence_tier: smoke
linked_policy:
  - docs/dev/worktree_lifecycle.md
  - docs/code_review.md
  - AGENTS.md

Goal / Problem

PR #8326 provides a Git-level protected review-worktree boundary for ordinary Git invocations,
including configured custom transports, explicit destination refspecs, and --no-verify. The
remaining gap is intentional command-line override behavior: a caller can supply per-command
-c URL/protocol settings and an alternate --receive-pack while skipping hooks, bypassing
worktree-local configuration before Git reaches the repository guard.

This issue tracks the stronger process or operating-system boundary needed if the contract must
protect against a deliberately adversarial caller, rather than only ordinary review-worktree use.

Scope

  • In scope: define and implement a bounded process/OS-level isolation mechanism for review and
    synthetic-integration worktrees; cover git -c ... push, --receive-pack, --no-verify, and
    equivalent direct transport invocation paths; document the supported threat model.
  • In scope: prove that ordinary implementation worktrees remain publishable.
  • Out of scope: benchmark or scientific behavior, release-branch history rewriting, and globally
    disabling pushes from ordinary implementation worktrees.

Definition of Done

Validation / Testing

  • Reproduce the -c url.<actual>.insteadOf=<blocked> --receive-pack=... --no-verify path
    against a temporary bare remote.
  • Compare remote refs before and after every protected invocation.
  • Record whether the solution is a container, OS sandbox, wrapper/process boundary, or an
    explicit narrower contract; do not describe Git-level protection as adversarial isolation.

Related Work

Activity

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

    bugSomething isn't workingstate:runningExternal run is currently activetechnical-debttype:workflowWorkflow/tooling semantics task

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions