Record the first returned rename handoff and re-ask the tenant-scope question.
All checks were successful
CI Smoke / host-smoke (push) Successful in 2s
CI Smoke / container-smoke (push) Successful in 5s

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 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 28468@bnt-lap001
Assistant-Session: c76569b2-6056-4dad-aea4-49cd7a018f5d
This commit is contained in:
tegwick 2026-09-20 23:52:31 +02:00
parent f85479c668
commit 3f60797c0a
3 changed files with 54 additions and 1 deletions

View file

@ -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 | | `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 | | `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 | | `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 | | `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 | | `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` | | approval-engine | `2523510b-79d6-4123-b550-6386dae4d464` |
| secrets-engine | `15cf351a-bad8-4259-9b6f-b21d183a20ab` | | secrets-engine | `15cf351a-bad8-4259-9b6f-b21d183a20ab` |
| zone-engine | `40adbd61-0155-44f8-b6a7-621ff1629c46` | | 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.

View file

@ -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 Owner work-record IDs are requested, not invented. T06 stays blocked on those
IDs plus the human confirm string. 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: Reviewed inventory baseline:
| Owner | Required source/verification surface | | Owner | Required source/verification surface |

View file

@ -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 `FlexAuthWriteAuthorizer.authorize` copies `tenant_id` onto both
`CheckRequest.tenant` and `resource.id`. That is observation, not admission. `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 ## 2. Encode the relation, or record that there is none
```task ```task