Accept verified purpose image release and retain verifier residual

Assistant: codex
Assistant-Model: gpt-6.1-sol
Assistant-Session: 01a126e1-76f8-7643-8cf3-e93336539ade
This commit is contained in:
tegwick 2026-10-11 09:20:42 +02:00
parent c96b0c6d88
commit 0693c40777
17 changed files with 210 additions and 3 deletions

View file

@ -0,0 +1 @@
{"all_checks_pass": true, "additional_readonly_metadata_proof": true, "pod_uid": "c4cb1550-feda-4097-9de4-d891a657b662", "exact_one_container": true, "controlled_pod_fields_match_sealed_candidate": true, "controlled_field_names": ["automountServiceAccountToken", "containers", "dnsPolicy", "hostIPC", "hostNetwork", "hostPID", "initContainers", "restartPolicy", "runtimeClassName", "schedulerName", "securityContext", "serviceAccount", "serviceAccountName", "shareProcessNamespace", "terminationGracePeriodSeconds", "volumes"], "canonical_controlled_values_sha256": "bb6e6ef2809d15ef27db05fa75cabd40fc4e4bfe43e1f7a3ac750ed69380adaa", "native_uid": 10001, "native_gid": 10001, "database_opened": false, "original_phase_replayed": false, "mutation_executed": false}

View file

@ -0,0 +1 @@
{"all_checks_pass": true, "only_disposable_offline_volume_removed": "infd-purpose-r1-restore-20261011", "native_and_offcluster_original_snapshots_retained": true}

View file

@ -0,0 +1 @@
{"phase": "cutover-backup", "all_checks_pass": true, "raw_output_withheld": true, "native_approval_verified_by_root": {"approval_id": "7a34e7cc-5bad-40ea-a2f5-d6d269dc56f1", "disposition_id": "disp-c6529331-e9d7-4466-9528-2e839739e751", "accepted_at": "2026-10-11T06:53:43Z", "verified_at": "2026-10-11T06:58:48.455148+00:00"}, "native_authenticated_grant": false, "source_readonly_baseline": {"schema_version": 5, "lifecycle": {"records": 16, "events": 56, "pending": 0}, "outbox": {"delivered": 336}, "submissions": {"confirmed": 43}, "integrity": "ok", "read_only_pre_open": true, "store_constructed": false}, "snapshot_readonly": {"schema_version": 5, "lifecycle": {"records": 16, "events": 56, "pending": 0}, "outbox": {"delivered": 336}, "submissions": {"confirmed": 43}, "integrity": "ok", "read_only_pre_open": true, "store_constructed": false}, "snapshot_sha256": "38e37c3b096117084c209763f166cf58c82849b0f24f9d22aee545f51d270b1f", "snapshot_bytes": 21512192, "snapshot_file": "cutover.sqlite", "native_parent_private": true, "native_uid": 10001, "pod_name": "informed-decision-f557556df-mwpz7", "pod_uid": "e8561ae0-4b09-4455-924d-64c27b625fc7"}

View file

@ -0,0 +1 @@
{"phase": "cutover-copy", "all_checks_pass": true, "raw_output_withheld": true, "native_approval_verified_by_root": {"approval_id": "7a34e7cc-5bad-40ea-a2f5-d6d269dc56f1", "disposition_id": "disp-c6529331-e9d7-4466-9528-2e839739e751", "accepted_at": "2026-10-11T06:53:43Z", "verified_at": "2026-10-11T06:59:19.173552+00:00"}, "native_authenticated_grant": false, "snapshot_file": "cutover.sqlite", "snapshot_bytes": 21512192, "snapshot_sha256": "38e37c3b096117084c209763f166cf58c82849b0f24f9d22aee545f51d270b1f", "snapshot_readonly": {"schema_version": 5, "lifecycle": {"records": 16, "events": 56, "pending": 0}, "outbox": {"delivered": 336}, "submissions": {"confirmed": 43}, "integrity": "ok", "read_only_pre_open": true, "store_constructed": false}, "pod_name": "informed-decision-f557556df-mwpz7", "pod_uid": "e8561ae0-4b09-4455-924d-64c27b625fc7", "off_cluster_private_copy_verified": true, "snapshot_contents_output": false}

View file

