PRD 0027: Agent-level git user identity #95
Reference in New Issue
Block a user
Delete Branch "feat/agent-git-user-identity"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #94.
Tracking PR for PRD 0027.
Summary
Let an agent file declare
git.user(name/email). At launch it overlays the referenced bottle'sgit.userper-field (agent wins on non-empty), mirroring the PRD 0025extends:merge.git.remotesstays bottle-only — it carries credentials and host trust. Solves the coupling where varying a commit identity meant authoring a whole separate bottle.Git authorship is not a credential (push auth is the bottle's remote key/token) and is already forgeable from inside the bottle, so a repo-shipped agent setting its own identity grants no access; an agent identity is claimed, not vouched.
Schema
git.useracceptsnameand/oremail(string-or-die; at least one non-empty), validated by the existingGitUserparser.gitkey other thanuser— notablyremotes— dies at parse with a bottle-only pointer.Merge rule
git_user.namegit_user.emailSame per-field overlay
_merge_bottlesapplies forextends:. Empty string = "not set". All other bottle fields pass through untouched.Changes (3 commits)
docs(prd)— PRD 0027: design + trust analysis.feat(manifest)—Agent.git_user; parse + reject non-usergit keys; per-field overlay atManifest.bottle_for()(the single chokepoint both backends use, so provisioners are untouched);Manifest.git_identity_summary()with(agent)/(bottle)provenance, printed in both preflights andcli.py info. 17 unit tests intest_manifest_agent_git_user.py.docs(manifest)— README manifest section; collapses the example soimplementercarries its own identity against the shareddevbottle instead of an identity-only bottle.Full unit suite green (738 tests).
feat(manifest): agent-level git user identityto feat(manifest): agent-level git user identity (PRD 0027, issue #94)feat(manifest): agent-level git user identity (PRD 0027, issue #94)to PRD 0027: Agent-level git user identity