WIP: feat(manifest): git-gate.signing opt-in (PRD chunk 2) #485
Closed
didericis-claude
wants to merge 1 commits from
signed-commits-manifest into prd-forge-subroles
pull from: signed-commits-manifest
merge into: didericis:prd-forge-subroles
didericis:main
didericis:fix/gitgate-persist-512
didericis:fix/firecracker-gateway-ca-persist-510
didericis:prd-forge-subroles
didericis:host-control-server-2-secret
didericis:host-control-server-3-list-live
didericis:didericis/disable-agit-refs
didericis:didericis/prd-audit-event-schema
didericis:fix/pr-495-audit-contract
didericis:host-control-server-1-transport
didericis:prd-new-host-control-server
didericis:prd-egress-control-plane
didericis:prd-macos-container-ci-runner
didericis:refactor/control-plane-auth-provisioning-476
didericis:fix/db-off-data-plane-469
didericis:feat/encrypted-egress-secrets
didericis:spike/rootless-docker-macos
didericis:fix/ci-coverage-artifact-paths
didericis:claude-forward-host-credentials-rebased
didericis:fix-gateway-gitleaks-arch
didericis:fix/websocket-response-dlp-multitenant
didericis:orchestrator-agent-compose
didericis:orchestrator-gateway-ca
didericis:orchestrator-consolidated-launch
didericis:orchestrator-gateway-provision
didericis:orchestrator-gateway-network
didericis:orchestrator-client
didericis:orchestrator-gateway-net
didericis:orchestrator-gitgate-provision
didericis:orchestrator-registration
didericis:orchestrator-lifecycle
didericis:orchestrator-supervise-writers
didericis:orchestrator-supervise-multitenant
didericis:orchestrator-gitgate-multitenant
didericis:orchestrator-rename-gateway
didericis:orchestrator-slice8
didericis:orchestrator-slice7
didericis:orchestrator-slice6
didericis:prd-orchestrator
didericis:orchestrator-slice5
didericis:orchestrator-slice4
didericis:orchestrator-slice3
didericis:orchestrator-slice2
didericis:firecracker-backend
didericis:forge-native-integration
didericis:prd-smolmachines-linux
didericis:manifest-break-import-cycle
didericis:dlp-supervise-quality-fixes
didericis:table-drive-dlp-tests
didericis:fix-integration-test-failures
didericis:fix/macos-container-relative-dockerfile
didericis:prd-0054-install-script
didericis:commit-bottle-state
didericis:pr-211
didericis:move-codex-auth-to-contrib
didericis:feat/pipelock-skip-scan-extensions
didericis:prd-0049-named-labelled-agents
didericis:harden-git-gate-shell-rendering
1 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
e16efc86ad |
feat(manifest): git-gate.signing opt-in (PRD chunk 2)
test / integration-docker (pull_request) Successful in 38s
lint / lint (push) Successful in 56s
test / unit (pull_request) Successful in 52s
test / integration-firecracker (pull_request) Successful in 3m48s
test / coverage (pull_request) Successful in 15s
test / publish-infra (pull_request) Has been skipped
tracker-policy-pr / check-pr (pull_request) Failing after 24s
Implements the manifest surface for the signed-commits & audit-attribution PRD (#423, PR #480): a bottle opts into per-activation commit signing with git-gate: signing: enabled: true - New ManifestGitSigning value type (frozen, enabled: bool = False) parsed under git-gate.signing; unknown sub-keys and non-bool `enabled` die with targeted errors. parse_git_gate_config now returns (repos, user, signing). - ManifestBottle gains git_signing; defaults to off, so bottles that omit the block are unchanged. - Bottle-only: git-gate.signing on an agent is rejected by the existing agent-level non-`user` guard (like git-gate.repos). - extends/runtime merges thread git_signing with an enable-wins overlay (a child enabling signing wins; omitting inherits the parent), mirroring the git_user non-empty-wins overlay. - Facade exports ManifestGitSigning. Tests: tests/unit/test_manifest_git_signing.py (parse, validation, agent-level rejection, extends overlay). Full unit suite green. This is the first stacked chunk; signing pipeline, gate signature check, and control-plane verification + audit tables follow per the PRD. Issue: #423 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |