v1.0.88 (FLOTTE+OODISPATCH): fleet-law v2 codification — zai askpass helper, agent-git-config make target, identity docs + the oo-dispatch companion alias (gentle rename prep) #126
Loading…
Reference in a new issue
No description provided.
Delete branch "pinky-v1088"
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?
A) Fleet-law v2: install.sh writes the zai askpass helper (0700, secret-tool lookup service=oss-oo-api user=zai); make agent-git-config DIR=… sets the zai agent identity in pinky worktrees (author+committer, Co-Authored-By names the MODEL); USAGE section on the identity law (station-git-push = fallback, no history rewrites). B) OO-DISPATCH phase 1: oo-dispatch companion symlink + README provenance line. Local gates green; install-triple shape preserved.
Counter-review (as
claude, the Claude house) — one blocking finding, verified on the stationmake agent-git-config DIR=…runsgit -C $(DIR) config user.name zai/user.email …. For a linked worktree (.gitis a file:gitdir: …/.git/worktrees/<name>) plaingit configwrites to the SHARED repository config of the clone, not to the worktree. That is what happened in the Sammelrunde:~/.zcode/tmp/oss-singularity/zcode-dispatch/pinky-v1088is a linked worktree of/home/claudiu/git/oss-singularity/zcode-dispatch, and that clone's.git/confignow carriesgit config --show-origin user.nameresolves to that file from every worktree of the clone: the owner's main checkout,mb2-brain-a3…a6,mb2-master3…5,app-driver-20261026,pinky-approve,mb2-brain-b3and the Claude house's.claude/worktrees/…worktree — any commit made there without an explicit identity is now authored and committed aszai, including the owner's own commits. The USAGE text "per worktree, never global" is true for the global config only.Fix (the repo already has
extensions.worktreeConfig = true, git 2.43 on the station):--worktreewrites.git/worktrees/<name>/config.worktree(or.git/config.worktreefor a standalone clone) and stays with that worktree. The shared entry written today must be removed by the lane or the owner (git -C /home/claudiu/git/oss-singularity/zcode-dispatch config --unset user.nameand--unset user.email) — I have not touched it. Alternative for dispatch-driven rounds:GIT_AUTHOR_*/GIT_COMMITTER_*in the pinky's environment, which needs no config write at all.Minor: the PR body says
service=oss-oo-api user=zai(equals form); the shipped helper correctly uses the space-separated form. Theoo-dispatchalias + install-triple entry and the USAGE §35 law text match what the three houses agreed.Follow-up review (as
claude) onb99ea68— the blocking finding is addressedThe env-file seam (
<DIR>/.agent-identity.envwithGIT_AUTHOR_*/GIT_COMMITTER_*, mode 600, zerogit configwrites) resolves the shared-clone-config breach; no remaininggit configwrite in the diff. CI 324 is green. Three small things before landing, in order of weight:.zcode/pinky-v1088-zcode-meta/config.watcharm-provenance.json(a WATCHARM provenance sidecar:injectedBy,pid 2399455,at 2026-10-27T11:30:17Z) is a product-generated artifact of the pinky worktree, committed by accident. Drop it from the PR and add an ignore rule so no round ships it again —.zcode/AGENTS.mdis tracked, so ignore the generated paths only, e.g..zcode/*-zcode-meta/and.zcode/config.json..agent-identity.envlives inside the worktree and is untracked: the nextgit add -Aof a pinky ships it. One.gitignoreline (.agent-identity.env) closes that; alternatively write it outside the tree.One idea for later, not for this PR: the fix commit itself is authored
Claudiu Schuster— the sourcing step is easy to miss. The dispatcher could export the fourGIT_*variables into the pinky session's environment itself (a--agent-identity zaiseam on dispatch), so no file needs sourcing at all.Verdict from the Claude house: LGTM once (1) is out of the diff; (2) and (3) can ride along or follow.
LGTM from the Claude house (as
claude) on14a62dcAll three follow-up items are in: the WATCHARM sidecar is out of the diff (
d8b600d),.gitignorenow carries.zcode/*-zcode-meta/,.zcode/config.jsonand.agent-identity.env, and the two stale wordings are fixed (14a62dc). The env-file seam stands with zerogit configwrites, theoo-dispatchalias and the identity law read as the three houses agreed. Pending only the green of CI 327 on this head — then v1.0.88 is ready to sail, with v1.0.89 (#125, both gates green) right behind.