Commit graph

79 commits

Author SHA1 Message Date
c3f4ece7ea fix(workplans): adopt ADR-007 derived identifiers for unregistered records
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
2026-08-25 20:21:52 +02:00
885575802c fix(identity): enforce qualified ad-hoc identifiers
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02b22-9638-76d2-bbff-b7ea1770b118
2026-08-23 14:45:26 +02:00
762fa919db docs(registrar): record Custodian proof
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02b22-9638-76d2-bbff-b7ea1770b118
2026-08-23 12:29:50 +02:00
7b9fdaa734 fix(registrar): bound slow consistency runs
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02b22-9638-76d2-bbff-b7ea1770b118
2026-08-23 11:58:43 +02:00
7a15f1da21 fix(registrar): scope identity preflight
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a02b22-9638-76d2-bbff-b7ea1770b118
2026-08-23 11:49:59 +02:00
055c6971ab feat(identifiers): verify batch projections
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 23:50:34 +02:00
e6cc18bf18 feat(sbom): project immutable Forgejo source refs
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 23:34:01 +02:00
b068e9da42 feat(sbom): add authoritative Nexus client
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 23:26:45 +02:00
84952c5212 feat: harden work-record and SBOM client contracts
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 23:19:36 +02:00
63c00f9c9d docs(identifiers): record railiance-cluster cutover
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 23:04:30 +02:00
bf1dff9936 docs(workplan): record SBOM client readiness gate
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 22:28:10 +02:00
f0200c0434 chore(registrar): assign State Hub identifiers
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 22:26:49 +02:00
062a45fc58 docs(workplans): prepare identifier batch and SBOM client follow-up
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 22:25:11 +02:00
ad0ba6f2ba refactor: delegate SBOM scans to Nexus
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a028f0-a42f-7582-89a8-ebaad7343834
2026-08-22 20:22:45 +02:00
0362ed8d12 docs(identifiers): record markitect cutover
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 16:48:41 +02:00
1250fa87f7 docs(identifiers): prepare markitect cutover batch
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 16:21:56 +02:00
e7f3eece34 docs(identifiers): record whynot cutover
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 16:13:50 +02:00
5e14d09bdf feat(identifiers): prepare verified cutover batches
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 14:57:56 +02:00
890f3b05b5 feat(handoffs): publish owner task interfaces
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 14:15:48 +02:00
repo-manager
86a00f3d3c chore(registrar): assign State Hub identifiers
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 14:05:25 +02:00
72bcb62ff9 docs(workloads): record adoption handoffs
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 14:04:43 +02:00
b36b68bc57 feat(workloads): define authoritative reference contract
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 14:03:07 +02:00
fa1f272ea4 docs(registrar): record closed-workplan recovery
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 13:03:33 +02:00
833fa6e746 docs(cache): prove isolated projection rebuild
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 12:31:35 +02:00
f8b914a52a docs(identifier): record repo-manager cutover pilot
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 10:01:30 +02:00
5de754a17c chore(identifier): migrate RMGR-WP-0005 UUIDs
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 00:36:28 +02:00
1d5b60346d feat(identifier): add reversible file migration
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-22 00:32:04 +02:00
956efbb7ae feat(identifier): declare helixforge fleet namespace
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-21 23:57:03 +02:00
5dc2f3cdf6 feat(cache): add rebuild and provenance safeguards
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-21 23:23:03 +02:00
d103955217 feat: finish register receiving and authority routing
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-21 23:15:48 +02:00
ad621d6c0d feat: advance conformance and deterministic ID migration
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-21 22:43:37 +02:00
aa60c033b3 docs: finish assistant provenance workplan
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-21 22:09:34 +02:00
35e86d7b85 feat: advance repository records and provenance
Assistant: codex
Assistant-Model: gpt-5.6-sol
Assistant-Session: 01a023c0-a0a3-7c03-b395-5a0d2757214d
2026-08-21 22:07:48 +02:00
repo-manager
5221bab969 chore(registrar): assign State Hub identifiers 2026-08-21 21:42:37 +02:00
2bf569d3d5 feat: add scoped identifier registrar 2026-08-21 21:38:23 +02:00
859df9aae7 feat(RMGR-WP-0008): add workplan and register receiving surfaces 2026-08-21 17:15:21 +02:00
5502afc1fd docs(RMGR-WP-0005): railiance01 forgejo transition complete
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>
2026-08-21 15:37:07 +02:00
d98b826330 ops(RMGR-WP-0005): contain stale-lineage production sweep 2026-08-21 13:50:02 +02:00
de97132aef docs(RMGR-WP-0005): registrar fix is gated on the railiance01 remote sweep
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>
2026-08-21 09:37:49 +02:00
72a01c0b2f docs(RMGR-WP-0005): record that the registrar was never stood up
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>
2026-08-21 09:32:47 +02:00
e8eaaf9a7f docs: RMGR-WP-0009 coding-assistant commit provenance trailers
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>
2026-08-21 09:12:25 +02:00
c874ad75e0 docs: unblock RMGR-WP-0005-T03, assign live-collision remediation
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>
2026-08-21 06:36:44 +02:00
ebb1891b2d docs: RMGR-WP-0008 receiving surface for work records and registers
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>
2026-08-20 08:54:01 +02:00
f509da5606 feat: interim identifier registrar (RMGR-WP-0005-T01)
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.
2026-08-18 21:49:08 +02:00
0dde030ae3 docs(workplans): extend RMGR-WP-0004-T08 to canon artifact identifiers
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>
2026-08-18 18:24:06 +02:00
a6d4a9b615 feat: flavor-correct rmgr scaffold; record C-15/C-23 file-wins
RMGR-WP-0004-T03: project repos get GOAL.md and a required prefix.
RMGR-WP-0005-T06 implemented in state-hub consistency.
2026-08-18 13:36:26 +02:00
0c5177ec4c docs(workplans): open RMGR-WP-0004-T02 after T01; refresh index 2026-08-18 13:29:59 +02:00
custodian-sync
5979c6e62c chore(consistency): sync task status from DB [auto]
Updated by fix-consistency on 2026-08-18:
  - RMGR-WP-0004-T02: progress → wait
2026-08-18 13:29:07 +02:00
04145a59d9 feat: model repo standards and detect prefix collisions
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.
2026-08-18 13:28:40 +02:00
f953b1ebf5 feat: greenfield rapp wrap path and rail-sequence rules
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.
2026-08-18 13:03:16 +02:00