Pin native-verified lifecycle image and production restore evidence

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a10780-6d41-7952-9718-dfbc1f41236f
This commit is contained in:
tegwick 2026-10-04 23:50:19 +02:00
parent 03f18d8258
commit 70dc3b969d
15 changed files with 211 additions and 11 deletions

View file

@ -5,7 +5,7 @@ humans and system:serviceaccount:state-hub:state-hub. **Not deployed.**
| Artifact | Immutable reference |
| --- | --- |
| Service | forgejo.coulomb.social/coulomb/informed-decision@sha256:2768bd1da3e651cc0be2d0f1ae6eea1af4eb057b31ef63ebb03b004c2ed76c3d |
| Service | forgejo.coulomb.social/coulomb/informed-decision@sha256:804d89fb0bb3d691720380eedde4f361133bada717d1773c2eb349004346ebf1 |
| Access Engine | forgejo.coulomb.social/coulomb/flex-auth@sha256:bdac62bc3f089cba0df7c35eeb8d0d9b3af2d4bae5e4ea4767516c1ed20b1e99 |
| Lifecycle package | informed-decision.lifecycle v1, sha256:cee6a79f74e81d0d389a2c2e2451a92be3434ea9dfcee4986e8c7e6cfdbb1827 |
| Human review package | informed-decision.compact-sitting v12, sha256:c5387f7d198dc39ab5967e0c218ce05cc779693565c8875e3035e45ec002a2db |
@ -43,10 +43,12 @@ contract; neither is presented as a newly enforced control.
## Pre-cutover gates
1. RPF-WP-0051 / CCR-2026-0032: complete the already prepared requester delivery
under its separate live go, with exact identity/path negative proofs and
mounted-file refresh/rotation evidence. Only the audit ExternalSecret was
present in the live namespace at inspection.
1. RPF-WP-0051 / CCR-2026-0032 requester delivery is applied: store Valid and
ExternalSecret SecretSynced; native candidate-image identity/path/scope,
projection and reader-revocation proofs pass. Verify the receiving service's
actual mount during cutover. Issuer rotation is a separate governed operation,
excluded from this initial delivery by the Platform lane contract; no rotation
or predecessor-revocation evidence is claimed here.
2. INFD-WP-0005-T08 / STATE-WP-0096: the private dispatcher and separate
lifecycle/intake token projections are prepared in dispatcher.candidate.json.
Deploy after intake prerequisites. Explicit enqueue requires trusted workload
@ -119,3 +121,24 @@ and credential inputs in that test are synthetic. Native acceptance remains open
There is no new service-image build for this continuation. The service suite now
passes 663 tests (1 skipped); State Hub forwarding/notification tests pass 28.
## Final requester and restore proof — 2026-10-04
Service image 804d89fb (source 03f18d8) supersedes 2768bd1 after native testing
found KeyCape requires client_secret_basic. Credentials are form-encoded before
Basic encoding; requests retain the exact create-only scope and full signature/
identity verification. The candidate passes 664 tests (one skipped), 13 installed
container checks and a zero HIGH/CRITICAL scan. Its server dry-run passed.
Actual production snapshot restore was exercised offline in a separate Docker
volume with the candidate. Migration from schema 2 to 5 preserved 24 confirmed
submissions and 158 delivered outbox rows; lifecycle starts empty. The disposable
volume was removed. Original snapshot is retained off-cluster under ignored
.private-backups/20261004-pre-lifecycle (0700 parent, 0600 file), with a copy in
the live PVC's private directory. Refresh the snapshot after closing writes for
cutover; this online drill is not the final maintenance-window backup.
The requester proof's eight temporary resources were removed. No native approval
was created, consumed or human-bound by these tests. The actual review service
and State Hub dispatcher have not been rolled out. Concrete cutover approval is
the remaining gate for the initial audience and artifacts in this packet.

View file

@ -1,5 +1,5 @@
{
"image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:2768bd1da3e651cc0be2d0f1ae6eea1af4eb057b31ef63ebb03b004c2ed76c3d",
"image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:804d89fb0bb3d691720380eedde4f361133bada717d1773c2eb349004346ebf1",
"policy": {
"origin": "http://flex-auth-informed-decision-sitting.flex-auth.svc.cluster.local:8080",
"package": "informed-decision.compact-sitting",

View file

@ -96,7 +96,7 @@
"containers": [
{
"name": "informed-decision",
"image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:2768bd1da3e651cc0be2d0f1ae6eea1af4eb057b31ef63ebb03b004c2ed76c3d",
"image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:804d89fb0bb3d691720380eedde4f361133bada717d1773c2eb349004346ebf1",
"securityContext": {
"allowPrivilegeEscalation": false,
"readOnlyRootFilesystem": true,