Spec: §5 (branch and PR model), §18.1–18.2 (git is the durable source of truth), §1 Principle 1 (deterministic logic stays deterministic).
A low-level, fully deterministic Python module (GitRepo or equivalent) wrapping the git operations the engine needs, scoped to a single repo working directory (the mount boundary, §7.1). All higher-level branch lifecycle (#10, #11) builds on this. No AI involvement — this is plain Python per Principle 1.
Acceptance criteria
Depends on: #1
Spec: §5 (branch and PR model), §18.1–18.2 (git is the durable source of truth), §1 Principle 1 (deterministic logic stays deterministic).
A low-level, fully deterministic Python module (
GitRepoor equivalent) wrapping the git operations the engine needs, scoped to a single repo working directory (the mount boundary, §7.1). All higher-level branch lifecycle (#10, #11) builds on this. No AI involvement — this is plain Python per Principle 1.Acceptance criteria
GitRepoabstraction is constructed from a repo path and refuses operations outside that path.except: pass(production-readiness bar).uv run ruff check .), format (uv run ruff format --check), and typecheck (uv run pyright) pass.Depends on: #1