Commit graph

39 commits

Author SHA1 Message Date
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
5921b65c49 feat(RMGR-WP-0003): production pilot dual-run config, bulk, push
Config file dual-run (env override), writeback_push, bulk-status facade
on State Hub, pilot example config, evidence and finished workplan.
2026-08-11 02:32:14 +02:00
310b43079d feat(RMGR-WP-0002): dual-run writeback, flags, meter, SH facade
Add dual-run flags/meter, harden task-status (idempotency, UUID, head,
push), State Hub adapter for PATCH /tasks and C-15/reconcile proxy, pilot
evidence, and finish RMGR-WP-0002.
2026-08-09 23:19:56 +02:00
bb1d030257 chore(consistency): register RMGR-WP-0002 2026-08-09 23:05:43 +02:00
754d02f40e docs: research SH repo tooling, architecture blueprint, RMGR-WP-0002
Document how State Hub registers, resolves, reconciles, and mutates
repos; blueprint Stage B dual-run toward retirement; open workplan for
SH adapter writeback/reconcile without non-retirement refactors.
2026-08-09 23:04:49 +02:00
8b5634ff2a feat(RMGR-WP-0001): complete T05 end-to-end vertical slice
Implement observe/reconcile/update-task-status CLI path: workplan parse,
JSON projection index, git-backed task status writeback with correlation
events, and E2E pytest plus evidence artifacts. Finish foundation workplan.
2026-08-09 22:49:31 +02:00
e02f5a258a docs(RMGR-WP-0001): complete T04 implementation foundation
Accept ADR-001: Python 3.12, FastAPI, Postgres/SQLAlchemy async, src layout,
uv/hatchling, pytest. Scaffold package, rmgr CLI stub, and version tests.
2026-08-09 22:41:26 +02:00
20613463d2 docs(RMGR-WP-0001): complete T03 State Hub extraction inventory
Map registration, host paths, parsing, consistency, writeback, deps, sweep,
and outbox candidates to keep/adapt/replace/retire with compat suites and
extraction phases P0–P5.
2026-08-09 22:35:22 +02:00
fc0445d394 chore(consistency): refresh after T02 2026-08-09 22:07:44 +02:00
1437999eb7 docs(RMGR-WP-0001): complete T02 observation and command contracts
Define helixforge.repo-manager 0.1: observation ops, governed command
catalog, authz scopes, idempotency, evidence, failures, and hub-core ports.
2026-08-09 22:06:46 +02:00
ca65ac9cf3 docs(RMGR-WP-0001): mark T01 acceptance checkbox 2026-08-09 22:03:14 +02:00
14b3ae55b7 docs(RMGR-WP-0001): complete T01 repository representation model
Define ManagedRepository fields with authority vs projection, declared
record classes, signals, agent roles, and State Hub managed_repos map.
2026-08-09 22:01:58 +02:00
e3fbdbc148 docs: establish INTENT/SCOPE and activate RMGR-WP-0001
Strengthen Intent and Scope for State Hub registration and HelixForge
boundaries; mark foundation workplan active. Classification synced via
register-from-classification (do not re-run statehub register bootstrap —
it collides with RMGR-WP-0001).
2026-08-09 21:55:59 +02:00
79dd164300 docs(RMGR-WP-0001): link parent State Hub retirement project
Stream S1 in prj-state-hub-retirement child-workplan map.
2026-08-09 21:22:57 +02:00
f999029acf Seed Repo Manager foundation 2026-08-09 16:36:09 +02:00