flex-auth/workplans
tegwick d2dc39a8b8
All checks were successful
CI Smoke / host-smoke (push) Successful in 1s
CI Smoke / container-smoke (push) Successful in 3s
FLEX-WP-0008 T03-T04: tenant-engine live-lookup context adapter, close
internal/adapters/tenantengine: HTTPClient.LiveRoles() calls tenant-engine's
GET /tenants/{id}/roles/live. LiveRolesResult.Available is the load-bearing
field -- false on any transport error, non-200, or malformed body, never
inferred as zero roles. AttachToContext() writes both tenant_roles and
tenant_roles_available into a CheckRequest.Context map; a consuming Rego
policy must check tenant_roles_available before trusting tenant_roles.

Architectural finding recorded in the workplan: engine.go's Check() has no
context-adapter hook, and none of the existing topaz/relationship/rule
adapters are wired into cmd/flex-auth either -- they're standalone packages
for downstream composition. This adapter is a request-preparation helper a
protected system's own request-building code calls before POST /v1/check,
not an engine-internal hook, matching that precedent exactly.

9 Go tests; gofmt/vet/build clean; go test ./... green repo-wide.

Verified as a real three-service chain: live flex-auth serve + live
tenant-engine, created a tenant and granted it a CUS role through the real
flex-auth-gated write path, then read it back through this adapter (via a
throwaway harness, not committed) -- known tenant: roles=[CUS]
available=true; unknown tenant: roles=[] available=false err="status 404".

FLEX-WP-0008 closed: T01-T04 all done. tenant-engine's write path is now
real end-to-end; any other protected system can pull live tenant capability
role context, fail-closed. Remaining open item unchanged from TEN-WP-0003:
KEY-WP-0005 (key-cape's IAM Profile core-claims gap).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-23 23:33:34 +02:00
..
FLEX-WP-0001-repo-intent-and-architecture-baseline.md Normalize agent instructions and workplan frontmatter (STATE-WP-0067) 2026-06-22 23:16:25 +02:00
FLEX-WP-0002-standalone-policy-as-code-core.md Normalize agent instructions and workplan frontmatter (STATE-WP-0067) 2026-06-22 23:16:25 +02:00
FLEX-WP-0003-markitect-consumer-integration.md Normalize agent instructions and workplan frontmatter (STATE-WP-0067) 2026-06-22 23:16:25 +02:00
FLEX-WP-0004-delegated-pdp-and-directory-adapters.md Normalize agent instructions and workplan frontmatter (STATE-WP-0067) 2026-06-22 23:16:25 +02:00
FLEX-WP-0005-foundations-and-topaz-alignment.md Normalize agent instructions and workplan frontmatter (STATE-WP-0067) 2026-06-22 23:16:25 +02:00
FLEX-WP-0006-ops-warden-ssh-signing-policy-gate.md FLEX-WP-0006: implement ops-warden signing gate policy 2026-06-23 21:17:42 +02:00
FLEX-WP-0007-ops-warden-policy-gate-production-deployment.md Close ops-warden policy gate deployment 2026-06-30 00:52:56 +02:00
FLEX-WP-0008-tenant-engine-consumer-integration.md FLEX-WP-0008 T03-T04: tenant-engine live-lookup context adapter, close 2026-07-23 23:33:34 +02:00