@ -0,0 +1 @@
{"phase": "release", "all_checks_pass": true, "raw_output_withheld": true, "native_approval_verified_by_root": {"approval_id": "7a34e7cc-5bad-40ea-a2f5-d6d269dc56f1", "disposition_id": "disp-c6529331-e9d7-4466-9528-2e839739e751", "accepted_at": "2026-10-11T06:53:43Z", "verified_at": "2026-10-11T07:00:22.848375+00:00"}, "native_authenticated_grant": false, "live_readonly_schema_integrity_counts": {"schema_version": 5, "lifecycle": {"records": 16, "events": 56, "pending": 0}, "outbox": {"delivered": 336}, "submissions": {"confirmed": 43}, "integrity": "ok", "read_only_pre_open": true, "store_constructed": false}, "live_counts_may_include_concurrent_commits": true, "pod_name": "informed-decision-f557556df-mwpz7", "pod_uid": "e8561ae0-4b09-4455-924d-64c27b625fc7", "operation_requested": true, "source_revision": "c96b0c6d881e855d1d158003c6de90ef390262e2", "resources": [{"group": "apps", "kind": "Deployment", "name": "informed-decision", "namespace": "informed-decision"}], "prune": false, "rollout_verified": false, "latest_live_database_retained": true, "client_diff_sha256": "fdfc0a41a0b4baf1e77dfab673e688aa3a3bb6e9bf99cfd0eee6d58cd22a7fa1"}

View file

@ -0,0 +1 @@
{"all_checks_pass": false, "phase": "verify", "failure_class": "ValueError", "failure": "fixed phase outcome uncertain; original evidence retained; no retry", "raw_output_withheld": true}

View file

@ -0,0 +1 @@
{"all_checks_pass": true, "offline_volume": "infd-purpose-r1-restore-20261011", "offline_readonly": {"integrity": "ok", "lifecycle": {"events": 50, "pending": 0, "records": 15}, "outbox": {"delivered": 320}, "read_only_pre_open": true, "schema_version": 5, "store_constructed": false, "submissions": {"confirmed": 41}}, "offline_post_admin_readonly": {"integrity": "ok", "lifecycle": {"events": 50, "pending": 0, "records": 15}, "outbox": {"delivered": 320}, "read_only_pre_open": true, "schema_version": 5, "store_constructed": false, "submissions": {"confirmed": 41}}, "original_snapshot_hash_unchanged": true, "created_volume_identity": {"Name": "infd-purpose-r1-restore-20261011", "Labels": {"informed-decision.attempt": "b2e45df1-19fc-4fac-9153-920dc6153ee9", "informed-decision.case": "infd-purpose-20261011-r1", "informed-decision.use": "offline-restore-only"}, "Driver": "local", "Scope": "local", "CreatedAt": "2026-10-11T08:57:37+02:00"}, "admin_counts": {"schema_version": 5, "lifecycle": {"records": 15, "events": 50, "pending": 0}, "outbox": {"delivered": 320}, "submissions": {"confirmed": 41}}, "network": "none", "runtime_tokens_or_config_mounted": false, "service_entrypoint_started": false, "original_snapshot_retained": true}

View file

@ -0,0 +1 @@
{"phase": "drill-copy-rescue-r1", "all_checks_pass": true, "raw_output_withheld": true, "native_approval_verified_by_root": {"approval_id": "7a34e7cc-5bad-40ea-a2f5-d6d269dc56f1", "disposition_id": "disp-c6529331-e9d7-4466-9528-2e839739e751", "accepted_at": "2026-10-11T06:53:43Z", "verified_at": "2026-10-11T06:56:35.092109+00:00"}, "native_authenticated_grant": false, "snapshot_file": "drill.sqlite", "snapshot_bytes": 19537920, "snapshot_sha256": "8756cf825df9e7b5b74bb4a0106a5027f5cff2c59ff45d7b48eed8522a7d33f3", "snapshot_readonly": {"schema_version": 5, "lifecycle": {"records": 15, "events": 50, "pending": 0}, "outbox": {"delivered": 320}, "submissions": {"confirmed": 41}, "integrity": "ok", "read_only_pre_open": true, "store_constructed": false}, "pod_name": "informed-decision-f557556df-mwpz7", "pod_uid": "e8561ae0-4b09-4455-924d-64c27b625fc7", "off_cluster_private_copy_verified": true, "snapshot_contents_output": false}

