Prepare the access-engine repository coordinate without applying the rename.
FLEX-WP-0020 T01-T03: fresh preflight is zero-blocker, repository-only scope is FLEX-DEC-2026-013, concurrent work is FLEX-DEC-2026-014. T04 handoff requests are posted; owner work-records are still required. T06 stays behind the exact human confirm string and a post-commit preflight. Assistant: grok Assistant-Session: 01a0a6cb-0334-72c0-83b0-2df57474a0f6
This commit is contained in:
parent
0e020b2d8c
commit
dcda1e603f
5 changed files with 166 additions and 7 deletions
|
|
@ -3,6 +3,14 @@
|
|||
Policy-as-code authorization registry and control plane for NetKingdom-aligned
|
||||
systems.
|
||||
|
||||
The live Forge and State Hub coordinate is still `flex-auth` (repository UUID
|
||||
`fda8ad85-a7d7-4055-8f21-902a533e59df`, Forge ID `42`). `FLEX-WP-0020` will
|
||||
rename that coordinate to `access-engine` and keep the Go module, binary,
|
||||
`FLEX_AUTH_*` variables, Helm releases, container package
|
||||
`coulomb/flex-auth`, and policy/API vocabulary unchanged. Work-record
|
||||
frontmatter stays `repo: flex-auth` until State Hub rebind. Planned clone:
|
||||
`https://forgejo.coulomb.social/coulomb/access-engine.git`.
|
||||
|
||||
Start with [INTENT.md](INTENT.md) for the project boundary and direction.
|
||||
Research notes and ADRs live in [docs/](docs/) and [docs/adr/](docs/adr/).
|
||||
|
||||
|
|
|
|||
|
|
@ -1797,3 +1797,39 @@ review of the assertions.
|
|||
- Bears on `FLEX-DEC-2026-011` F1. A PEP cannot verify who answered; it now at
|
||||
least can verify that the answer is about the request it sent. Those are
|
||||
different properties and neither substitutes for the other.
|
||||
|
||||
---
|
||||
|
||||
## FLEX-DEC-2026-013 — Repository-only scope for the access-engine coordinate
|
||||
|
||||
**Date:** 2026-09-15
|
||||
**Status:** accepted
|
||||
**Workplan:** `FLEX-WP-0020-T03`
|
||||
**Hub:** `9f2dd7a4-6437-4e59-8403-ae56d9cc1d09`
|
||||
|
||||
Rename the Forge/State Hub repository coordinate to `access-engine`. Retain
|
||||
the Go module `github.com/netkingdom/flex-auth`, binary/CLI, `FLEX_AUTH_*`
|
||||
variables, Kubernetes namespace/Services/Helm, container package
|
||||
`coulomb/flex-auth`, policy/API vocabulary, audiences, and telemetry labels.
|
||||
Keep the `FLEX-WP-` prefix and every existing State Hub UUID. A broader
|
||||
product/runtime rebrand needs a later workplan after soak.
|
||||
|
||||
This is the reviewed table already written in `FLEX-WP-0020`. Changing a
|
||||
`retain` row returns that plan to `proposed`.
|
||||
|
||||
---
|
||||
|
||||
## FLEX-DEC-2026-014 — Concurrent work may remain open during FLEX-WP-0020 cutover
|
||||
|
||||
**Date:** 2026-09-15
|
||||
**Status:** accepted
|
||||
**Workplan:** `FLEX-WP-0020-T01` / `T05`
|
||||
|
||||
`FLEX-WP-0027-T03` stays `wait` (operator human review of three T03 memos).
|
||||
`FLEX-WP-0022` T01/T02 stay open (tenant-engine must name the CheckRequest
|
||||
tenant relation; T03 fixtures landed without a policy change). Neither
|
||||
changes repository identity, Forge ID, or the source UUID. They do not have
|
||||
to finish before a repository-coordinate rename, and they must not be
|
||||
cancelled or rewritten by it. Live Forge apply (`T06`) still needs the exact
|
||||
human confirmation string and a fresh zero-blocker preflight of the commit
|
||||
being renamed.
|
||||
|
|
|
|||
47
docs/evidence/2026-09-15-repository-rename-baseline.md
Normal file
47
docs/evidence/2026-09-15-repository-rename-baseline.md
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
# FLEX-WP-0020-T01 — identity baseline (2026-09-15)
|
||||
|
||||
Private preflight file is `/tmp/flex-auth-rename-preflight-0020.json` (mode 0600).
|
||||
It is not committed. Token material stays there.
|
||||
|
||||
| Field | Value |
|
||||
| --- | --- |
|
||||
| State Hub UUID | `fda8ad85-a7d7-4055-8f21-902a533e59df` |
|
||||
| Forge repository ID | `42` |
|
||||
| Forge full name | `coulomb/flex-auth` |
|
||||
| Default branch | `main` |
|
||||
| Local path | `/home/worsch/flex-auth` |
|
||||
| Remote | `forgejo-remote:coulomb/flex-auth.git` |
|
||||
| Clone URL | `https://forgejo.coulomb.social/coulomb/flex-auth.git` |
|
||||
| Host paths | railiance01 `/home/tegwick/flex-auth`; `bnt-lap001` `/home/worsch/flex-auth` |
|
||||
| Protected/current aliases | `flex-auth` (canonical) |
|
||||
| Target slug | `access-engine` (Forge reports none yet; available) |
|
||||
| Preflight `safe_to_apply` | `true` |
|
||||
| Blockers | none |
|
||||
| Queued edge writes | none |
|
||||
| Warning | `active_work_present` (15 tasks / 8 workplans) |
|
||||
| Report checksum (this capture) | `4b930464e0b92137902481d39cd89b1b2458a8ea88ad08c7ac0c86f2427e7c76` |
|
||||
| Signing | no longer the August 29 `preflight_signing_unavailable` blocker |
|
||||
|
||||
Captured `HEAD` at inspection was `6fd3a0cbc400b9128132497fca69d0096259800c`.
|
||||
A later commit on this workplan requires a fresh T05 preflight before
|
||||
`forge-renamed`.
|
||||
|
||||
## Active-work disposition (FLEX-DEC-2026-014)
|
||||
|
||||
- `FLEX-WP-0017` and `FLEX-WP-0019` are finished (the August 29 snapshot is stale).
|
||||
- `FLEX-WP-0027-T03` remains `wait` — human review, not a source-identity change.
|
||||
- `FLEX-WP-0022` T01/T02 remain open; T03 is fixture-only. Coordinate rename
|
||||
must not cancel them.
|
||||
- `FLEX-WP-0020` itself is the cutover plan.
|
||||
|
||||
Working tree at inspection: branch `main`, tracking `origin/main`, clean
|
||||
before this workplan's source edits.
|
||||
|
||||
## Proposed mutations (from preflight)
|
||||
|
||||
1. Forgejo `name`: `flex-auth` → `access-engine` (`forge-renamed`)
|
||||
2. State Hub `managed_repos.slug`: `flex-auth` → `access-engine` (`statehub-rebound`)
|
||||
3. State Hub `managed_repos.remote_url`: `forgejo-remote:coulomb/flex-auth.git` → `https://forgejo.coulomb.social/coulomb/access-engine.git`
|
||||
4. Slug registry: `flex-auth:canonical` → `flex-auth:alias, access-engine:canonical`
|
||||
|
||||
No runtime Deployment, image, or policy-package mutation is in this list.
|
||||
49
docs/evidence/2026-09-15-repository-rename-handoffs.md
Normal file
49
docs/evidence/2026-09-15-repository-rename-handoffs.md
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
# FLEX-WP-0020-T04 — consumer inventory and handoff requests
|
||||
|
||||
Status: requests sent. Owner work-record IDs are not invented here.
|
||||
Handoff JSON cannot be schema-valid until each owner creates a live
|
||||
workplan/task; those IDs fill `handoff_id` / `owning_work_record`.
|
||||
Do not mark external work done from this repository.
|
||||
|
||||
Shared identity for every request:
|
||||
|
||||
- renamed_repository_id: `fda8ad85-a7d7-4055-8f21-902a533e59df`
|
||||
- old_slug: `flex-auth`
|
||||
- new_slug: `access-engine`
|
||||
- Forge ID stays `42`
|
||||
- runtime/product names stay `flex-auth` (FLEX-DEC-2026-013)
|
||||
|
||||
| Owner | Surface | Required change / verification | Owner work-record |
|
||||
| --- | --- | --- | --- |
|
||||
| `railiance-fabric` | fabric-projection | Update `registry/local-repos.yaml`, `registry/railiance-repos.yaml`, live `fabric/**` `repo: flex-auth`; re-ingest; keep `flex-auth.*` runtime graph IDs | pending |
|
||||
| `ops-warden` | credential-route | Review `registry/routing/catalog.yaml` owner repository field; routing must still resolve; no secret in the reply | pending |
|
||||
| `reuse-surface` | other | Update federation source URL/path, re-ingest, verify capability continuity | pending |
|
||||
| `policy-nexus` | other | Update `source-inventory.config.json` remote URL; re-ingest same publication lineage | pending |
|
||||
| `user-engine` | documentation | Update `wiki/ArchitectureBlueprint.md` absolute source path; adapter/runtime vocabulary stays `flex-auth` | pending |
|
||||
| `net-kingdom` | deployment | Verify three live `flex-auth-*` Deployments and `sso-mfa/k8s/**`; no runtime rename | pending |
|
||||
| `tenant-engine` | consumer | Verify docs/client config keep the retained product/runtime contract | pending |
|
||||
| `sbom-nexus` | sbom | Re-ingest new canonical checkout; snapshots remain related to the UUID above | pending |
|
||||
| `repo-manager` | other | Reconcile new canonical path; do not rewrite archived UUID-migration evidence | pending |
|
||||
| `railiance-platform`, `markitect-tool`, `gate-house`, `approval-engine`, `secrets-engine`, `zone-engine` | consumer | Confirm no live repository URL/path remains; retain product/runtime terminology | pending |
|
||||
| `flex-auth` + Forgejo operator | ci / package | `.forgejo/workflows/image.yaml`, charts, deploy, releases, packages, hooks, Actions, deploy keys, branch protection, redirects, clone URLs. Only repository coordinates change. Image name stays `coulomb/flex-auth`. | this plan |
|
||||
|
||||
Request message IDs (not owner work-records):
|
||||
|
||||
| Owner | Message ID |
|
||||
| --- | --- |
|
||||
| tenant-engine (T01 question) | `e8ba6a53-0093-4dc0-ad70-01f6b8c8e76b` |
|
||||
| tenant-engine (0020 verify) | `08b3edfa-c478-45c9-9b2f-4c0fcdf471e7` |
|
||||
| railiance-fabric | `10d4b1a2-8976-42a5-8d76-6fc1ce54fe87` |
|
||||
| ops-warden | `0a1956c5-9fd2-4e52-837e-5bfa8e47e83d` |
|
||||
| reuse-surface | `08919217-1d82-4600-a2e8-e3d9949fabab` |
|
||||
| policy-nexus | `d861dc4f-11b5-4c73-a98c-8d261e65d65e` |
|
||||
| user-engine | `94fd6ef0-28b5-4481-a207-2adabab93893` |
|
||||
| net-kingdom | `3bc95c76-abac-4f20-95ff-a74dcc1d6fd9` |
|
||||
| sbom-nexus | `08540a29-ecd4-47bc-a87c-7eecf80f166a` |
|
||||
| repo-manager | `0a4b1825-99b1-4e1e-a4a0-448b0347b744` |
|
||||
| railiance-platform | `b55a40cb-eb03-4972-a9bc-aac6e131a63e` |
|
||||
| markitect-tool | `0dd0d6af-12fd-4b3e-af4e-1f294d615039` |
|
||||
| gate-house | `231460c6-0235-4c22-9f7d-cff3959496ed` |
|
||||
| approval-engine | `2523510b-79d6-4123-b550-6386dae4d464` |
|
||||
| secrets-engine | `15cf351a-bad8-4259-9b6f-b21d183a20ab` |
|
||||
| zone-engine | `40adbd61-0155-44f8-b6a7-621ff1629c46` |
|
||||
|
|
@ -4,12 +4,12 @@ type: workplan
|
|||
title: "Repository identity migration from flex-auth to access-engine"
|
||||
domain: "infotech"
|
||||
repo: "flex-auth"
|
||||
status: proposed
|
||||
status: active
|
||||
flavor: planning
|
||||
owner: "codex"
|
||||
topic_slug: "netkingdom"
|
||||
created: "2026-08-29"
|
||||
updated: "2026-08-29"
|
||||
updated: "2026-09-15"
|
||||
reviewed_at: "2026-08-29"
|
||||
reviewed_by: codex
|
||||
reviewed_against_commit: "7d7b4531d15a2dde7aaa28b9360a13e77b28b2a9"
|
||||
|
|
@ -137,7 +137,7 @@ the two live workplans; it must not silently cancel or rewrite them.
|
|||
|
||||
```task
|
||||
id: FLEX-WP-0020-T01
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "bb989019-50a7-5273-ba09-b2df2e2602a4"
|
||||
```
|
||||
|
|
@ -156,11 +156,16 @@ Owner: `flex-auth`.
|
|||
Gate: repository UUID, Forge ID, branch, commit, and clean-state evidence are
|
||||
recorded and match a fresh State Hub preflight.
|
||||
|
||||
2026-09-15: captured in `docs/evidence/2026-09-15-repository-rename-baseline.md`.
|
||||
Signing is no longer a blocker. `safe_to_apply=true`, zero blockers, warning
|
||||
`active_work_present` disposed by `FLEX-DEC-2026-014`. A later commit still
|
||||
needs a T05 preflight before `forge-renamed`.
|
||||
|
||||
## 2. Prepare repository metadata and work-record frontmatter
|
||||
|
||||
```task
|
||||
id: FLEX-WP-0020-T02
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "102e9dc7-4724-5e80-84c4-092e6ecfbb2b"
|
||||
```
|
||||
|
|
@ -179,11 +184,14 @@ Owner: `flex-auth`.
|
|||
Gate: work-record parsing succeeds and no existing UUID field was removed,
|
||||
replaced, or invented.
|
||||
|
||||
2026-09-15: README states the planned `access-engine` clone URL and that
|
||||
frontmatter stays `repo: flex-auth` until rebind. No UUID fields rewritten.
|
||||
|
||||
## 3. Decide product and runtime naming separately
|
||||
|
||||
```task
|
||||
id: FLEX-WP-0020-T03
|
||||
status: todo
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "5095ddbc-b69c-5a52-b97f-08fca9b610c3"
|
||||
```
|
||||
|
|
@ -209,11 +217,13 @@ rollback limits are reviewed.
|
|||
Gate: every item has a decision record and independently deployable changes
|
||||
have their own workplan or residual handoff.
|
||||
|
||||
2026-09-15: accepted as `FLEX-DEC-2026-013` / hub `9f2dd7a4-6437-4e59-8403-ae56d9cc1d09`.
|
||||
|
||||
## 4. Inventory consumers and create owned handoffs
|
||||
|
||||
```task
|
||||
id: FLEX-WP-0020-T04
|
||||
status: todo
|
||||
status: progress
|
||||
priority: high
|
||||
state_hub_task_id: "9bb138e1-5edb-5714-8d89-3b1b7039a7ce"
|
||||
```
|
||||
|
|
@ -239,6 +249,10 @@ Owner: `flex-auth` for inventory and handoff creation only.
|
|||
Gate: every discovered external change has one named owning repository and
|
||||
durable handoff ID; unknown ownership blocks the live rename.
|
||||
|
||||
2026-09-15: inventory in `docs/evidence/2026-09-15-repository-rename-handoffs.md`.
|
||||
Owner work-record IDs are requested, not invented. T06 stays blocked on those
|
||||
IDs plus the human confirm string.
|
||||
|
||||
Reviewed inventory baseline:
|
||||
|
||||
| Owner | Required source/verification surface |
|
||||
|
|
@ -259,7 +273,7 @@ Reviewed inventory baseline:
|
|||
|
||||
```task
|
||||
id: FLEX-WP-0020-T05
|
||||
status: todo
|
||||
status: wait
|
||||
priority: high
|
||||
state_hub_task_id: "86fecbb6-b008-5354-8d70-0f4ba5077a58"
|
||||
```
|
||||
|
|
@ -280,6 +294,11 @@ window, rollback limits, and confirmation `rename:fda8ad85-a7d7-4055-8f21-902a53
|
|||
Gate: a current private preflight and explicit human approval exist. Never
|
||||
commit the private preflight file or its token.
|
||||
|
||||
2026-09-15: signing is provisioned; a private preflight of `6fd3a0c` was
|
||||
zero-blocker. Re-run after this source commit. Human confirmation of
|
||||
`rename:fda8ad85-a7d7-4055-8f21-902a533e59df:flex-auth:access-engine` is still
|
||||
required before T06. Do not start the journal from this session.
|
||||
|
||||
## 6. Execute the Forgejo repository rename
|
||||
|
||||
```task
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue