This is the record of an abcd-managed repository

abcdBetav0.16.2 · 2026-11-06

Development record

The implement loop's lane sync merge (`git merge --no-ff` through `pickGit`) runs a repository-configured merge driver, which executes as the operator and writes the merge result git keeps, although the loop presents this merge as running no hook code.

issueresolvedminoriss-2610090821510097

The implement loop's lane sync merge (git merge --no-ff through pickGit) runs a repository-configured merge driver, which executes as the operator and writes the merge result git keeps, although the loop presents this merge as running no hook code.

Private security advisory GHSA-486x-8h9p-pq5x (draft, severity medium). Full text, evidence and reproduction: the security-drain-2026-10-09 run directory in the main checkout's local tier. This record stays uncommitted until its fix lands; the fix commit adds it directly to resolved/.

Evidence (lines at main 7549ca2d5): syncLane (internal/core/implement/loop/sync.go:66) merges with pickGit(lane.Worktree, "merge", "--no-ff", "--no-edit", "-m", msg, merged) (internal/core/implement/loop/sync.go:95). pickGit pins hooks, fsmonitor and quotePath and runs under ScrubbedEnv, so repo and global config stay (internal/core/implement/loop/pickcommit.go:71). landStage calls syncLane only while lane.Landing is nil (internal/core/implement/loop/land.go:131, :139). The other side can come from a planted refs/remotes/origin/<default>; no network remote is needed.

Reproduction: on git 2.39.5, set .git/info/attributes to * merge=evil (or a committed .gitattributes) and merge.evil.driver to a script; point refs/remotes/origin/<default> at a commit editing a file the lane also edits; run abcd implement step until the lane reaches syncLane with no landing. The script runs, git reports success and the worktree file holds the script's output; the post-merge hook does not run. With no overlapping change the driver does not start.

Frontmatter

idiss-2610090821510097
typeissue
lifecycleresolved
severityminor

mentions1