View file

@ -0,0 +1 @@
{"independent_readonly_reconciliation": true, "all_checks_pass": true, "original_verify_journal_state": "UNCERTAIN_preserved", "original_phase_replayed": false, "helper_source_amended": false, "mutation_executed": false, "deployment_uid": "a588e10a-90d2-4883-975e-6dd8b8feca92", "generation": 25, "ready_replicas": 1, "image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", "pod_name": "informed-decision-5557446c88-lvm88", "pod_uid": "c4cb1550-feda-4097-9de4-d891a657b662", "pod_image_id": "forgejo.coulomb.social/coulomb/informed-decision@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a", "configmap_uid": "90113d2d-54d9-4e82-b1d3-90b49ebed2b5", "pvc_uid": "d80b25b1-141a-441b-b205-98fa2fd98b7c", "dependency_seals_match": true, "application_uid": "499868f2-eabc-4df4-ae31-b89ce58d750d", "source_revision": "c96b0c6d881e855d1d158003c6de90ef390262e2", "operation": {"phase": "Succeeded", "started_at": "2026-10-11T07:00:30Z", "finished_at": "2026-10-11T07:00:30Z", "initiated_by": {"username": "custodian-codex"}, "exact_resources": [{"group": "apps", "kind": "Deployment", "name": "informed-decision", "namespace": "informed-decision"}], "prune_field_present": false, "prune_effective": false, "original_release_request_explicit_prune_false": true, "sync_result_resources": [{"group": "apps", "kind": "Deployment", "name": "informed-decision", "namespace": "informed-decision", "status": "Synced", "syncPhase": "Sync"}]}, "native_provider_allow_path_proof": "Separate root-authenticated outcomes readback after new Ready image; installed refusal checks below are synthetic", "live_readonly_schema_integrity_counts": {"schema_version": 5, "lifecycle": {"records": 16, "events": 56, "pending": 0}, "outbox": {"delivered": 336}, "submissions": {"confirmed": 43}, "integrity": "ok", "read_only_pre_open": true, "store_constructed": false}, "module_sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62", "module_mode": "0644", "module_uid": 0, "native_uid": 10001, "installed_purpose_checks": {"installed_image_purpose_variants": 10, "binding_forms_allowed": 2, "advisory_or_malformed_refused": 8, "synthetic_only": true, "native_provider": false}, "health_statuses": {"/healthz": 200, "/readyz": 200}, "database_opened_readonly": true, "store_or_admin_constructed": false}

View file

@ -0,0 +1,7 @@
{
"namespace": "argocd",
"kind": "StatefulSet",
"name": "argocd-application-controller",
"image": "quay.io/argoproj/argocd:v3.5.3",
"native_metadata_observed": true
}

View file

@ -0,0 +1,18 @@
{
"verification_kind": "post-rollout canonical provider-backed outcomes operation",
"source_memo_id": "infd-20261011-purpose-overlay-r1",
"source_memo_version": 2,
"new_image": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a",
"pod_uid": "c4cb1550-feda-4097-9de4-d891a657b662",
"verified_at": "2026-10-11T07:01:37.243411+00:00",
"operation": "lifecycle.outcomes",
"service": "State Hub admitted memo dispatcher using internal mounted credential",
"transport": "fixed internal ORIGIN, no redirects, GET /v1/decisions/infd-20261011-purpose-overlay-r1/outcomes?version=2",
"actual_native_provider_operation": true,
"evidence_basis": "Authenticated native HTTP success after image rollout; installed LifecycleService.outcomes invokes _authorize/PolicyClient.check and current() before returning. Actual installed module hash and configuration seals independently verified.",
"installed_module_sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62",
"synthetic_installed_refusal_variants": 8,
"synthetic_variant_check_is_native_provider_response": false,
"extra_provider_denial_probe_executed": false,
"limitation": "Proves actual canonical allow-path preservation; does not claim provider emitted advisory responses or all refusal variants came from native provider."
}

View file

