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>
ADR-007 amended 2026-08-21 to derive C2 identifiers for live records only,
so T03's uniqueness prerequisite now has a bounded surface: 11 live files
across 5 identifiers, not 48. T03 moves wait -> todo with the derivation
rules recorded, including that namespace is the fleet branch and not the
repository, that derivation is not retroactive, and that un-archiving is a
collision hazard needing its own check.
T09 gains the remediation assignment, split by root cause: 5 files are
stragglers from its own incomplete RAILIANCE-WP retirement, 4 are the
never-assigned WHYNOT-WP prefix, and 2 are same-repo reuse in
kontextual-engine. Execution stays with workers in each repo per ADR-007
decision 4.
Notes that both WHYNOT-WP-0001 files are statehub-bootstrap workplans -- the
generic bootstrap defect STATE-WP-0080 contained -- so the same residue is
likely wherever that path ran before the guard.
Also records OPS-WP and REPO-WP as unassigned shared prefixes with no live
collisions yet.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
STATE-WP-0079's cutover slice plan assumed repo-manager could receive all 167
of its owned inventory items because RMGR-WP-0001/0002/0003 are finished.
Verified false: parse/ holds only workplan.py, the source tree has no
reference to sbom, repo_goal, contribution, technical_debt or
extension_point, and the State Hub adapter calls exactly three operations
(rm_update_task_status, rm_reconcile, rm_scaffold).
Of 425 inventory items roughly 6 can move today. This workplan builds the
surfaces the rest need: workplan write path, intake, decision, dependencies
and human-flag, the register spine, and the topic/classification contract.
A4 (owner-side UI) is deliberately left at wait -- rmgr is a CLI and those
views may belong to hub-core's projection layer; ownership should be decided
before anything is built.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Add is_identifier_registrar so only the production instance may mint
hub UUIDs into repository files. Workstation hubs stay read/project
caches until deterministic derivation lands.
Also close RMGR-WP-0004-T05: register cutover is STATE-WP-0080-T02.
ADR-007 decision 1 governs PREFIX-WP-NNNN only. The 2026-08-17 ADR-008
collision showed ADR numbers, versioned standards, and other repo-local
running numbers have identical exposure and no rule. Same check shape: one
allocator per namespace, forward-only, no reuse; two files claiming one id
is a contradictory finding.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Implement RMGR-WP-0004 T01 (flavor, required files, anti-patterns from
canon) and T08 (prefix ownership registry plus uniqueness scan).
rmgr conform and rmgr prefix-uniqueness are detection only.
Add the §0 playbook and kubernetes-then-knative gate to the guide.
Implement rmgr rapp skeleton/wrap/place, draft postgres consumers,
and copy the fleet image workflow when missing.