flex-auth/examples
tegwick 3081067325
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Build and Publish Container Image / build-and-push (push) Successful in 1m24s
State tenant-engine's tenant relation in the write-api package, v3.
tenant-engine named the relation in TEN-DEC-2026-002: `tenant` is the target
tenant record and always equals `resource.id`; the write API is cross-tenant
by design and `tenant.guardrail.read` does not differ. v2 carried no tenant
rule and a constant fixture tenant, so the deliberate scope and an omitted
rule were indistinguishable.

tenant-engine.write-api.mutate v3 (FLEX-DEC-2026-016):
- allowed requires tenant_is_target; a mismatch or absent tenant is denied
  tenant_not_target (object.get, so an absent key names the right cause).
- the cross-tenant scope is stated in the package and quantified by
  test_tenant_never_changes_effect over every action, three subjects and
  four tenants, with guards against passing by denying everything.
- fixtures rotate tenant across four tenants; five cross-tenant allows and
  two tenant_not_target denies added (42 fixtures, 33 tests, all pass).
- user-engine's tenant:platform exclusion is named as a fixed-record rule,
  not a subject/tenant relation, and tested separately.

Closes FLEX-WP-0022 (T01, T02 done). Also records TEN-IN-0004 and
SECRETS-IN-0002 on FLEX-WP-0020 and acknowledges the GH-DEC-2026-017
replies on FLEX-WP-0030-T04.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Assistant: claude-code
Assistant-Model: opus
Assistant-Process: 63291@bnt-lap001
Assistant-Session: 8bd77868-ca68-4f49-bb1e-d539ecc0d703
2026-09-21 07:39:57 +02:00
..
caring Sign decision envelopes and close FLEX-WP-0024. 2026-09-14 09:57:50 +02:00
claims Align IAM Profile consumption with v0.2 2026-05-22 14:35:30 +02:00
informed-decision-sitting Compile compact sitting review package without widening T03. 2026-09-15 22:45:46 +02:00
informed-decision-t03 Admit T03 version-two reviews while preserving current sitting records 2026-09-16 01:08:56 +02:00
markitect Make undeclared policy attribute reads a validate error. 2026-09-14 09:54:09 +02:00
ops-warden Cover wrong-tenant denials in ops-warden and railiance-platform fixtures. 2026-09-15 23:38:48 +02:00
qonto-assistant Register qonto-assistant as a protected system (finance.qonto.read) 2026-07-24 00:19:26 +02:00
railiance-platform Cover wrong-tenant denials in ops-warden and railiance-platform fixtures. 2026-09-15 23:38:48 +02:00
secrets-engine Sign decision envelopes and close FLEX-WP-0024. 2026-09-14 09:57:50 +02:00
tenant-engine State tenant-engine's tenant relation in the write-api package, v3. 2026-09-21 07:39:57 +02:00
topaz Implement Topaz adapter 2026-05-17 06:58:04 +02:00
user-engine Audit package attribute reads and choose fact/assertion shape. 2026-09-14 04:47:52 +02:00
README.md FLEX-WP-0006: implement ops-warden signing gate policy 2026-06-23 21:17:42 +02:00

examples/

Runnable examples used both as documentation and as test fixtures.

Expected layout (filled in across FLEX-WP-0002 / FLEX-WP-0003 / FLEX-WP-0005):

examples/
  claims/                  # key-cape lightweight-mode and Keycloak heavy-mode
                           # claim envelopes (P5.5)
  caring/                  # executable CARING descriptor, request,
                           # decision, registry, and audit fixtures (P2.1)
  markitect/               # FlexAuthResourceManifest fixtures, decision
                           # fixtures, and Rego-in-Markdown policy packages
  ops-warden/              # SSH certificate signing policy-gate fixtures
                           # for ops-warden policy.enabled smoke checks
  topaz/                   # docker-compose + sample directory and policy
                           # for the Topaz alignment spike (P5.4)
  policies/                # generic Rego-in-Markdown packages used by
                           # the standalone core tests