@ -0,0 +1,13 @@
{
"all_checks_pass": true,
"original_receipt_byte_hashes": 11,
"offline_pre_admin_post_equal": true,
"cutover_copy_live_counts_equal": true,
"module_source_hash_equal": true,
"pod_identity_equal": true,
"post_ready_actual_provider_allow": true,
"original_verify_uncertain_preserved": true,
"native_actions_by_reviewer": false,
"tests_repeated": false,
"work_record_prepared_before_review": true
}

View file

@ -0,0 +1,13 @@
{
"infd-approved-rescue-copy.json": "574edd84cac958d95e0f79691f7309369a0c9df18f75973242a2303eca387780",
"infd-approved-offline-verify.json": "93c346828e16e440d8c8987f15919e62f047af3108f49dde8372fb7289d355bd",
"infd-approved-cleanup-offline.json": "bcab38a565bb843f4e3ad543677251537757df9d158f72b201dc05a1736f7e74",
"infd-approved-cutover-backup.json": "97a220951c59db74210fae80aee37c661278d20571c9004d5ac92bf9c02962f7",
"infd-approved-cutover-copy.json": "c213e31762f1ddac3c90a20e654de98dcf347cfad96181e234cae6ebe46140f4",
"infd-approved-image-release.json": "e4fa89393b329fecbd3f991e0298c9e8af77c1668d6a968192dfa24daabb98d8",
"infd-approved-image-verify.json": "80c0a938838e4ad726e62651abdc90d94ade85985169a489f4b599d551f39fc8",
"infd-independent-readonly-verification-receipt.json": "c3fc07400204a4821e65aebcbfd228ce571f2b0402a52e0719d29d3704ec0a60",
"infd-post-rollout-native-provider-allow-path-receipt.json": "c534f5fa96d4d3e66b1a8f72cae9be15c62c4d0dd0b35fbefdfe13e3f51e89b7",
"infd-installed-argocd-controller-version.json": "62b85702ca73d8c349a52be9c8196e2f85c6e9e0aafb07f17a15d5c988fee82b",
"infd-additional-pod-custody-readonly-receipt.json": "078fff224931bc3ddaa916b5179511b5dbe1d856e4073ce8176bdcfb23769ae5"
}

View file

