Assistant: codex Assistant-Model: gpt-6.1-sol Assistant-Session: 01a126e1-76f8-7643-8cf3-e93336539ade
4 KiB
Advisory-purpose hardening image preparation — 2026-10-11
INFD-WP-0009-T04 remains in progress. This candidate is locally built and tested;
it has no registry publication or deployment receipt. Proposal ID:
INFD-WP-0009-T04/purpose-overlay-v1. No live action is authorized by this packet.
Base: forgejo.coulomb.social/coulomb/informed-decision@sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173.
Base installed policy.py equals HEAD7db8485 policy SHA-256a00b93b34caee5f190dea750c53b7bca819b993b8ef2f499ef9525d7b8c11842.
Overlay source SHA-2569d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62.
Only policy.py is added as one layer. Dependency, schema/store, runtime user,
entrypoint, env and ports remain exact. provenance.json binds source and build
recipe; source patch remains uncommitted during preparation and no whole-tree
commit provenance is claimed.
Local candidate informed-decision:purpose-hardening-20261011 has index digest
sha256:b8b58944786015a5375304241c149d1dab885eb539d6d8945f56b01a3c2bc821,
platform manifest918bbdce7337b716edfeb99b9343037dd141bb870aa3f32d7e4394c410c65b7d,
configf187897d7322f10e06d53c153a6fa7e6f7403b47a9b59cf6edd12285ec479310.
These local digests are not registry receipts. Verify eventual published digest
and installed source before authoring a final admitted Deployment pin.
Evidence: checks.json proves base layer/config equality and fresh scan DB
(2026-10-10 updated18:59Z, downloaded23:32Z), zero HIGH/CRITICAL findings.
scan.json retains package findings; scanner warns Alpine3.24 is not on its
EOL list. Vulnerability scan is bounded and not a universal security claim.
container.json retains 13 checks, including private single writer, uncertain
submission preservation, restart, consistent backup and separate synthetic
restore. All temporary containers/volumes were removed. installed-purpose.py
passes 10 installed-client forms: absent and empty allow, eight other/advisory
forms refuse. Native identity/PDP/approval/audit proof is not claimed.
Rebuild: make a fresh private temporary context, copy exact policy.py from owner
source and this Containerfile to it, check both hashes against provenance.json,
then docker build --network none --pull=false -f <context>/Containerfile -t informed-decision:purpose-hardening-20261011 <context>. Use only the immutable
base and these files; normal repo .dockerignore excludes a direct module copy.
No package download or broader dirty-source wheel enters this overlay.
Concrete proposed release
After registry publication/verification, update only admission.candidate.json image and rendered service.candidate.json Deployment image, preserving current ConfigMap6c221878d051, schema5, review/lifecycle policy pins, requester custody, audience, network, PVC, 5m request, replicas1 and Recreate. Retain exact source revision/digest and server dry-run/diff through manual Argo before approval. Obtain separate supervisor approval of that concrete immutable image revision; the config-only7db8485 approval cannot be reused.
Before cutover retain metadata-only counts and unique consistent native snapshot in protected custody; verify restore with the candidate on a separate protected volume without printing record content or credentials. Synthetic restore here proves mechanism only. Same-schema rollback retains current DB/evidence and restores image7f5c6cb through owner Argo; no data downgrade or replay is intended. Risk: brief Recreate interruption, no concurrent writer; incremental EUR0 for existing infrastructure, no paid inference. This source correction refuses an advisory envelope before effects while preserving exact current enforcement.
After approved release verify exact image/config, health, current pins and native register/publication with stable keys; inject a native-provider-derived advisory response in an isolated installed-client probe and prove refusal before writes. Do not contaminate production PDP config or create human approvals to test this guard. Reconcile lifecycle/audit receipts and retain failed/uncertain outcomes.