These workplans exist only in the retired local hub. Their random pre-ADR-007
identifiers are refused by C-06 as stale references, so they cannot be
registered. Deriving from the canonical record id takes no identity from
anything: central does not hold them and the old ids die with the cache.
Records central already holds were deliberately left untouched.
Refs CUST-WP-0068-T06
Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 2583210@bnt-lap001
Assistant-Session: f2bff2d5-e9b2-4338-92ca-10282a927006
Audit found zero gitea-only commits across all 70 repos -- railiance01 was a
stale reader, not a divergent writer. Two repos that looked gitea-only were
renames Forgejo answers over HTTP but not SSH: inter-hub to inter-hub-haskell
and markitect_project to markitect-main.
Transition executed: 77 repos now in sync with forgejo, 0 ahead, 0 behind,
none left on gitea-remote, with gitea kept as rollback mirror.
Recovered freedom-intelligence's 6 unpushed research briefs, which the first
audit missed because it skipped repos with no configured upstream. Stashed 5
working trees and preserved 10 stale sync commits on branches before drop.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The registrar fix is one env var, not host provisioning: the state-hub
deployment has STATEHUB_REGISTRAR unset, and that pod is the real automated
instance -- it mounts /home/tegwick rw and /home/tegwick/.ssh for push.
But setting it now would be harmful. railiance01 has 70 repos still on
gitea-remote (92.205.130.254) against 7 on forgejo-remote (92.205.62.239),
while the workstation is 126/0 on forgejo. The pod would mint identifiers
into checkouts tracking the superseded server and push them there.
Records the required order -- reconcile railiance01's remotes first, then
enable the registrar -- and that the sweep pod is currently operating against
those stale checkouts.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
T01 shipped the guard but no instance satisfies the registrar condition, so
nothing drains the queue -- 12 sync requests had accumulated from four agents.
Survey of railiance01: hostname does not match the railiance* heuristic and
STATEHUB_REGISTRAR is unset; repo-manager was not cloned; the statehub CLI
will not install (ResolutionImpossible); 999 files are root-owned because the
state-hub pod bind-mounts /home/tegwick as root; and the checkouts still
point at gitea-remote rather than forgejo-remote, so its evidence-binder
cannot see EBIND-WP-0002 at all.
Also flags that the pod mounts /home/tegwick/.ssh, and that the forgejo
remote-URL sweep appears incomplete beyond this host.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Commits made by coding assistants are currently indistinguishable from
hand-typed ones. state-hub has two commit identities, tegwick and
custodian-sync; only Claude Code is identifiable, and only via a
Co-Authored-By trailer added by a prompt instruction. Codex and Grok add
nothing.
Establishing on 2026-08-21 that a 14-hour Codex session had not collided
with a concurrent Claude session required correlating process tables against
commit timestamps, and could only conclude 'not me and not the sync bot'.
Adds git trailers carrying assistant, model, and process, applied by a
prepare-commit-msg hook wired through core.hooksPath. Author stays tegwick
deliberately -- assistants run under Bernd's account because he supervises,
and the trailers add provenance rather than a second actor.
Scopes explicitly to the coding-assistant category and leaves room for
kaizen agents (own agent ids and accounts) and scheduled OpenRouter runs as
separate future mechanisms.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>