Commit graph

33 commits

Author SHA1 Message Date
4349758608 Implement USER-WP-0024 security layer conformance
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Build and Publish Container Image / build-and-push (push) Successful in 36s
Declare Engine/PIP machine-readably, publish a total fail-closed PEP
stance map, stop minting local decision ids on engine-unavailable DENY,
bind allows to a 30s request lifetime, confine the local authorization
double, classify evidence and emit a denial/revocation heartbeat, and
prove access-control facts remain claims.

Assistant: grok
Assistant-Session: 01a04cea-f0d6-7ab3-9ffd-881eb6bea6cb
2026-08-29 12:53:16 +02:00
a8ced85258 Refresh final-assessment to the finished USER-WP-0001–0023 surface
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
Replace the in-memory/no-UI MVP note with what is actually shipped:
portal, PostgreSQL, live flex-auth A2, and the remaining operator
residuals.
2026-08-19 14:48:39 +02:00
cb67b4318c Finish USER-WP-0022; leave public registration fail-closed
Some checks failed
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Has been cancelled
In-repo journey, recovery, and security matrix are complete (150 tests).
T03/T04 stay cancelled at coulomb-social and KeyCape. Production enablement
remains an operator flag plus governed verification and SMTP credentials.
2026-08-19 14:34:00 +02:00
108bb9a2de Close USER-WP-0023 after live A2 enforce evidence
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
flex-auth-user-engine is enforce on sha256:138aa347. Probe from
user-engine-8569d7cb87-fp7px: 200 with the projected token, 401 without,
403 when representing tenant-engine. Record fsGroup 10001 so uid 10001
can read the projected caller token.
2026-08-19 14:24:33 +02:00
f762161d84 Adapt USER-WP-0021 and USER-WP-0023 to published policy-nexus contracts
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 1m1s
IAM Profile v0.3 and Tenancy Posture v0.1 are now live on
policy.coulomb.social. Close the portal expansion workplan against those
documents, keep the flex-auth live A2 probe waiting, and forward optional
tenant_roles to flex-auth without authorizing from them locally.
2026-08-19 09:51:08 +02:00
e858115210 Record T03 readiness and the remaining upstream blocker
Some checks failed
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Has been cancelled
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 12:53:14 +02:00
e54f67c537 Document the live caller-identity and lifecycle probes
The caller side of USER-WP-0023 is deployed, but FLEX-WP-0015-T02 is still
wait: flex-auth's TokenReview choke point exists in source while the running
digest is unchanged, so production accepts unauthenticated callers and our
Authorization header is ignored. Running the T03 probe now would record a
false pass on the negative case.

Captures both owed live exercises as concrete commands so they can be run by
whoever holds cluster credentials the moment flex-auth promotes A2, and notes
that they share one rollout.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 12:52:40 +02:00
4622b64061 Authenticate flex-auth calls with a rotating caller token
Closes the caller side of FLEX-WP-0015. FlexAuthHTTPAdapter reads the
audience-scoped projected ServiceAccount token from a file on every decision,
so hourly rotation needs no restart, and runtime configuration now requires
USER_ENGINE_FLEX_AUTH_TOKEN_FILE.

A missing, empty, or unreadable token file fails closed as a denial without
reaching flex-auth: OSError joins the caught set and an empty read raises.
Coverage proves all three unusable-token cases deny before any request is
made, and that neither the deny reason nor the decision repr carries the
token value.

Tenant-authority reads now identify user-engine as actor `user-engine` under
the protected tenant.read action, keeping tenant ids opaque and URL-encoded.

Contract: docs/flex-auth-caller-identity.md. Full suite: 148 tests, 3
provider-gated skips.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 10:53:31 +02:00
8229c6dd33 Expand portal onboarding and administration
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
2026-08-08 23:09:23 +02:00
2bcda7f26f Expose protected operability metrics
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 1s
2026-07-29 23:52:06 +02:00
0980d1fd41 Implement user-engine portal foundation
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
2026-07-27 22:47:39 +02:00
a1692c62e3 test: add provider postgres conformance 2026-06-16 07:33:34 +02:00
0d50ad294d feat: add postgres user engine store 2026-06-16 07:14:37 +02:00
6810d9a3aa feat: add durable store record serialization 2026-06-16 03:43:55 +02:00
886874d0f6 feat: add durable store conformance harness 2026-06-16 00:20:29 +02:00
2ceecf6463 test: add registration security conformance 2026-06-15 23:59:45 +02:00
aaefa48212 feat: add registration access ui contracts 2026-06-15 23:39:34 +02:00
5d7685dc8d feat: implement onboarding journeys 2026-06-15 23:24:59 +02:00
660ce24995 feat: implement access profiles and hats 2026-06-15 23:12:25 +02:00
97cd03b551 feat: implement prepared account claims 2026-06-15 22:37:31 +02:00
a36a25898e Implement registration identity model 2026-06-15 22:06:39 +02:00
2c94b40fc4 Implement durable store contract and registration roadmap 2026-06-15 16:33:24 +02:00
531c2193a4 Implement family dataspace onboarding 2026-06-05 18:51:47 +02:00
af6d82038e Add Postgres durable store requirements 2026-06-05 18:50:36 +02:00
c6d211f472 Implement identity canon alignment 2026-06-05 16:04:43 +02:00
429f17f9f6 netkingdom intergration assessment 2026-06-03 11:42:50 +02:00
ce2d620f4e Finalize user-engine contracts and operability 2026-05-22 21:45:30 +02:00
9b241ab2e3 Add integrated user-engine scenarios 2026-05-22 21:39:10 +02:00
1440a597df Add multi-application catalog support 2026-05-22 21:33:38 +02:00
2f9272f39d Add tenant-aware user-engine behavior 2026-05-22 21:28:40 +02:00
5203d9f45f Implement isolated user-engine MVP 2026-05-22 21:20:19 +02:00
58d9de26d3 Start user-engine implementation scaffold 2026-05-22 20:55:27 +02:00
1cd15cf79f Add implementation workplans and integration boundaries 2026-05-22 19:50:04 +02:00