From 3f60797c0a8a820a735316d5061fefb1ec6fbba4 Mon Sep 17 00:00:00 2001 From: tegwick Date: Sun, 20 Sep 2026 23:52:31 +0200 Subject: [PATCH] Record the first returned rename handoff and re-ask the tenant-scope question. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit FLEX-WP-0020-T04: reuse-surface is the first owner to return a live work-record (REUSE-WP-0023, two tasks, both deliberately in wait). Recorded in the handoff evidence and verified rather than taken on report — the hub record is active, access-engine raw returns 404, flex-auth returns 303, so the rename has not landed and their refusal to pre-rewrite the federation source URL is correct. That refusal changed the plan rather than only their side: flipping an enabled, publish-passing source before the rename drops a live capability from the composed federated index, so the source rewrite is ordered after T06, and flex-auth owes them a ping when access-engine serves the capabilities index. Nine owners remain pending; T05 stays blocked. FLEX-WP-0022-T01: re-asked tenant-engine what CheckRequest.tenant denotes on the write API, stating that "none" is a complete answer. Their code copies tenant_id onto both tenant and resource.id, but that is observation, not admission, and encoding a rule from it would make flex-auth the author of their tenancy model. Co-Authored-By: Claude Opus 5 Assistant: claude-code Assistant-Model: opus Assistant-Process: 28468@bnt-lap001 Assistant-Session: c76569b2-6056-4dad-aea4-49cd7a018f5d --- .../2026-09-15-repository-rename-handoffs.md | 36 ++++++++++++++++++- ...X-WP-0020-repository-identity-migration.md | 13 +++++++ .../FLEX-WP-0022-tenant-scope-coverage.md | 6 ++++ 3 files changed, 54 insertions(+), 1 deletion(-) diff --git a/docs/evidence/2026-09-15-repository-rename-handoffs.md b/docs/evidence/2026-09-15-repository-rename-handoffs.md index 10f545c..cf981d2 100644 --- a/docs/evidence/2026-09-15-repository-rename-handoffs.md +++ b/docs/evidence/2026-09-15-repository-rename-handoffs.md @@ -17,7 +17,7 @@ Shared identity for every request: | --- | --- | --- | --- | | `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 | +| `reuse-surface` | other | Update federation source URL/path, re-ingest, verify capability continuity | `REUSE-WP-0023` / `65c03b24-4349-5a60-b7d6-79cf54931d06` | | `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 | @@ -47,3 +47,37 @@ Request message IDs (not owner work-records): | approval-engine | `2523510b-79d6-4123-b550-6386dae4d464` | | secrets-engine | `15cf351a-bad8-4259-9b6f-b21d183a20ab` | | zone-engine | `40adbd61-0155-44f8-b6a7-621ff1629c46` | + +## Owner work-records returned + +2026-09-20 — `reuse-surface` is the first owner to return a live work-record. + +| Field | Value | +| --- | --- | +| Owning workplan | `REUSE-WP-0023` — `65c03b24-4349-5a60-b7d6-79cf54931d06` (`active`, file-backed at `workplans/REUSE-WP-0023-access-engine-source-rename.md`) | +| Tasks | `REUSE-WP-0023-T01` `d97094d4-4cad-5b35-aa88-eb952215937a` (federation source coordinates); `REUSE-WP-0023-T02` `77b1eb56-bbf6-5454-892f-bf60e32b864a` (hosted hub registration) | +| Task status | both `wait`, deliberately | +| Reply message | `82bfe60f-1258-4d5d-9b81-9596b5fedd9e` | + +Their sequencing constraint is recorded here because it is the plan's, not only +theirs: flipping a federation source URL before the forge rename lands breaks an +enabled, publish-passing source and drops its capability from the composed +federated index. So the source rewrite is **after** T06, not before it, and +`flex-auth` owes them a ping on that thread when +`access-engine` serves `/raw/main/registry/indexes/capabilities.yaml`. + +Verified here rather than taken on report (2026-09-20): + +- `GET .../coulomb/access-engine/raw/main/registry/indexes/capabilities.yaml` — `404` +- `GET .../coulomb/flex-auth/raw/main/registry/indexes/capabilities.yaml` — `303` +- `GET /workplans/65c03b24-...` — present, `active` + +They also confirm the three identity invariants unchanged: Forge ID `42`, repo +UUID `fda8ad85-a7d7-4055-8f21-902a533e59df`, and runtime names staying +`flex-auth` per `FLEX-DEC-2026-013`. A repository rename does not redefine a +published capability identifier. + +Still pending, and T05 stays blocked on them: `railiance-fabric`, `ops-warden`, +`policy-nexus`, `user-engine`, `net-kingdom`, `tenant-engine`, `sbom-nexus`, +`repo-manager`, and the named semantic-consumer verifiers. + diff --git a/workplans/FLEX-WP-0020-repository-identity-migration.md b/workplans/FLEX-WP-0020-repository-identity-migration.md index 287f6ab..b687950 100644 --- a/workplans/FLEX-WP-0020-repository-identity-migration.md +++ b/workplans/FLEX-WP-0020-repository-identity-migration.md @@ -253,6 +253,19 @@ durable handoff ID; unknown ownership blocks the live rename. Owner work-record IDs are requested, not invented. T06 stays blocked on those IDs plus the human confirm string. +2026-09-20: first owner work-record returned. `reuse-surface` created +`REUSE-WP-0023` (`65c03b24-4349-5a60-b7d6-79cf54931d06`, `active`) with +`T01` `d97094d4-4cad-5b35-aa88-eb952215937a` and `T02` +`77b1eb56-bbf6-5454-892f-bf60e32b864a`, both deliberately in `wait`. Recorded +in the evidence file; not marked done from here. Verified independently: the +hub record exists and is active, `access-engine` raw returns `404` while +`flex-auth` returns `303`, so the rename has not landed and their refusal to +pre-rewrite the source URL is correct. It adds an ordering constraint this plan +now owns — the federation source rewrite follows T06 rather than preceding it, +and `flex-auth` owes them a ping on message thread +`82bfe60f-1258-4d5d-9b81-9596b5fedd9e` once `access-engine` serves +`/raw/main/registry/indexes/capabilities.yaml`. Nine owners remain pending. + Reviewed inventory baseline: | Owner | Required source/verification surface | diff --git a/workplans/FLEX-WP-0022-tenant-scope-coverage.md b/workplans/FLEX-WP-0022-tenant-scope-coverage.md index b9b0624..ee292d4 100644 --- a/workplans/FLEX-WP-0022-tenant-scope-coverage.md +++ b/workplans/FLEX-WP-0022-tenant-scope-coverage.md @@ -80,6 +80,12 @@ Gate: the relation is named by `tenant-engine`, not inferred here. This is the `FlexAuthWriteAuthorizer.authorize` copies `tenant_id` onto both `CheckRequest.tenant` and `resource.id`. That is observation, not admission. +2026-09-20: re-asked after five days of silence, restating the three questions +and saying plainly that "none" is a complete answer. The gate is unchanged: a +policy rule inferred from reading their code would make `flex-auth` the author +of their tenancy model, which is the boundary `FLEX-WP-0021-T01` exists to hold. +T02 stays `wait` rather than being guessed forward. + ## 2. Encode the relation, or record that there is none ```task