Release 20 carries the canon vocabulary; classification writes succeed against
central for the first time from outside a workstation. All 33 onboarded
repositories re-run and projected: 33 updated, no warnings. Central holds 111
repositories, 100 classified.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
178 AGENTS.md files moved off the 127.0.0.1:18000 reverse tunnel to the
in-cluster address; both machines report zero stale rows. 100 pushed from the
workstation, 74 picked up by pull on the node, 4 handled individually.
binky-control committed but not pushed — it carries 6 pre-existing unpushed
commits that are not this change's to publish. activity-core was already 39
behind with an unrelated dirty file; only AGENTS.md was taken from origin.
state-hub-railiance01 is now unblocked for removal.
Still open: the block has no single source, so this recurs on the next
topology change; and 68 non-AGENTS.md references need individual judgement
rather than substitution.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The remote row pointed at 127.0.0.1:18000, a reverse tunnel back to the
workstation. On railiance01 the State Hub runs in the cluster on that same
machine, so the request left the box and came back to reach a local service.
Refs CUST-WP-0067-T07
Three dated corrections, following the blockquote convention ADR-007 uses:
- Decision 2's merge/refresh dichotomy is not exhaustive. Repository records
took a third shape — cache-only records whose source exists and is reachable
but was never introduced to central. Refreshing would have destroyed them.
- The Context recorded the shared port but not why it was silent: an unbound
ssh -L binds every loopback family, and ExitOnForwardFailure fires only when
every bind fails.
- A new Outcome section states that the ADR's own remediation never landed and
the condition was still live seven weeks later.
Refs CUST-WP-0067-T06
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
rmgr repo-onboard is the missing managed_repos write path. 33 of 44 cache-only
repositories onboarded to central (78 -> 111); the other 11 carry written
dispositions rather than guessed classifications.
T04 uncovered why onboarding only worked from a workstation: the hub resolved
its classification allowed-values file from hardcoded developer checkouts, so
every classification write 500'd in the container. T09 delivers that file.
The local cache database must not be discarded yet — 11 records live only there.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
state-hub-mcp serves SSE on ClusterIP 10.43.110.80:8001, verified from the node
rather than through a tunnel, and reads central's data end-to-end (79 repos).
Remote port map and dev-hub registration repointed off the reverse tunnel.
state-hub-mcp-railiance01 is now safe to remove. state-hub-railiance01 is not:
~120 AGENTS.md files still depend on it until T07.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Remote repointing turned out to be larger than a config change. The port map
is prose copied into ~120 AGENTS.md files with no generator behind it, and the
Helm chart deploys no MCP server on central, so remote dev-hub exists only as
a reverse tunnel to the workstation.
Global agent instructions repointed to the in-cluster ClusterIP; the two
reverse tunnels stay until T07 and T08 remove what depends on them.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The bridge config lives outside any repo and could not be edited from the
session. Captures the two health-check defects and the reverse-relay
retirement, with the sequencing constraint that remote agents must be
repointed before the relay entries are removed.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Operator decision 2026-08-24: rather than making two hub instances coexist
safely, retire the second one. The local postgres+uvicorn instance is what
impersonates central and is redundant with ADR-010 decision 3 plus Repo
Manager's file-derived index.
With it gone, state-hub-primary binds 127.0.0.1:8000 unchanged and every
existing default becomes correct with no call-site edits.
Adds the cache-only recovery export (44 records) as the T05 source.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
ADR-010 documented two hub instances sharing port 8000 separated only by IP
family; the condition was never remediated. Repo onboarding from the
workstation has landed in the local cache since 2026-07-08 — 122 cache repos
vs 78 central, a strict subset with 0 central-only records.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>