Commit graph

64 commits

Author SHA1 Message Date
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
4743435f04 docs(workplans): register RMGR-WP-0007 greenfield wrap efficiency
Playbook, skeleton, image workflow, postgres consumer draft, wrap,
place, and a files-only tenant-engine pilot. No implementation yet.
2026-08-18 12:53:11 +02:00
7295c4f29f docs(workplans): finish RMGR-WP-0006 after user-engine rollout 2026-08-18 12:42:55 +02:00
custodian-sync
1a3e4e1390 chore(consistency): renormalize lifecycle state [auto]
Updated by fix-consistency on 2026-08-18:
  - workplan status: proposed → active
2026-08-18 12:40:32 +02:00
8b87b17980 feat: add rmgr rapp init/validate/pin-image
Prove the user-engine wrapper shape and give Repo Manager a
secret-free scaffolder that refuses invented rails and live-contract
overwrites.
2026-08-18 12:39:24 +02:00
77452492ec docs: treat live net-kingdom user-engine manifests as the wrap source
user-engine already runs from net-kingdom/sso-mfa/k8s/user-engine.
The rapp absorbs those manifests (manifest-managed), keeps or
cutovers the dedicated CNPG cluster, and becomes the only apply home.
2026-08-18 12:21:53 +02:00
5197aa7425 docs: add Railiance app wrapper best-practice guide
Record how rapp-* repos wrap first-party apps for Railiance, using
user-engine as the pilot. Opens RMGR-WP-0006 (T01 done) and includes
fix-consistency ID writeback for WP-0004/0005/0006.
2026-08-18 12:18:45 +02:00
custodian-sync
886f6c1c3a chore(consistency): renormalize lifecycle state [auto]
Updated by fix-consistency on 2026-08-18:
  - workplan status: proposed → active
2026-08-18 12:18:02 +02:00
a4637fdaf3 docs: renumber ADR-008 -> ADR-010 after canon ID collision
ADR-008 was concurrently allocated by two authors on 2026-08-17: the
multi-tenancy framework (earlier provenance, draft-1 lineage) and the hub
authority model. The multi-tenancy ADR keeps 008; the hub authority model
becomes ADR-010.

Also corrects the 'read replica' phrasing in T01, superseded by ADR-010.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-17 13:04:03 +02:00
b65b5fb144 docs(workplans): RMGR-WP-0005 T07-T10 implement the ADR-008 cache model
T07 rebuild local instances as caches; T08 separate file-derived from
hub-native data and rescope STATE-WP-0068; T09 disposition the 28 orphans
(blocks T07); T10 assign one authoritative hub per record before the hub
split lands.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-17 12:18:02 +02:00
d6ac7ddf95 docs(workplans): record RAILIANCE- retirement and completed prefix migration
RPF/RAPPS/RFORGE/RTELE assigned; four live plans migrated keeping running
numbers; six repos' conventions repointed. Executed centrally as an
authorized exception to ADR-007 decision 4, with the reason recorded.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-17 10:49:33 +02:00
390b6256d7 docs(workplans): record RAIL-BS- retirement and numbering rule in T09
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-17 10:41:04 +02:00
52cd6d7a1b docs(workplans): RMGR-WP-0004-T09 assign ownership of shared prefixes
Three prefixes across seven repos, each a concurrently-allocated number
line. Recommends the-custodian keeps CUST-WP-, RAIL-BS- needs a call, and
RAILIANCE- is retired outright since it names a family rather than a repo —
the same defect as PRJ-WP-. Execution of each rename belongs to a worker in
that repo per ADR-007 decision 4.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-17 10:24:15 +02:00
c9b7cab9c3 docs(workplans): RMGR-WP-0005 registrar consolidation + deterministic IDs
Implements ADR-007 decision 2: interim single-writer, target UUIDv5 derived
from the globally unique PREFIX-WP-NNNN so writeback is idempotent across
instances. T04 migrates the 758 files carrying hub identifiers. T06 covers
lifecycle protection including the C-15 task-status override.

RMGR-WP-0004 gains T08 enforcing ADR-007 identifier uniqueness, which gates
RMGR-WP-0005-T03 — deriving from a non-unique identifier would manufacture
UUID collisions.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-17 10:19:03 +02:00
211b81cd94 docs(workplans): RMGR-WP-0004 repository standards conformance (proposed)
Repo Manager takes ownership of the standards repositories must comply with
— flavor, required files, naming, classification, conformance checking —
and of governed scaffolding, per prj-state-hub-retirement decision
747011c6.

Hubs are registers; they do not scaffold or rewrite repo files. Extends
ADR-001 from data to behaviour. Receives the implementation retargeted out
of STATE-WP-0080.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 18:24:32 +02:00
3dd5822d31 chore(consistency): register RMGR-WP-0003 2026-08-11 02:32:58 +02:00