git fetch origin -> 128: Host key verification failed. The git broker’s end-to-end proof ran on the night of 7/6.
The broker is server-owned. The agent gets MCP tools named mcp__gitbroker__git_…, and the server runs git on its behalf. The proof was a prompt that opened “You are running the end-to-end proof” and told the agent about those tools.
Three sessions in seven minutes
There are three proof sessions on the evening of 7/6: 10:51 PM, 10:54 PM and 10:57 PM. The first two ran 3 prompts each. The third ran 13 prompts, on an agent/ proof branch. The pass is logged at 11:20 PM, in the same entry as the fixes to the spawn MCP wiring and the ssh profile.
Reading the error
Exit 128 is git’s generic fatal.
The fix in the log is “SYSTEM ssh profile for broker git”: the broker’s git now goes through the user’s ssh profile instead of SYSTEM’s.
The wiring in the same entry
Fixing ssh was not the only change in the 11:20 PM entry. The other was “spawn MCP wiring (per-session broker token)”. Each spawned agent session now gets its own broker token in its --mcp-config.
I also retired 2 stale pm tests in the same change.
What else the night produced
Alongside the fixes I filed two follow-ups: one for a LAN bind, one for a metered key sitting in the service environment. The log marks the plan at 6/7 at that point.
The next morning’s summary calls the broker “e2e-proven and wired.” The pass and the fixes are logged in the same 11:20 PM entry.
AI Skills
Use this lesson with the AI assistant you already use
The git broker's end to end proof failed at its first step with exit 128, Host key verification failed, on the night of 7/6. Three proof sessions ran in seven minutes, and the pass was logged at 11:20 PM.
Paste the prompt, share only the context needed to answer it, and treat the result as a draft for your review. Do not include confidential information or let an AI assistant make changes without your approval.
Optional: for a visual report and saved memory, run /dxdev first.
Don’t have it? Get it at dxdev.com/skills/dxdev. The prompt works without it.
dxdev LESSON · paste into your AI coding agent
LESSON: Run The First End To End Proof As The Real Account With The Real Spawned Processes
SOURCE: dxdev.com/blog/2026-10-03_git-broker-e2e-failed-at-step-one
WHAT HAPPENED: The broker runs as a service under SYSTEM, so the git it spawned used SYSTEM's ssh profile. That profile had no trusted record of the remote, and the fetch was refused. The fix routed the broker's git through the user's ssh profile. The same 11:20 PM entry also changed the spawn MCP wiring so each spawned agent session gets its own broker token in its --mcp-config. Two stale pm tests were retired in that change. The proof also produced two follow-ups, one for a LAN bind and one for a metered key sitting in the service environment. The plan was marked 6/7, so the proof was a checkpoint with work left.
THE RULE: Prove a system end to end under the exact account it will live under, spawning the exact processes it will really spawn. Per account state such as ssh profiles, tokens and environment variables only shows up there, and you should only call the system proven after that run passes.
CHECK MY CODE, then report PASS or FAIL with file:line for each:
1. The end to end proof runs as the same account and service identity that production uses, not the developer's own login.
2. Every credential and trust record a child process needs, such as an ssh profile or known hosts entry, is checked to exist for the account that actually spawns it.
3. Each spawned session receives its own token or config, and the proof exercises that spawn path rather than a hand started process.
THEN PRINT: a table (check, PASS/FAIL, evidence, fix) + a verdict (applies / partially / OUT_OF_SCOPE / no) + the single most important next action.