@ -0,0 +1,69 @@
# Actual purpose-release outcome product-owner acceptance
```yaml
reviewer: informed-decision-owner (agent informed-decision, codex)
decision: approved
work_item: INFD-WP-ADHOC-2026-10-11-T07
scope: bounded actual release outcome and T04 product acceptance
execution_revision: c96b0c6d881e855d1d158003c6de90ef390262e2
comment: >-
Source-only independent assessment of exact value-free native receipts, not
human approval or new privileged authority. Completed T07 work record was
prepared first. T04 is done; T05 remains todo/due2026-10-18; WP0009 stays active.
Approved source, helper, bundle and original failed journals remain unchanged.
```
Original receipt bytes independently hash-match the inventory in
`docs/evidence/2026-10-11-purpose-native-acceptance/receipt-original-hashes.json`.
Rescue copied the existing retained closed snapshot under separate approved R2
phase, without retrying original UNCERTAIN drill-copy or deleting its sidecars.
Actual isolated offline clone schema5/integrity/counts match before admin, admin
and after admin:15records/50events/0pending,320delivered/41confirmed. Networknone,
no runtime credential/config mounts or service entrypoint; only created disposable
volume cleaned. Fresh cutover snapshot/private copy21512192bytes SHA256
38e37c3b096117084c209763f166cf58c82849b0f24f9d22aee545f51d270b1f preserves
16records/56events/0pending,336delivered/43confirmed. Concurrent native growth
from the older drill snapshot is legitimate and not restore loss.
New founder acceptance is externally verified in root-authenticated phase receipts:
approval7a34e7cc-5bad-40ea-a2f5-d6d269dc56f1,
dispositiondisp-c6529331-e9d7-4466-9528-2e839739e751, accepted06:53:43Z.
It binds source memo version2 and new human review ownversion1, not old version1
approval. The agent neither supplied human claims nor turned this technical review
into founder approval. Post-release actual outcomes readback verified07:01:37.243411
UTC after Ready07:00:42 is independently summarized in the provider allow receipt.
Independent current checks prove image763c/module9d7 at sourcec96, Deployment
generation25/Ready1 and Podc4cb1550-feda-4097-9de4-d891a657b662; sealed CM/PVC,
all controlled Pod fields and actual UID/GID10001, module root-owned0644,
healthz/readyz200, read-only schema5/integrity and cutover-equivalent counters.
The Argo operation Succeeded at exactc96 for only apps/Deployment informed-decision
in namespace informed-decision, correct initiator and explicit request prune=false.
Actual controller v3.5.3 represents SyncOperation.Prune as bool with
json:"prune,omitempty": canonical false may be absent.
[Official v3.5.3 type source](https://raw.githubusercontent.com/argoproj/argo-cd/v3.5.3/pkg/apis/application/v1alpha1/types.go)
supports the independent absence-to-false reconciliation. The original helper
exact-False check and final verify UNCERTAIN stay unchanged; the independent
read-only target proof is distinct evidence, not a repaired/replayed phase or
backfilled scored success. Unpromoted INFD-IN-0010 retains future source correction.
Actual authenticated lifecycle.outcomes HTTP success uses the admitted StateHub
service and real installed lifecycle/PDP path: outcomes calls _authorize,
PolicyClient.check validates canonical binding/pins/purpose/expiry/obligations,
and current() precedes results. Exact installed module/config receipts make this
a bounded actual canonical allow-path preservation proof. Separately, ten installed
synthetic binding forms yield2allow/8refuse (native_provider=false). They prove
installed refusal mechanism, not provider emission of advisory/malformed responses.
The source-only additional denial probe was not executed or needed for this
bounded T04 outcome; no fabricated SERVICE authorization or human role/MFA claims.
This does not establish independent cryptographic attribution of every provider
response, whole class emission guarantees, or all human MFA. INFD-IN-0009 remains
its distinct existing evidence-guarantee residual.
The inherited fixable MEDIUM zlib finding and full scan/base provenance remain
unchanged; T05 retains separate native remediation obligations due2026-10-18.
This acceptance closes only T04, with no zero-CVE claim or WP0009 completion.
No new native command, database open, credential access, phase mutation, rollout
or rollback was performed in this review. Validation comprised receipt-byte
hashes, schema/count/identity/source comparisons and installed consumer source
inspection; existing synthetic checks were not repeated.

View file

@ -579,3 +579,44 @@ acceptance: >-
source_receipt: docs/evidence/2026-10-11-staff-evidence-source-reconciliation.md
state_hub_intake_id: "01a128c1-5d54-7885-bdda-7205a603e23c"
```
## INFD-IN-0010 — Correct verifier false-omission handling before future reuse
```yaml
id: INFD-IN-0010
kind: intake
title: Correct verifier false-omission handling before future reuse
status: open
origin: residual
origin_ref: INFD-WP-0009
flavor: residual
priority: medium
owner: informed-decision
repo: informed-decision
lane: blue
created: '2026-10-11'
updated: '2026-10-11'
promotion: not-promoted
tags:
- release-verifier
- source-correction
description: >-
Approved rescue R2 final verify remained UNCERTAIN because its strict
sync.get('prune') is False rejects absence of Argo SyncOperation.Prune,
a Go bool json omitempty field in actual controller v3.5.3. Independent
read-only evidence reconciles the actual exact Deployment-only release.
Preserve approved R2 helper/bundle/journal and original failure as historical.
Before future reuse, prepare a separate source candidate and meaningful
omission/exact-false acceptance and true/malformed/type/scope refusal tests.
On promotion only, correct canonical omitted-false handling while retaining
exact revision/resource/initiator/readiness/custody guards. This handoff
authorizes no implementation, phase replay, native change or privileged go.
acceptance: >-
Separately reviewed source candidate handles absent/exact boolean false
canonical prune representations and refuses true or malformed representations
and unrelated target drift, with negative tests; original approved artifact
and UNCERTAIN journal remain immutable. Any future execution has distinct
exact native approval.
source_receipt: docs/reviews/2026-10-11-purpose-native-outcome-product-owner-acceptance.md
```

View file

@ -212,3 +212,19 @@ and20documents validate:173469packetbytes/240451revisionbytes. Eight scope
mutations and three packet mutations independently refuse. Final technical
source acknowledgement approved; no new human acceptance or native rescue.
Confirmation: docs/reviews/2026-10-11-purpose-rescue-product-owner-final-ack.md.
**Actual-outcome assessment preparation, same completed T07 trial:** independently
verified original receipt-byte hashes and source consumer path after approved
source c96b0c6 release. Offline schema5/admin/post counts match; fresh cutover
backup/private copy matches live post-release counts16/56/0, delivered336,
confirmed43. Independent image/module/config/PVC/controlled Pod and UID/GID10001
checks pass. Actual post-rollout authenticated provider-backed outcomes readback
is separate from installed ten synthetic purpose forms (2allow/8refuse).
Completed source-only assessment supports T04 done, T05 todo and WP0009 active.
Original failed copy and verifier UNCERTAIN remain preserved, with no replay or
helper amendment. Created unpromoted INFD-IN-0010 for future verifier omission
handling correction; no implementation, native action or authority grant.
This work-record preparation precedes the formal actual-outcome review entry.
Review: docs/reviews/2026-10-11-purpose-native-outcome-product-owner-acceptance.md.
Evidence: docs/evidence/2026-10-11-purpose-native-acceptance/.

View file

@ -75,7 +75,7 @@ PolicyClient now validates binding purpose: absent or exact empty string only;
readback and malformed purposes are refused. Nine purpose variants and a real
provider response contamination test preserve the binding, pin, expiry and
obligations gates. This task covers source implementation and regression tests.
The current runtime image lacks this patch. Service build/native release belongs
At source implementation time the runtime image lacked this patch. Service build/native release belongs
to T04, separate from the config-only T02 repair.
@ -83,7 +83,7 @@ to T04, separate from the config-only T02 repair.
```task
id: INFD-WP-0009-T04
status: progress
status: done
priority: medium
state_hub_task_id: "0e1bb868-7bc2-5d4d-953c-e0edaf660ad0"
```
@ -91,7 +91,7 @@ state_hub_task_id: "0e1bb868-7bc2-5d4d-953c-e0edaf660ad0"
Build and scan a new service image including T03, retain provenance and backup
compatibility evidence, prepare a separate scoped image proposal, and verify
native binding/refusal after the owner's approved release. Do not fold an image
change into the config-only T02 proposal. Current runtime 7f5c6cb remains exact.
change into the config-only T02 proposal. The pre-release runtime baseline was exact7f5c6cb.
**Historical local preparation 2026-10-11:** narrow single-module image overlay on immutable running
7f5c6cb; exact source policy SHA-256 9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62.
@ -135,6 +135,27 @@ placement checks are not new provider authorization evidence. Runtime remains7f5
Evidence: `docs/evidence/2026-10-11-purpose-image-release/`.
**Actual approved release and independent verification, 2026-10-11:** source
c96b0c6d881e855d1d158003c6de90ef390262e2, fresh version2 founder acceptance,
existing-snapshot rescue, isolated actual-data compatibility and disposable
cleanup, fresh cutover backup/private exact copy, and Deployment-only manual
image763c release are evidenced. Independent read-only reconciliation confirms
Ready generation25, exact image/module/config/PVC/controlled Pod, UID/GID10001,
schema5/integrity and preserved live counts16records/56events/0pending,
336delivered/43confirmed; healthz/readyz200. Authenticated actual lifecycle.outcomes
readback at07:01:37 after Ready07:00:42 traverses installed canonical PDP gates.
Installed ten purpose fixtures (two canonical allows/eight refusals) are synthetic,
not provider advisory responses. The separate denial probe remains unexecuted.
This satisfies the bounded T04 release/consumer verification, without declaring
full emission guarantee, all human MFA or a zero-CVE image. Earlier preparation
gates above are historical. Original failed drill-copy and final verifier
UNCERTAIN remain immutable; no failed phase replay/helper amendment or scored
new trial. Argo omitted false prune is independently reconciled to exact approved
non-pruning operation; future verifier defect is live unpromoted INFD-IN-0010.
T05 remains todo/due2026-10-18, so WP0009 remains active.
Review/evidence: docs/reviews/2026-10-11-purpose-native-outcome-product-owner-acceptance.md
and docs/evidence/2026-10-11-purpose-native-acceptance/.
## Resolve inherited published-image zlib finding
```task