Record exact zlib native release owner review and packet binding
Assistant: codex Assistant-Model: gpt-6.1-sol Assistant-Session: 01a126e1-76f8-7643-8cf3-e93336539ade
This commit is contained in:
parent
2fe072a866
commit
dc73e9cbf6
90 changed files with 16366 additions and 0 deletions
|
|
@ -0,0 +1,655 @@
|
|||
{
|
||||
"scheme": "exact content-addressed dedup; each130 originalpath maps losslessly to its unchanged originalbytes",
|
||||
"files": [
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/mapping.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/e1aaea000c7de1be6cde62499d9fe2705c1e31b3fb8904fafa5333537978e785",
|
||||
"sha256": "e1aaea000c7de1be6cde62499d9fe2705c1e31b3fb8904fafa5333537978e785"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/original-manifest.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/aa941510645a655190c967adb4a04f89dfae9c625981a27552dea8a27216df7f",
|
||||
"sha256": "aa941510645a655190c967adb4a04f89dfae9c625981a27552dea8a27216df7f"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/mapping.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/796dbbff5c7ca61af2c84c2f2ad3de23b56f67210a30bded23a1ff5db806d26f",
|
||||
"sha256": "796dbbff5c7ca61af2c84c2f2ad3de23b56f67210a30bded23a1ff5db806d26f"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/original-manifest.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/60507a1000a216623a3d53b21e64c6f4569b1aa064781d3ac672a9fa130e813c",
|
||||
"sha256": "60507a1000a216623a3d53b21e64c6f4569b1aa064781d3ac672a9fa130e813c"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-review.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/e24b3fdae42721342a26ebe34caf57c2d21153ff855e584a0c4ebd3eb9adb349",
|
||||
"sha256": "e24b3fdae42721342a26ebe34caf57c2d21153ff855e584a0c4ebd3eb9adb349"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/mapping.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/dac8209ec57adc6df16673079f88a60cc56e89294de9389bc219ea19fdf51b5e",
|
||||
"sha256": "dac8209ec57adc6df16673079f88a60cc56e89294de9389bc219ea19fdf51b5e"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/original-manifest.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/81adb9e1749d6bd9f19755a2bbd7b501589ea782445537bbbfe925e1d9f8fa47",
|
||||
"sha256": "81adb9e1749d6bd9f19755a2bbd7b501589ea782445537bbbfe925e1d9f8fa47"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529",
|
||||
"sha256": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47",
|
||||
"sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e",
|
||||
"sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278",
|
||||
"sha256": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4",
|
||||
"sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95",
|
||||
"sha256": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124",
|
||||
"sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201",
|
||||
"sha256": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad",
|
||||
"sha256": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/c570bade38479af93f08f717fcebb328a0db38e5b58bd0e7983681bc5ae41b7a",
|
||||
"sha256": "c570bade38479af93f08f717fcebb328a0db38e5b58bd0e7983681bc5ae41b7a"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/dabeda33ffe52989337e214dc6e6d3ef5f04797569145faf2ff69024b101ec80",
|
||||
"sha256": "dabeda33ffe52989337e214dc6e6d3ef5f04797569145faf2ff69024b101ec80"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/2aa9bae40752922264e53382d898e3083b8d229b185329266942bdd397013108",
|
||||
"sha256": "2aa9bae40752922264e53382d898e3083b8d229b185329266942bdd397013108"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/750a4386277dc79c3213e6aed17ae5686332bfd587a55e5e87ebf3776a63ab0c",
|
||||
"sha256": "750a4386277dc79c3213e6aed17ae5686332bfd587a55e5e87ebf3776a63ab0c"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20",
|
||||
"sha256": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b",
|
||||
"sha256": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/7458222049d8df2f01f2ce359b5864ae41cd73054ee59659ca8cd8ac17cf73ac",
|
||||
"sha256": "7458222049d8df2f01f2ce359b5864ae41cd73054ee59659ca8cd8ac17cf73ac"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/09b0a8ed6c3c7d1e94f5f703a2d5834ca26fc166cfc8f4f9b4511ab70ec16ac9",
|
||||
"sha256": "09b0a8ed6c3c7d1e94f5f703a2d5834ca26fc166cfc8f4f9b4511ab70ec16ac9"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/92bbf8a891c7ef78df48430901219d8d07073cba74112a307a6d8bdec509e8dd",
|
||||
"sha256": "92bbf8a891c7ef78df48430901219d8d07073cba74112a307a6d8bdec509e8dd"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/archive-map.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/44be75acb94d8125efb9416dea91059aeeb79625d23c7959bdc099a95c26a9ca",
|
||||
"sha256": "44be75acb94d8125efb9416dea91059aeeb79625d23c7959bdc099a95c26a9ca"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/original-manifest.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/7ac1d698cab2dfbde6bc0a84bcadd2c3229d24f4a4a59125fe72b2856fa82e07",
|
||||
"sha256": "7ac1d698cab2dfbde6bc0a84bcadd2c3229d24f4a4a59125fe72b2856fa82e07"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529",
|
||||
"sha256": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47",
|
||||
"sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e",
|
||||
"sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278",
|
||||
"sha256": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4",
|
||||
"sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95",
|
||||
"sha256": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124",
|
||||
"sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201",
|
||||
"sha256": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad",
|
||||
"sha256": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/763f30c1433d1ca872b029519ec46ad1b97c47d60b7ea0eea0275a2c6b647dc3",
|
||||
"sha256": "763f30c1433d1ca872b029519ec46ad1b97c47d60b7ea0eea0275a2c6b647dc3"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/741b490bdb315896f05f2e91404c02765517dc1beea81fa590017fccafd299b4",
|
||||
"sha256": "741b490bdb315896f05f2e91404c02765517dc1beea81fa590017fccafd299b4"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/040144321c69622c223a8437832a3c5a4a9595fc37774fde5ff0ad676828ebf0",
|
||||
"sha256": "040144321c69622c223a8437832a3c5a4a9595fc37774fde5ff0ad676828ebf0"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/9b458e2b4d418525987b6cb1b9a160c4b1a2c621625c1b5c571ea5c77e9d4361",
|
||||
"sha256": "9b458e2b4d418525987b6cb1b9a160c4b1a2c621625c1b5c571ea5c77e9d4361"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20",
|
||||
"sha256": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b",
|
||||
"sha256": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/aa86921fe37fcff382676490f937af2e62bd6472a6b4700c862aaf3ce4ab8225",
|
||||
"sha256": "aa86921fe37fcff382676490f937af2e62bd6472a6b4700c862aaf3ce4ab8225"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68",
|
||||
"sha256": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/3c76c6a8f95dcb55183583a937a4428b745a5c918643de8f2a2bc11dee846d98",
|
||||
"sha256": "3c76c6a8f95dcb55183583a937a4428b745a5c918643de8f2a2bc11dee846d98"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/f586a511c1921490185bab95334f27de6d3cca20b348df20d18bcb9257d7ae35",
|
||||
"sha256": "f586a511c1921490185bab95334f27de6d3cca20b348df20d18bcb9257d7ae35"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9",
|
||||
"sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/48b0f0baf4efc239111411ad7d1c291f8eceaa0ddf1414dac73d49ccdb3bbe70",
|
||||
"sha256": "48b0f0baf4efc239111411ad7d1c291f8eceaa0ddf1414dac73d49ccdb3bbe70"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e",
|
||||
"sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e",
|
||||
"sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889",
|
||||
"sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a",
|
||||
"sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e",
|
||||
"sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369",
|
||||
"sha256": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b",
|
||||
"sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509",
|
||||
"sha256": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68",
|
||||
"sha256": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/8154c90745d860b2984e4616f0bb1c35889b07b7ff8b841e7430db7592a15b7a",
|
||||
"sha256": "8154c90745d860b2984e4616f0bb1c35889b07b7ff8b841e7430db7592a15b7a"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/196e2cef9ba38f075b458f164f05b5df594d188ee84b210744ef94c31f753294",
|
||||
"sha256": "196e2cef9ba38f075b458f164f05b5df594d188ee84b210744ef94c31f753294"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/15b3fc9c708593adb52d9eb240c1a6b55d5ac43b1637b8047499f15e525e368f",
|
||||
"sha256": "15b3fc9c708593adb52d9eb240c1a6b55d5ac43b1637b8047499f15e525e368f"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/0614e2118927180d18f4a3fa833990a38e27340234a952abdb1d2ca93e7602a4",
|
||||
"sha256": "0614e2118927180d18f4a3fa833990a38e27340234a952abdb1d2ca93e7602a4"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9",
|
||||
"sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/ce88aca5e2d6cd5ab7533898bc9b246bd159482c4acccb0afe4c451ee88f57fa",
|
||||
"sha256": "ce88aca5e2d6cd5ab7533898bc9b246bd159482c4acccb0afe4c451ee88f57fa"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/a992d799bc07e8fbf05b894a5b184b11092f0041ee68187e59a23c5395b263e9",
|
||||
"sha256": "a992d799bc07e8fbf05b894a5b184b11092f0041ee68187e59a23c5395b263e9"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e",
|
||||
"sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e",
|
||||
"sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/0188799d352e4d49d5ca29d6e197742d02e96a4b0b399df1f478e41b25292eb5",
|
||||
"sha256": "0188799d352e4d49d5ca29d6e197742d02e96a4b0b399df1f478e41b25292eb5"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889",
|
||||
"sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a",
|
||||
"sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e",
|
||||
"sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369",
|
||||
"sha256": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b",
|
||||
"sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509",
|
||||
"sha256": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/4a529f57b886260f8d1b109e06e487a936fa1eb5eeb79dbbd9e4e7a05f9ae2e9",
|
||||
"sha256": "4a529f57b886260f8d1b109e06e487a936fa1eb5eeb79dbbd9e4e7a05f9ae2e9"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/112e0aa642a7f48edf8073eee180b62d5ab6000aa4a6197ea6ffc10d7087beb0",
|
||||
"sha256": "112e0aa642a7f48edf8073eee180b62d5ab6000aa4a6197ea6ffc10d7087beb0"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/probe_initial_dispatch.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/609250d2d15e31128d0331354babbaed6c27ea165cdfcbe893d14e932237dd1a",
|
||||
"sha256": "609250d2d15e31128d0331354babbaed6c27ea165cdfcbe893d14e932237dd1a"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/published-evidence-manifest.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/6ba2c341b496ab7f79f9c5fd33a92831c2f8db25d018a4b4e67d41e0af9c5bc9",
|
||||
"sha256": "6ba2c341b496ab7f79f9c5fd33a92831c2f8db25d018a4b4e67d41e0af9c5bc9"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/intakes/RPF-IN-0009-infd-zlib-native-release-review.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/a187eae16bd6eb8b05fdbffc860a7e87b62e726379fde92915de15d6d8bd4290",
|
||||
"sha256": "a187eae16bd6eb8b05fdbffc860a7e87b62e726379fde92915de15d6d8bd4290"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/probe_refined_boundaries.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/5ab431b060c2417df920c6268a9f39181b0164fc887b5dc3359c4c1d70270ebd",
|
||||
"sha256": "5ab431b060c2417df920c6268a9f39181b0164fc887b5dc3359c4c1d70270ebd"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/refined-changes-requested-review.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/354db3948f878ad14f790b02658739d0b620acfdebe0bcfd492667846e457fdf",
|
||||
"sha256": "354db3948f878ad14f790b02658739d0b620acfdebe0bcfd492667846e457fdf"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/mapping.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/4f6633dbbfd522465da60156b811a1dc29ebad645752d4b1fd72b5f49afaefae",
|
||||
"sha256": "4f6633dbbfd522465da60156b811a1dc29ebad645752d4b1fd72b5f49afaefae"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/original-manifest.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/f170b34d8846919b18520264e7ba96e2ac11a3bce7899bc5710fcb0d22f4af29",
|
||||
"sha256": "f170b34d8846919b18520264e7ba96e2ac11a3bce7899bc5710fcb0d22f4af29"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529",
|
||||
"sha256": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47",
|
||||
"sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e",
|
||||
"sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278",
|
||||
"sha256": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4",
|
||||
"sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95",
|
||||
"sha256": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124",
|
||||
"sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201",
|
||||
"sha256": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad",
|
||||
"sha256": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/c570bade38479af93f08f717fcebb328a0db38e5b58bd0e7983681bc5ae41b7a",
|
||||
"sha256": "c570bade38479af93f08f717fcebb328a0db38e5b58bd0e7983681bc5ae41b7a"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/eb58dee98934fef0fd916c7807eea1d600d71ee35cda9b9fbbc5564e42560461",
|
||||
"sha256": "eb58dee98934fef0fd916c7807eea1d600d71ee35cda9b9fbbc5564e42560461"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/9441650c58e156a485810290ec86028b1a21655960e8196cc60d710f51b51788",
|
||||
"sha256": "9441650c58e156a485810290ec86028b1a21655960e8196cc60d710f51b51788"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/fd38385e3687ec6f9886d5025b394463c252b8198b0426c56f95740139eb7e9b",
|
||||
"sha256": "fd38385e3687ec6f9886d5025b394463c252b8198b0426c56f95740139eb7e9b"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20",
|
||||
"sha256": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b",
|
||||
"sha256": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/a1d29ea6822be12817b2d60109cec44b061d167f147b10f9aa352529e1a4c475",
|
||||
"sha256": "a1d29ea6822be12817b2d60109cec44b061d167f147b10f9aa352529e1a4c475"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/2ba25f7d3efbb1095e0a0dd7bbb577f76af05c425cb928f9a1c7bc52ea9f532b",
|
||||
"sha256": "2ba25f7d3efbb1095e0a0dd7bbb577f76af05c425cb928f9a1c7bc52ea9f532b"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-contract.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/b13806a7e1464454e3817e1e62b56b0fa07fe2fddbd94d7fdc530e2c3dd9e3d2",
|
||||
"sha256": "b13806a7e1464454e3817e1e62b56b0fa07fe2fddbd94d7fdc530e2c3dd9e3d2"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/92bbf8a891c7ef78df48430901219d8d07073cba74112a307a6d8bdec509e8dd",
|
||||
"sha256": "92bbf8a891c7ef78df48430901219d8d07073cba74112a307a6d8bdec509e8dd"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-report-fixture.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/30607043a4ca44e42024b63659ae10993c14c7a04e7c5685255ccafe4d3fb55c",
|
||||
"sha256": "30607043a4ca44e42024b63659ae10993c14c7a04e7c5685255ccafe4d3fb55c"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68",
|
||||
"sha256": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/6f173d6b257e9f0e4f360390e5846380eba7ecd5cadfd55c22b998bd7e7de844",
|
||||
"sha256": "6f173d6b257e9f0e4f360390e5846380eba7ecd5cadfd55c22b998bd7e7de844"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/508f9bf9f11a35b8fc494e1d66e8f11aa0338df4aa9d7115a80e2dabdae81b55",
|
||||
"sha256": "508f9bf9f11a35b8fc494e1d66e8f11aa0338df4aa9d7115a80e2dabdae81b55"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/ec470183fd6a6a315ec0e35d5841eb1e26cf04d58c5b3fdc13b6f34b1621f62d",
|
||||
"sha256": "ec470183fd6a6a315ec0e35d5841eb1e26cf04d58c5b3fdc13b6f34b1621f62d"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/3c903dd82c13273cb61f590b258b059c32e0fd515d7c176ce4fec3e68a77bc7b",
|
||||
"sha256": "3c903dd82c13273cb61f590b258b059c32e0fd515d7c176ce4fec3e68a77bc7b"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight-full.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9",
|
||||
"sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/3b6b67a0b4d51ef791e775b528b64aa5a6f14eff629737e67baee7e2f6f60762",
|
||||
"sha256": "3b6b67a0b4d51ef791e775b528b64aa5a6f14eff629737e67baee7e2f6f60762"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/ce88aca5e2d6cd5ab7533898bc9b246bd159482c4acccb0afe4c451ee88f57fa",
|
||||
"sha256": "ce88aca5e2d6cd5ab7533898bc9b246bd159482c4acccb0afe4c451ee88f57fa"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/preparation-failure-history.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/51b9983d2a806240f562dcb951955fc8360c181e6d08a8dfdcba95361c6dd596",
|
||||
"sha256": "51b9983d2a806240f562dcb951955fc8360c181e6d08a8dfdcba95361c6dd596"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/29de1dbddce09008a50516ec43b100bc2a1e08ace86a748a259fe5695e937453",
|
||||
"sha256": "29de1dbddce09008a50516ec43b100bc2a1e08ace86a748a259fe5695e937453"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e",
|
||||
"sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e",
|
||||
"sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight-full.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/0188799d352e4d49d5ca29d6e197742d02e96a4b0b399df1f478e41b25292eb5",
|
||||
"sha256": "0188799d352e4d49d5ca29d6e197742d02e96a4b0b399df1f478e41b25292eb5"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/4c3c3166205808e81326ccdae1b56afef757b0ceb4e6c96a17bf384317aeee4a",
|
||||
"sha256": "4c3c3166205808e81326ccdae1b56afef757b0ceb4e6c96a17bf384317aeee4a"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889",
|
||||
"sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a",
|
||||
"sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e",
|
||||
"sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369",
|
||||
"sha256": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b",
|
||||
"sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509",
|
||||
"sha256": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/ecddcb00127774a17d5cf553417c60d1b6fb753b6eb91a49dabb7fc52678595e",
|
||||
"sha256": "ecddcb00127774a17d5cf553417c60d1b6fb753b6eb91a49dabb7fc52678595e"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/112e0aa642a7f48edf8073eee180b62d5ab6000aa4a6197ea6ffc10d7087beb0",
|
||||
"sha256": "112e0aa642a7f48edf8073eee180b62d5ab6000aa4a6197ea6ffc10d7087beb0"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/intakes/RPF-IN-0009-infd-zlib-native-release-review.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/d162fda35ac46502f14cea91d7d614ce5041e15eae0d4705ede4bf9efc18b36a",
|
||||
"sha256": "d162fda35ac46502f14cea91d7d614ce5041e15eae0d4705ede4bf9efc18b36a"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/final-agreement-probes.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/d23f10a3eca61ee3fb9c20213621122a394679a3f97c1abd8e91edff089803aa",
|
||||
"sha256": "d23f10a3eca61ee3fb9c20213621122a394679a3f97c1abd8e91edff089803aa"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/final481-changes-requested-review.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/faeb2b4a9f57a3db029197d4488b528d0a93b6464bf60ade9b0ee189f5a9a95a",
|
||||
"sha256": "faeb2b4a9f57a3db029197d4488b528d0a93b6464bf60ade9b0ee189f5a9a95a"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/independent_final_probes.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/c29eba9ff32bd9d8ed9e825a4acf8ba692e19a03087fd7e7a55aa0d9e1fc2d43",
|
||||
"sha256": "c29eba9ff32bd9d8ed9e825a4acf8ba692e19a03087fd7e7a55aa0d9e1fc2d43"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/unissued-final-technical-draft.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/be936ee74899f9a2c2bee2e12560fd5e7aaeaa6fb6e38e717ef9dabbdf73055f",
|
||||
"sha256": "be936ee74899f9a2c2bee2e12560fd5e7aaeaa6fb6e38e717ef9dabbdf73055f"
|
||||
},
|
||||
{
|
||||
"original_path": "intakes/RPF-IN-0009-infd-zlib-native-release-review.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-9d0ff679/files/8261e4f08dc73410a1c507d562e0b3fae8629ee1f8c39ed16b3c926744a816f6",
|
||||
"sha256": "8261e4f08dc73410a1c507d562e0b3fae8629ee1f8c39ed16b3c926744a816f6"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,672 @@
|
|||
{
|
||||
"all_checks_pass": true,
|
||||
"observed_at": "2026-10-11T09:43:42.851086+00:00",
|
||||
"native_changed": false,
|
||||
"protected_database_read": false,
|
||||
"secret_read": false,
|
||||
"deployment_generation": 25,
|
||||
"ready_replicas": 1,
|
||||
"sealed_live_deployment": {
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
"argocd.argoproj.io/tracking-id": "informed-decision:apps/Deployment:informed-decision/informed-decision",
|
||||
"informed-decision.coulomb.social/admission": "approved; INFD-WP-0007 cutover"
|
||||
},
|
||||
"name": "informed-decision",
|
||||
"namespace": "informed-decision",
|
||||
"uid": "a588e10a-90d2-4883-975e-6dd8b8feca92"
|
||||
},
|
||||
"spec": {
|
||||
"progressDeadlineSeconds": 600,
|
||||
"replicas": 1,
|
||||
"revisionHistoryLimit": 10,
|
||||
"selector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "informed-decision"
|
||||
}
|
||||
},
|
||||
"strategy": {
|
||||
"type": "Recreate"
|
||||
},
|
||||
"template": {
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
"informed-decision.coulomb.social/admission": "approved; INFD-WP-0007 cutover"
|
||||
},
|
||||
"labels": {
|
||||
"app.kubernetes.io/component": "review",
|
||||
"app.kubernetes.io/name": "informed-decision"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"automountServiceAccountToken": false,
|
||||
"containers": [
|
||||
{
|
||||
"env": [
|
||||
{
|
||||
"name": "INFD_KEYCAPE_ISSUER",
|
||||
"value": "https://kc.coulomb.social"
|
||||
},
|
||||
{
|
||||
"name": "INFD_CONTAINER_CONFIG",
|
||||
"value": "/configuration/runtime.json"
|
||||
}
|
||||
],
|
||||
"image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a",
|
||||
"imagePullPolicy": "IfNotPresent",
|
||||
"livenessProbe": {
|
||||
"failureThreshold": 3,
|
||||
"httpGet": {
|
||||
"path": "/healthz",
|
||||
"port": "http",
|
||||
"scheme": "HTTP"
|
||||
},
|
||||
"periodSeconds": 10,
|
||||
"successThreshold": 1,
|
||||
"timeoutSeconds": 2
|
||||
},
|
||||
"name": "informed-decision",
|
||||
"ports": [
|
||||
{
|
||||
"containerPort": 8080,
|
||||
"name": "http",
|
||||
"protocol": "TCP"
|
||||
},
|
||||
{
|
||||
"containerPort": 8081,
|
||||
"name": "workload",
|
||||
"protocol": "TCP"
|
||||
}
|
||||
],
|
||||
"readinessProbe": {
|
||||
"failureThreshold": 3,
|
||||
"httpGet": {
|
||||
"path": "/healthz",
|
||||
"port": "http",
|
||||
"scheme": "HTTP"
|
||||
},
|
||||
"periodSeconds": 10,
|
||||
"successThreshold": 1,
|
||||
"timeoutSeconds": 2
|
||||
},
|
||||
"resources": {
|
||||
"limits": {
|
||||
"cpu": "500m",
|
||||
"memory": "256Mi"
|
||||
},
|
||||
"requests": {
|
||||
"cpu": "5m",
|
||||
"memory": "64Mi"
|
||||
}
|
||||
},
|
||||
"securityContext": {
|
||||
"allowPrivilegeEscalation": false,
|
||||
"capabilities": {
|
||||
"drop": [
|
||||
"ALL"
|
||||
]
|
||||
},
|
||||
"readOnlyRootFilesystem": true
|
||||
},
|
||||
"startupProbe": {
|
||||
"failureThreshold": 12,
|
||||
"httpGet": {
|
||||
"path": "/healthz",
|
||||
"port": "http",
|
||||
"scheme": "HTTP"
|
||||
},
|
||||
"periodSeconds": 10,
|
||||
"successThreshold": 1,
|
||||
"timeoutSeconds": 2
|
||||
},
|
||||
"terminationMessagePath": "/dev/termination-log",
|
||||
"terminationMessagePolicy": "File",
|
||||
"volumeMounts": [
|
||||
{
|
||||
"mountPath": "/data",
|
||||
"name": "data"
|
||||
},
|
||||
{
|
||||
"mountPath": "/run/informed-decision",
|
||||
"name": "runtime"
|
||||
},
|
||||
{
|
||||
"mountPath": "/tmp",
|
||||
"name": "tmp"
|
||||
},
|
||||
{
|
||||
"mountPath": "/configuration",
|
||||
"name": "configuration",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/policy",
|
||||
"name": "caller",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/audit",
|
||||
"name": "audit",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/kubernetes",
|
||||
"name": "kubernetes-api",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/workload-registry",
|
||||
"name": "workload-registry",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/requester",
|
||||
"name": "sitting-requester",
|
||||
"readOnly": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"dnsPolicy": "ClusterFirst",
|
||||
"restartPolicy": "Always",
|
||||
"schedulerName": "default-scheduler",
|
||||
"securityContext": {
|
||||
"fsGroup": 10001,
|
||||
"fsGroupChangePolicy": "OnRootMismatch",
|
||||
"runAsGroup": 10001,
|
||||
"runAsNonRoot": true,
|
||||
"runAsUser": 10001,
|
||||
"seccompProfile": {
|
||||
"type": "RuntimeDefault"
|
||||
}
|
||||
},
|
||||
"serviceAccount": "review",
|
||||
"serviceAccountName": "review",
|
||||
"terminationGracePeriodSeconds": 45,
|
||||
"volumes": [
|
||||
{
|
||||
"name": "data",
|
||||
"persistentVolumeClaim": {
|
||||
"claimName": "informed-decision-data"
|
||||
}
|
||||
},
|
||||
{
|
||||
"emptyDir": {
|
||||
"medium": "Memory",
|
||||
"sizeLimit": "16Mi"
|
||||
},
|
||||
"name": "runtime"
|
||||
},
|
||||
{
|
||||
"emptyDir": {
|
||||
"medium": "Memory",
|
||||
"sizeLimit": "16Mi"
|
||||
},
|
||||
"name": "tmp"
|
||||
},
|
||||
{
|
||||
"configMap": {
|
||||
"defaultMode": 292,
|
||||
"name": "informed-decision-runtime-6c221878d051"
|
||||
},
|
||||
"name": "configuration"
|
||||
},
|
||||
{
|
||||
"name": "caller",
|
||||
"projected": {
|
||||
"defaultMode": 288,
|
||||
"sources": [
|
||||
{
|
||||
"serviceAccountToken": {
|
||||
"audience": "flex-auth",
|
||||
"expirationSeconds": 3600,
|
||||
"path": "token"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "audit",
|
||||
"secret": {
|
||||
"defaultMode": 288,
|
||||
"items": [
|
||||
{
|
||||
"key": "token",
|
||||
"path": "token"
|
||||
}
|
||||
],
|
||||
"secretName": "informed-decision-audit"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "kubernetes-api",
|
||||
"projected": {
|
||||
"defaultMode": 288,
|
||||
"sources": [
|
||||
{
|
||||
"serviceAccountToken": {
|
||||
"expirationSeconds": 600,
|
||||
"path": "token"
|
||||
}
|
||||
},
|
||||
{
|
||||
"configMap": {
|
||||
"items": [
|
||||
{
|
||||
"key": "ca.crt",
|
||||
"path": "ca.crt"
|
||||
}
|
||||
],
|
||||
"name": "kube-root-ca.crt"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"configMap": {
|
||||
"defaultMode": 292,
|
||||
"name": "informed-decision-workload-registry"
|
||||
},
|
||||
"name": "workload-registry"
|
||||
},
|
||||
{
|
||||
"name": "sitting-requester",
|
||||
"secret": {
|
||||
"defaultMode": 288,
|
||||
"items": [
|
||||
{
|
||||
"key": "client-secret",
|
||||
"path": "client-secret"
|
||||
}
|
||||
],
|
||||
"optional": false,
|
||||
"secretName": "informed-decision-sitting-requester"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"candidate_deployment": {
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
"argocd.argoproj.io/tracking-id": "informed-decision:apps/Deployment:informed-decision/informed-decision",
|
||||
"informed-decision.coulomb.social/admission": "approved; INFD-WP-0007 cutover"
|
||||
},
|
||||
"name": "informed-decision",
|
||||
"namespace": "informed-decision",
|
||||
"uid": "a588e10a-90d2-4883-975e-6dd8b8feca92"
|
||||
},
|
||||
"spec": {
|
||||
"progressDeadlineSeconds": 600,
|
||||
"replicas": 1,
|
||||
"revisionHistoryLimit": 10,
|
||||
"selector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "informed-decision"
|
||||
}
|
||||
},
|
||||
"strategy": {
|
||||
"type": "Recreate"
|
||||
},
|
||||
"template": {
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
"informed-decision.coulomb.social/admission": "approved; INFD-WP-0007 cutover"
|
||||
},
|
||||
"labels": {
|
||||
"app.kubernetes.io/component": "review",
|
||||
"app.kubernetes.io/name": "informed-decision"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"automountServiceAccountToken": false,
|
||||
"containers": [
|
||||
{
|
||||
"env": [
|
||||
{
|
||||
"name": "INFD_KEYCAPE_ISSUER",
|
||||
"value": "https://kc.coulomb.social"
|
||||
},
|
||||
{
|
||||
"name": "INFD_CONTAINER_CONFIG",
|
||||
"value": "/configuration/runtime.json"
|
||||
}
|
||||
],
|
||||
"image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a",
|
||||
"imagePullPolicy": "IfNotPresent",
|
||||
"livenessProbe": {
|
||||
"failureThreshold": 3,
|
||||
"httpGet": {
|
||||
"path": "/healthz",
|
||||
"port": "http",
|
||||
"scheme": "HTTP"
|
||||
},
|
||||
"periodSeconds": 10,
|
||||
"successThreshold": 1,
|
||||
"timeoutSeconds": 2
|
||||
},
|
||||
"name": "informed-decision",
|
||||
"ports": [
|
||||
{
|
||||
"containerPort": 8080,
|
||||
"name": "http",
|
||||
"protocol": "TCP"
|
||||
},
|
||||
{
|
||||
"containerPort": 8081,
|
||||
"name": "workload",
|
||||
"protocol": "TCP"
|
||||
}
|
||||
],
|
||||
"readinessProbe": {
|
||||
"failureThreshold": 3,
|
||||
"httpGet": {
|
||||
"path": "/healthz",
|
||||
"port": "http",
|
||||
"scheme": "HTTP"
|
||||
},
|
||||
"periodSeconds": 10,
|
||||
"successThreshold": 1,
|
||||
"timeoutSeconds": 2
|
||||
},
|
||||
"resources": {
|
||||
"limits": {
|
||||
"cpu": "500m",
|
||||
"memory": "256Mi"
|
||||
},
|
||||
"requests": {
|
||||
"cpu": "5m",
|
||||
"memory": "64Mi"
|
||||
}
|
||||
},
|
||||
"securityContext": {
|
||||
"allowPrivilegeEscalation": false,
|
||||
"capabilities": {
|
||||
"drop": [
|
||||
"ALL"
|
||||
]
|
||||
},
|
||||
"readOnlyRootFilesystem": true
|
||||
},
|
||||
"startupProbe": {
|
||||
"failureThreshold": 12,
|
||||
"httpGet": {
|
||||
"path": "/healthz",
|
||||
"port": "http",
|
||||
"scheme": "HTTP"
|
||||
},
|
||||
"periodSeconds": 10,
|
||||
"successThreshold": 1,
|
||||
"timeoutSeconds": 2
|
||||
},
|
||||
"terminationMessagePath": "/dev/termination-log",
|
||||
"terminationMessagePolicy": "File",
|
||||
"volumeMounts": [
|
||||
{
|
||||
"mountPath": "/data",
|
||||
"name": "data"
|
||||
},
|
||||
{
|
||||
"mountPath": "/run/informed-decision",
|
||||
"name": "runtime"
|
||||
},
|
||||
{
|
||||
"mountPath": "/tmp",
|
||||
"name": "tmp"
|
||||
},
|
||||
{
|
||||
"mountPath": "/configuration",
|
||||
"name": "configuration",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/policy",
|
||||
"name": "caller",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/audit",
|
||||
"name": "audit",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/kubernetes",
|
||||
"name": "kubernetes-api",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/workload-registry",
|
||||
"name": "workload-registry",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/requester",
|
||||
"name": "sitting-requester",
|
||||
"readOnly": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"dnsPolicy": "ClusterFirst",
|
||||
"restartPolicy": "Always",
|
||||
"schedulerName": "default-scheduler",
|
||||
"securityContext": {
|
||||
"fsGroup": 10001,
|
||||
"fsGroupChangePolicy": "OnRootMismatch",
|
||||
"runAsGroup": 10001,
|
||||
"runAsNonRoot": true,
|
||||
"runAsUser": 10001,
|
||||
"seccompProfile": {
|
||||
"type": "RuntimeDefault"
|
||||
}
|
||||
},
|
||||
"serviceAccount": "review",
|
||||
"serviceAccountName": "review",
|
||||
"terminationGracePeriodSeconds": 45,
|
||||
"volumes": [
|
||||
{
|
||||
"name": "data",
|
||||
"persistentVolumeClaim": {
|
||||
"claimName": "informed-decision-data"
|
||||
}
|
||||
},
|
||||
{
|
||||
"emptyDir": {
|
||||
"medium": "Memory",
|
||||
"sizeLimit": "16Mi"
|
||||
},
|
||||
"name": "runtime"
|
||||
},
|
||||
{
|
||||
"emptyDir": {
|
||||
"medium": "Memory",
|
||||
"sizeLimit": "16Mi"
|
||||
},
|
||||
"name": "tmp"
|
||||
},
|
||||
{
|
||||
"configMap": {
|
||||
"defaultMode": 292,
|
||||
"name": "informed-decision-runtime-6c221878d051"
|
||||
},
|
||||
"name": "configuration"
|
||||
},
|
||||
{
|
||||
"name": "caller",
|
||||
"projected": {
|
||||
"defaultMode": 288,
|
||||
"sources": [
|
||||
{
|
||||
"serviceAccountToken": {
|
||||
"audience": "flex-auth",
|
||||
"expirationSeconds": 3600,
|
||||
"path": "token"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "audit",
|
||||
"secret": {
|
||||
"defaultMode": 288,
|
||||
"items": [
|
||||
{
|
||||
"key": "token",
|
||||
"path": "token"
|
||||
}
|
||||
],
|
||||
"secretName": "informed-decision-audit"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "kubernetes-api",
|
||||
"projected": {
|
||||
"defaultMode": 288,
|
||||
"sources": [
|
||||
{
|
||||
"serviceAccountToken": {
|
||||
"expirationSeconds": 600,
|
||||
"path": "token"
|
||||
}
|
||||
},
|
||||
{
|
||||
"configMap": {
|
||||
"items": [
|
||||
{
|
||||
"key": "ca.crt",
|
||||
"path": "ca.crt"
|
||||
}
|
||||
],
|
||||
"name": "kube-root-ca.crt"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"configMap": {
|
||||
"defaultMode": 292,
|
||||
"name": "informed-decision-workload-registry"
|
||||
},
|
||||
"name": "workload-registry"
|
||||
},
|
||||
{
|
||||
"name": "sitting-requester",
|
||||
"secret": {
|
||||
"defaultMode": 288,
|
||||
"items": [
|
||||
{
|
||||
"key": "client-secret",
|
||||
"path": "client-secret"
|
||||
}
|
||||
],
|
||||
"optional": false,
|
||||
"secretName": "informed-decision-sitting-requester"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"sealed_dependencies": {
|
||||
"configmap": {
|
||||
"apiVersion": "v1",
|
||||
"immutable": true,
|
||||
"kind": "ConfigMap",
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
"argocd.argoproj.io/tracking-id": "informed-decision:/ConfigMap:informed-decision/informed-decision-runtime-6c221878d051",
|
||||
"informed-decision.coulomb.social/admission": "approved; INFD-WP-0007 cutover"
|
||||
},
|
||||
"name": "informed-decision-runtime-6c221878d051",
|
||||
"namespace": "informed-decision",
|
||||
"uid": "90113d2d-54d9-4e82-b1d3-90b49ebed2b5"
|
||||
},
|
||||
"canonical_data_sha256": "8ec462d12347548f506eeebf1e3c7cc47648019c8a783804d09bcc79b0f22af6"
|
||||
},
|
||||
"pvc": {
|
||||
"apiVersion": "v1",
|
||||
"kind": "PersistentVolumeClaim",
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
"argocd.argoproj.io/tracking-id": "informed-decision:/PersistentVolumeClaim:informed-decision/informed-decision-data",
|
||||
"informed-decision.coulomb.social/admission": "approved; INFD-WP-0007 cutover",
|
||||
"pv.kubernetes.io/bind-completed": "yes",
|
||||
"pv.kubernetes.io/bound-by-controller": "yes",
|
||||
"volume.beta.kubernetes.io/storage-provisioner": "rancher.io/local-path",
|
||||
"volume.kubernetes.io/selected-node": "239.62.205.92.host.secureserver.net",
|
||||
"volume.kubernetes.io/storage-provisioner": "rancher.io/local-path"
|
||||
},
|
||||
"finalizers": [
|
||||
"kubernetes.io/pvc-protection"
|
||||
],
|
||||
"name": "informed-decision-data",
|
||||
"namespace": "informed-decision",
|
||||
"uid": "d80b25b1-141a-441b-b205-98fa2fd98b7c"
|
||||
},
|
||||
"spec": {
|
||||
"accessModes": [
|
||||
"ReadWriteOnce"
|
||||
],
|
||||
"resources": {
|
||||
"requests": {
|
||||
"storage": "1Gi"
|
||||
}
|
||||
},
|
||||
"storageClassName": "local-path",
|
||||
"volumeMode": "Filesystem",
|
||||
"volumeName": "pvc-d80b25b1-141a-441b-b205-98fa2fd98b7c"
|
||||
}
|
||||
},
|
||||
"pvc_phase": "Bound"
|
||||
},
|
||||
"argo": {
|
||||
"uid": "499868f2-eabc-4df4-ae31-b89ce58d750d",
|
||||
"source": {
|
||||
"path": "deploy/lifecycle",
|
||||
"repoURL": "https://forgejo.coulomb.social/coulomb/informed-decision.git",
|
||||
"targetRevision": "c96b0c6d881e855d1d158003c6de90ef390262e2"
|
||||
},
|
||||
"destination": {
|
||||
"namespace": "informed-decision",
|
||||
"server": "https://kubernetes.default.svc"
|
||||
},
|
||||
"automated": false,
|
||||
"health": {
|
||||
"lastTransitionTime": "2026-10-11T07:00:42Z",
|
||||
"status": "Healthy"
|
||||
},
|
||||
"sync": {
|
||||
"comparedTo": {
|
||||
"destination": {
|
||||
"namespace": "informed-decision",
|
||||
"server": "https://kubernetes.default.svc"
|
||||
},
|
||||
"source": {
|
||||
"path": "deploy/lifecycle",
|
||||
"repoURL": "https://forgejo.coulomb.social/coulomb/informed-decision.git",
|
||||
"targetRevision": "c96b0c6d881e855d1d158003c6de90ef390262e2"
|
||||
}
|
||||
},
|
||||
"revision": "c96b0c6d881e855d1d158003c6de90ef390262e2",
|
||||
"status": "OutOfSync"
|
||||
}
|
||||
},
|
||||
"server_dry_run_passed": true,
|
||||
"admission_only_image_delta": true,
|
||||
"client_diff_exit": 0,
|
||||
"client_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"allocatable_cpu_m": 4000,
|
||||
"requested_cpu_m": 3460,
|
||||
"strategy": "Recreate"
|
||||
}
|
||||
|
|
@ -0,0 +1,150 @@
|
|||
"""Supervised receipt bookkeeping, not an authenticated approval provider."""
|
||||
import datetime
|
||||
import fcntl
|
||||
import hashlib
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
from pathlib import Path
|
||||
import stat
|
||||
import uuid
|
||||
|
||||
FOUNDER = {'kind': 'person', 'sub': 'uid=platform-root,ou=people,dc=netkingdom,dc=local'}
|
||||
MEMO_ID = 'infd-20261011-zlib-remediation-r1'
|
||||
PROPOSAL = 'INFD-WP-0009-T05/zlib85091-r1'
|
||||
PHASES = ('drill-backup', 'drill-copy', 'offline-verify', 'cleanup-offline',
|
||||
'cutover-backup', 'cutover-copy', 'release', 'verify', 'rollback', 'rollback-verify')
|
||||
|
||||
|
||||
def require(value, reason):
|
||||
if not value:
|
||||
raise ValueError(reason)
|
||||
|
||||
|
||||
def sha(path):
|
||||
digest = hashlib.sha256()
|
||||
with Path(path).open('rb') as stream:
|
||||
for block in iter(lambda: stream.read(1024**2), b''):
|
||||
digest.update(block)
|
||||
return digest.hexdigest()
|
||||
|
||||
|
||||
def private(path, directory=False):
|
||||
info = Path(path).lstat()
|
||||
require((stat.S_ISDIR(info.st_mode) if directory else stat.S_ISREG(info.st_mode))
|
||||
and info.st_uid == os.getuid() and stat.S_IMODE(info.st_mode) == (0o700 if directory else 0o600)
|
||||
and (directory or info.st_nlink == 1), 'private owned custody required')
|
||||
|
||||
|
||||
def authority(receipt, outcome, memo_sha, source_revision, phase, now=None):
|
||||
"""Root must freshly verify native outcome at fixed ORIGIN outside this helper.
|
||||
|
||||
Receipt files/flags are not signed grants. This function checks the exact
|
||||
supervised receipt relation; existing harness/founder authority remains the
|
||||
actual permission boundary. It never authenticates a caller as human.
|
||||
"""
|
||||
now = now or datetime.datetime.now(datetime.timezone.utc)
|
||||
require(phase in PHASES, 'fixed phase required')
|
||||
require(receipt.get('proposal_id') == PROPOSAL and receipt.get('memo_id') == MEMO_ID
|
||||
and receipt.get('memo_version') == 1 and receipt.get('memo_sha256') == memo_sha
|
||||
and receipt.get('source_revision') == source_revision
|
||||
and receipt.get('activation') == 'APPROVED'
|
||||
and receipt.get('authority_mode') == 'ADMINISTER'
|
||||
and receipt.get('target') == 'realm:kubernetes/railiance01/informed-decision'
|
||||
and receipt.get('verification_method') == 'root-fixed-origin-native-readback'
|
||||
and receipt.get('runtime_authenticated_grant') is False
|
||||
and receipt.get('outcome_query') == '/lifecycle/memos/' + MEMO_ID + '/outcomes?version=1',
|
||||
'exact externally verified supervised receipt required')
|
||||
verified = datetime.datetime.fromisoformat(receipt['verified_at'].replace('Z', '+00:00'))
|
||||
require(verified.tzinfo is not None and 0 <= (now - verified).total_seconds() <= 120,
|
||||
'fresh root native readback required before every phase')
|
||||
deadline = datetime.datetime.fromisoformat('2026-10-12T23:59:59+00:00')
|
||||
require(now < deadline, 'approved execution window expired')
|
||||
if phase == 'release':
|
||||
require((deadline-now).total_seconds() >= 1800, 'reserve thirty minutes for verification and recovery')
|
||||
require(outcome.get('memo_id') == MEMO_ID and outcome.get('review', {}).get('stale') is False
|
||||
and outcome['review'].get('intake_state') == 'ready', 'native review is not ready/current')
|
||||
review_id = outcome['review']['memo_id']
|
||||
require(review_id == receipt.get('review_memo_id'), 'native review identity changed')
|
||||
accepted = [x for x in outcome.get('dispositions', [])
|
||||
if x.get('submission_state') == 'confirmed'
|
||||
and x.get('disposition', {}).get('verb') == 'accept'
|
||||
and x['disposition'].get('memo_version') == 1]
|
||||
require(len(accepted) == 1, 'one confirmed founder acceptance required')
|
||||
accepted = accepted[0]['disposition']
|
||||
require(accepted.get('actor') == FOUNDER and accepted.get('memo_id') == review_id
|
||||
and accepted.get('approval_id') == receipt.get('approval_id')
|
||||
and accepted.get('id') == receipt.get('disposition_id')
|
||||
and accepted.get('at') == receipt.get('accepted_at'), 'exact founder disposition mismatch')
|
||||
require(re.fullmatch(r'[a-f0-9-]{36}', accepted['approval_id']) is not None
|
||||
and re.fullmatch(r'disp-[a-f0-9-]{36}', accepted['id']) is not None
|
||||
and re.fullmatch(r'review-[a-f0-9-]{36}', review_id) is not None,
|
||||
'native disposition identifiers are malformed')
|
||||
accepted_at = datetime.datetime.fromisoformat(accepted['at'].replace('Z', '+00:00'))
|
||||
require(accepted_at.tzinfo is not None and accepted_at <= verified, 'acceptance time not bounded')
|
||||
return {key: receipt[key] for key in ('approval_id', 'disposition_id', 'accepted_at', 'verified_at')}
|
||||
|
||||
|
||||
class Journal:
|
||||
def __init__(self, parent, identity):
|
||||
self.parent = Path(parent)
|
||||
private(self.parent, directory=True)
|
||||
self.path = self.parent / 'execution-journal.json'
|
||||
self.lock = os.open(self.parent / 'execution.lock', os.O_CREAT | os.O_NOFOLLOW | os.O_RDWR, 0o600)
|
||||
fcntl.flock(self.lock, fcntl.LOCK_EX | fcntl.LOCK_NB)
|
||||
private(self.parent / 'execution.lock')
|
||||
if self.path.exists():
|
||||
private(self.path)
|
||||
self.data = json.loads(self.path.read_text())
|
||||
require(self.data['identity'] == identity, 'journal case/source identity changed')
|
||||
else:
|
||||
self.data = {'identity': identity, 'phases': {}}
|
||||
self.save()
|
||||
|
||||
def save(self):
|
||||
temporary = self.parent / 'execution-journal.new'
|
||||
fd = os.open(temporary, os.O_CREAT | os.O_EXCL | os.O_NOFOLLOW | os.O_WRONLY, 0o600)
|
||||
try:
|
||||
with os.fdopen(fd, 'w') as stream:
|
||||
json.dump(self.data, stream, indent=2)
|
||||
stream.write('\n')
|
||||
stream.flush()
|
||||
os.fsync(stream.fileno())
|
||||
os.replace(temporary, self.path)
|
||||
directory = os.open(self.parent, os.O_DIRECTORY | os.O_RDONLY)
|
||||
try:
|
||||
os.fsync(directory)
|
||||
finally:
|
||||
os.close(directory)
|
||||
except BaseException:
|
||||
# Retain evidence rather than overwriting an uncertain durable intent.
|
||||
raise
|
||||
|
||||
def start(self, phase, approval):
|
||||
require(phase not in self.data['phases'], 'already attempted phase; no retry')
|
||||
predecessors = dict(zip(PHASES[1:8], PHASES[:7]))
|
||||
predecessors['rollback-verify'] = 'rollback'
|
||||
if phase in predecessors:
|
||||
require(self.data['phases'].get(predecessors[phase], {}).get('state') == 'COMPLETE',
|
||||
'preceding phase is not verified complete')
|
||||
if phase == 'rollback':
|
||||
require('release' in self.data['phases'], 'rollback requires a recorded release attempt')
|
||||
self.data['phases'][phase] = {'state': 'RUNNING', 'approval': approval,
|
||||
'attempt_id': str(uuid.uuid4()),
|
||||
'started_at': datetime.datetime.now(datetime.timezone.utc).isoformat()}
|
||||
self.save()
|
||||
|
||||
def note(self, phase, key, value):
|
||||
require(self.data['phases'][phase]['state'] == 'RUNNING', 'phase intent missing')
|
||||
self.data['phases'][phase][key] = value
|
||||
self.save()
|
||||
|
||||
def finish(self, phase, result):
|
||||
entry = self.data['phases'][phase]
|
||||
require(entry['state'] == 'RUNNING', 'phase intent missing')
|
||||
entry['result'] = result
|
||||
entry['state'] = 'COMPLETE' if result.get('all_checks_pass') is True else 'UNCERTAIN'
|
||||
self.save()
|
||||
|
||||
def close(self):
|
||||
os.close(self.lock)
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
{
|
||||
"configmap": {
|
||||
"apiVersion": "v1",
|
||||
"immutable": true,
|
||||
"kind": "ConfigMap",
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
"argocd.argoproj.io/tracking-id": "informed-decision:/ConfigMap:informed-decision/informed-decision-runtime-6c221878d051",
|
||||
"informed-decision.coulomb.social/admission": "approved; INFD-WP-0007 cutover"
|
||||
},
|
||||
"name": "informed-decision-runtime-6c221878d051",
|
||||
"namespace": "informed-decision",
|
||||
"uid": "90113d2d-54d9-4e82-b1d3-90b49ebed2b5"
|
||||
},
|
||||
"canonical_data_sha256": "8ec462d12347548f506eeebf1e3c7cc47648019c8a783804d09bcc79b0f22af6"
|
||||
},
|
||||
"pvc": {
|
||||
"apiVersion": "v1",
|
||||
"kind": "PersistentVolumeClaim",
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
"argocd.argoproj.io/tracking-id": "informed-decision:/PersistentVolumeClaim:informed-decision/informed-decision-data",
|
||||
"informed-decision.coulomb.social/admission": "approved; INFD-WP-0007 cutover",
|
||||
"pv.kubernetes.io/bind-completed": "yes",
|
||||
"pv.kubernetes.io/bound-by-controller": "yes",
|
||||
"volume.beta.kubernetes.io/storage-provisioner": "rancher.io/local-path",
|
||||
"volume.kubernetes.io/selected-node": "239.62.205.92.host.secureserver.net",
|
||||
"volume.kubernetes.io/storage-provisioner": "rancher.io/local-path"
|
||||
},
|
||||
"finalizers": [
|
||||
"kubernetes.io/pvc-protection"
|
||||
],
|
||||
"name": "informed-decision-data",
|
||||
"namespace": "informed-decision",
|
||||
"uid": "d80b25b1-141a-441b-b205-98fa2fd98b7c"
|
||||
},
|
||||
"spec": {
|
||||
"accessModes": [
|
||||
"ReadWriteOnce"
|
||||
],
|
||||
"resources": {
|
||||
"requests": {
|
||||
"storage": "1Gi"
|
||||
}
|
||||
},
|
||||
"storageClassName": "local-path",
|
||||
"volumeMode": "Filesystem",
|
||||
"volumeName": "pvc-d80b25b1-141a-441b-b205-98fa2fd98b7c"
|
||||
}
|
||||
},
|
||||
"pvc_phase": "Bound"
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
# T05 zlib85091 release — preliminary, unapproved
|
||||
|
||||
This is a distinct proposal/trial for existing INFD-WP-0009-T05. The actual T04 source2 acceptance does not authorize it. Previous R1 copy and R2 verify UNCERTAIN journal states remain untouched. INFD-IN-0010 remains an unpromoted general verifier residual; this new task-specific verifier is a prerequisite of active T05, not an amendment of the old approved helper.
|
||||
|
||||
Exact intended image f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23 was built by admitted owner CI11534/run4 from 9b4bb25d325698ae543e7e8a8a3c3592db1f58fc. Publication is not installed acceptance. Final packet requires independent published-image scan/runtime/filesystem/source proof and fresh read-only native projection/one-object dry-run evidence. Until all final inputs and independent owner acknowledgments are frozen, execution-plan state remains preliminary and the actuator refuses before any authority, journal or native action.
|
||||
|
||||
After a NEW exact confirmed founder acceptance, root freshly authenticates fixed-origin native source-version1 outcomes before each phase. Receipt files are supervised bookkeeping, not signed grants or autonomy. Wrong task, source, memo/version, stale/pending/agent disposition, old T04 acceptance or changed inputs refuse. Root retains exact approved source revision/digests and action results in supervision. Approval does not promote any agent.
|
||||
|
||||
Fixed phase order: drill-backup → drill-copy → offline-verify → cleanup-offline → cutover-backup → cutover-copy → release → verify. New private native /data/private/zlib85091-r1, root .private-backups/20261011-infd-zlib-r1 and local volume infd-zlib-r1-restore-20261011 are distinct from all T04 custody. New private journal intent is fsynced RUNNING before dispatch; no attempted phase replay. Fixed output schema contains only counts, hashes, object identity and boolean results; raw errors and private content are withheld. Existing native snapshots/database/sidecars are never removed or restored over current data.
|
||||
|
||||
Fresh backup inspection uses copied explicit-close SQLite helpers: live and offline clone readers are mode=ro/query_only and WAL-aware, before any Store/admin open. Immutable reader is used only for freshly closed hash-bound private snapshot with absent/zero WAL frames and stable identity/metadata/digest before/after read/copy. Main and sidecars remain retained. Schema must equal5, integrity ok, and exact snapshot/isolated clone counts match before/admin/after. The detached local clone has network none, readonly root, no service/runtime config/credential mounts; only narrowly scoped UID0 CAP_CHOWN initializer precedes UID10001 reads/admin. Original private copy is hash-stable. Cleanup removes only the disposable volume whose nonce/labels/creation metadata match this trial, before cutover.
|
||||
|
||||
Each snapshot is bounded512MiB. At most two new snapshots occupy each native/offcluster custody (1GiB payload each); the disposable offcluster clone adds512MiB while present, plus16MiB sidecar/metadata reserve. New native drill phase checks free space for both; local custody checks two snapshot bounds plus reserve. Existing T04 retention consumes additional pre-existing space. EUR0 recurring infrastructure estimate; human/compute time unpriced.
|
||||
|
||||
Cutover takes a fresh native backup and exact offcluster copy. Release then requires latest schema5 readonly proof, sealed Pod/Deployment/config/PVC custody and same baseline image763c/current Application sourcec96, a healthy single target92.205.62.239 node and fresh requested CPU ≤ allocatable capacity. Recreate and resources remain unchanged. Server dry-run/client diff must show only the image. Application UID/resourceVersion/source CAS dispatches manual exact final revision, initiatedBy custodian-codex, explicit prune=false and only apps/Deployment informed-decision in its namespace. No whole-Application sync, namespace/config/credential/resource change or pruning.
|
||||
|
||||
Verification reads imageID/readiness/owner chain/exact configured Pod fields, schema5/integrity/metadata counts, installed policy hash and synthetic purpose refusals, health200, installed fixed zlib and exact image proof. After exact candidate Ready and verified rollout, root executes attached post-ready-native-outcomes-command.py inside the existing admitted StateHub Pod. It calls canonical lifecycle.outcomes for infd-20261011-zlib-remediation-r1 SOURCEversion1 at dispatcher fixed ORIGIN with NoRedirect/proxy disabled; existing internal token_file stays inside that Pod and no token/body/private content is exported. Root retains bounded HTTP-success metadata/observationtime and correlates verified candidate PodUID/image/source, then rechecks those identities. This actual provider/PDP-gated preservation proof is separate from installed synthetic2allow8refuse; both are required before task closure. It does not assert provider advisory emissions or new doctrine. Argo3.5.3 omits false prune in operation status: missing or exactfalse is accepted only together with this journal's COMPLETE explicitfalse request, exact source/resources/initiation, operation start after our durable attempt, bounded finish and one Synced Deployment result. True/null/string/prior/foreign/extra-resource results refuse.
|
||||
|
||||
Rollback → rollback-verify is separate and permitted only after a recorded release attempt. It switches only Application source back to c96 and Deployment image763c; it never restores an old snapshot over the latest database. Recovery dispatch works even if candidate Pod is absent/unready and never depends on candidate DB inspection. Recovery verification separately requires Ready1/old image/current schema5/data-custody and exact recorded scoped completion. All phases must begin before2026-10-12T23:59:59Z; release must begin at least30minutes earlier. Beyond expiry stop and obtain a new founder decision; no automatic extension or emergency grant. A failed/uncertain attempt requires informed recovery rather than retry.
|
||||
|
||||
T05 remains progress until actual installed acceptance and native rescan prove the finding absent. No Risk Engine grade is assigned. Only then may owner close T05/risk and consider finishing WP9, with existing residuals live first.
|
||||
|
||||
Actual release and installed verification also require fixed private root scan receipt and retained fullreport at /tmp/security-infd-zlib-fresh-scan-{receipt,full}.json, supervised metadata binding to exact immutablef558/artifactsource9b4/scannerdigest62b1. Before journal start, fullreporthash must match, no suppression/allseverity flags true, exit0, nonempty valid fullresults contain zero findings, scan completed within4hours and now precedes DB NextUpdate. The published DB expires2026-10-11T18:59:50Z; it is not valid until release deadline. Root refreshes DB and rescans the same immutable image as routine read-only verification when needed, retaining all raw publicscan artifacts. Any new finding refuses release/closure and is retained for informed reassessment/new decision as needed, never filtered or ignored. Existing risk stays open until actual installed proof/native rescan.
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,191 @@
|
|||
---
|
||||
id: INFD-WP-0009
|
||||
type: workplan
|
||||
title: "Repair lifecycle consumer pin after Access Engine v2 policy release"
|
||||
domain: infotech
|
||||
repo: informed-decision
|
||||
status: active
|
||||
owner: codex
|
||||
topic_slug: netkingdom
|
||||
created: "2026-10-10"
|
||||
updated: "2026-10-11"
|
||||
flavor: implementation
|
||||
depends_on: []
|
||||
related:
|
||||
- FLEX-WP-0035
|
||||
- INFD-WP-0007
|
||||
state_hub_workstream_id: "77eaeabf-0644-595f-b3d5-1168e6a294c4"
|
||||
---
|
||||
|
||||
## Diagnose and prepare exact config repair
|
||||
|
||||
```task
|
||||
id: INFD-WP-0009-T01
|
||||
status: done
|
||||
priority: high
|
||||
state_hub_task_id: "5c30c308-8fe2-5956-b0c1-66c80bcb07e9"
|
||||
```
|
||||
|
||||
Native State Hub lifecycle submission returns HTTP 503 `invalid_decision`.
|
||||
The service remains Ready but its configured lifecycle package is v1/cee6a79;
|
||||
Access Engine lifecycle provider now runs v2/da01e045 after FLEX-WP-0035.
|
||||
The envelope contract remains `flex-auth.decision-record.v1`; this is a policy
|
||||
pin mismatch, not an envelope compatibility migration. Keep exact package,
|
||||
version and digest enforcement. Source preparation and regression evidence are
|
||||
in `docs/evidence/2026-10-10-lifecycle-consumer-pin-repair.md`.
|
||||
|
||||
## Release and verify the config-only repair
|
||||
|
||||
```task
|
||||
id: INFD-WP-0009-T02
|
||||
status: done
|
||||
priority: high
|
||||
needs_human: false
|
||||
state_hub_task_id: "1e6684d7-7676-5c70-b701-9dad124b4f07"
|
||||
```
|
||||
|
||||
Apply only the reviewed immutable runtime ConfigMap and Deployment reference
|
||||
through the existing owner GitOps path after exact scoped supervisor approval.
|
||||
Image, schema, credentials, audience and review policy remain pinned. Retain
|
||||
server dry-run/diff, readiness and native State Hub register/publish receipts;
|
||||
retry with stable write keys, do not infer success from readiness. Root agent
|
||||
owns live evidence and approval recording. This is a repair of the shipped
|
||||
initial lifecycle, separate from INFD-WP-0008 expansion.
|
||||
|
||||
**Verified 2026-10-11:** founder approved exact config-only revision
|
||||
`7db8485ffecdebfabd77a9daec085553c74bf0bf`. Manual Argo Application operation
|
||||
synced only `informed-decision-runtime-6c221878d051` and Deployment, prune false.
|
||||
Application Succeeded/Healthy; generation24 observed24 Ready1; `/readyz`200;
|
||||
consumer v2/da01e045 and unchanged image7f5c6cb verified. Native lifecycle
|
||||
registration and publication succeeded (events28/29). A later review request
|
||||
rejected packet validation; this separate caller error does not undo verified
|
||||
authoring. Custodian evidence records original approval, execution and rollback:
|
||||
`docs/evidence/2026-10-10-security-consolidation/infd-pin-repair-preflight.json`.
|
||||
|
||||
## Explicitly reject advisory purpose at consumer boundary
|
||||
|
||||
```task
|
||||
id: INFD-WP-0009-T03
|
||||
status: done
|
||||
priority: medium
|
||||
state_hub_task_id: "ee798d7d-5e60-5247-9c9b-285a7f65cf11"
|
||||
```
|
||||
|
||||
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.
|
||||
At source implementation time the runtime image lacked this patch. Service build/native release belongs
|
||||
to T04, separate from the config-only T02 repair.
|
||||
|
||||
|
||||
## Release the advisory-purpose source correction
|
||||
|
||||
```task
|
||||
id: INFD-WP-0009-T04
|
||||
status: done
|
||||
priority: medium
|
||||
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. 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.
|
||||
Local image/index b8b58944786015a5375304241c149d1dab885eb539d6d8945f56b01a3c2bc821
|
||||
is built and retained, unpublished and undeployed. Base layer prefix and runtime
|
||||
configuration are preserved; installed-image 10 purpose variants pass; 13
|
||||
container checks include restart and synthetic consistent backup/restore. A
|
||||
fresh Trivy database scan has zero HIGH/CRITICAL findings, with its Alpine EOL
|
||||
warning retained. See `docs/evidence/2026-10-11-purpose-hardening/README.md`.
|
||||
Remaining gates: source-bound registry publication and exact digest verification,
|
||||
fresh native snapshot/restore compatibility, owner GitOps server dry-run/diff,
|
||||
separate scoped supervisor approval and native post-release binding/refusal.
|
||||
No release approval or actual production-data restore is inferred from fixtures.
|
||||
|
||||
**Publication and release preparation 2026-10-11:** actual owner CI
|
||||
task11484/run3 succeeds at source3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168,
|
||||
publishing immutable image763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a.
|
||||
The failed run1/f66 and run2/ace are retained as refinements in the same trial.
|
||||
Anonymous registry readback proves all8base compressed blobs/rootfs unchanged
|
||||
plus only policy.py; legacy media-type/default-config serialization differences
|
||||
are explicit. Pulled published artifact UID10001/GID10001, installed mode0644
|
||||
and exactpolicy hash, all10purpose forms pass. Full pinned scanner/DB covers
|
||||
44packages: 0HIGH/CRITICAL, 1fixableMEDIUM CVE-2026-85091 in zlib1.3.2-r0,
|
||||
identical actual current-base scan. This is not a zero-CVE release or estate
|
||||
risk grade. T05 and INFD-RISK-20261011-ZLIB-85091 are live owner follow-through.
|
||||
|
||||
The exact separate20document informed-decision packet is prepared and
|
||||
offline typed/intake validated, with no submission or founder disposition
|
||||
claimed. Source candidates differ solely in Deploymentimage and retain
|
||||
ConfigMap6c221878d051/schema5/PVC/identity/policy pins. Fresh read-only
|
||||
serverdryrun/clientdiff pass with sealedUID/fullconfiguration and actualCM/PVC
|
||||
UID/contentchecksum/boundvolume custody; optimizedinterpreters refused.
|
||||
Independent review refinement requires stdlib mode=ro schema5/integrity/count
|
||||
checks before any native/offline admin/Store open (native gate notexecuted); existingmanual
|
||||
Argo remains Healthy/OutOfSync at7db8485, not whole-app reconciled.
|
||||
Remaining gates: independent owner review, actual founder native approval,
|
||||
fresh protected native consistent snapshot/off-cluster custody/offline restore,
|
||||
refresh preflight, exact owner-source pin/Deployment-only manual sync and
|
||||
verified native installed purpose/refusal/lifecycle behavior. Synthetic native
|
||||
placement checks are not new provider authorization evidence. Runtime remains7f5c.
|
||||
|
||||
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
|
||||
id: INFD-WP-0009-T05
|
||||
status: progress
|
||||
priority: medium
|
||||
state_hub_task_id: "1743596f-8558-5a6b-afef-4dd5c1e9c0ae"
|
||||
```
|
||||
|
||||
Owner follow-through `INFD-RISK-20261011-ZLIB-85091` tracks actual published
|
||||
base and purpose-overlay scan finding CVE-2026-85091: zlib 1.3.2-r0, fixed
|
||||
1.3.2-r1, scanner MEDIUM; this is not an estate risk grade. Prepare and verify a
|
||||
separate source-bound base/dependency refresh, then obtain distinct native
|
||||
release approval before changing the workload. Review due 2026-10-18; the date
|
||||
is a manual owner follow-up, with no automatic expiry/rollback controller.
|
||||
T04 cannot be treated as a zero-CVE release or silently include the base fix.
|
||||
Preserve the original detection, pending founder disposition and remediation
|
||||
evidence. Close only after actual installed-package proof and full rescan.
|
||||
|
||||
Evidence: `docs/evidence/2026-10-11-purpose-image-release/inherited-vulnerability-follow-through.json`.
|
||||
|
||||
2026-10-11 — T05 bounded zlib-only source candidate preparation:
|
||||
Exactcurrent763base andsignedofficialr1/packageindex buildoffline. Actual44package
|
||||
fullscan sameDB baseline1MEDCVE85091→localcandidate0allseverity. Finalfilesystem
|
||||
deltaonlylibz+APKdb;36appfiles/policy9d/world/keys/Python/runtime unchanged.
|
||||
Localcandidate is unpublished/unapproved;4sourcenegative tests+actualbackend
|
||||
and10purpose checks pass. Source/evidence:docs/evidence/2026-10-11-zlib-remediation-candidate/.
|
||||
T05progress/planactive:actualownerCIpublishedprovenance/fullscan/SBOM,distinctnative
|
||||
founderreleaseapproval andactualinstalledr1/runtime/fullrescan still required.
|
||||
NoT04/nativec96/helper/journal/DB/ConfigMap/PVC/identity/policy changes.
|
||||
|
||||
|
||||
Prepared distinct source-only T05 zlib85091 native release packet in `docs/evidence/2026-10-11-zlib-image-release/`: actual published image f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23, full scan zero44packages, fresh image-only candidate and unchanged-baseline rollback server dry-runs. New private drill/cutover custody, no-network schema5 clone, immutable prior T04 helpers/journals, explicitfalse request plus Argo bool-omitempty completion guards and separate post-Ready authenticated canonical lifecycle/PDP proof. Product/Platform exact acknowledgment and NEW founder informed decision still required before protected database/workload action; old T04 approval is excluded. T05 remains progress and risk stays open until actual installed acceptance/native rescan. INFD-IN-0010 remains unpromoted.
|
||||
|
|
@ -0,0 +1,106 @@
|
|||
{
|
||||
"id": "infd-20261011-zlib-remediation-r1",
|
||||
"version": 1,
|
||||
"question": "Approve the exact zlib85091 fixed image-only release, new protected backup/restore compatibility drill and database-preserving rollback?",
|
||||
"requested_act": "approve",
|
||||
"binding_level": "organizational",
|
||||
"brief": "Published owner CI image f558 has zero full-scan findings across44packages; only zlib1.3.2-r0 to r1 changes. Fresh schema5 private backup/isolated clone drill and cutover snapshot precede one Deployment manual prune=false Recreate sync. Separate founder go required; old T04 acceptance/history unchanged. Rollback image763c/Applicationc96 retains latestDB. Release reserves30minutes before Oct12 deadline.",
|
||||
"binding": {
|
||||
"principal": {
|
||||
"id": "pending-human-session",
|
||||
"kind": "person",
|
||||
"display_name": "Founder review"
|
||||
},
|
||||
"target": {
|
||||
"kind": "environment",
|
||||
"id": "realm:kubernetes/railiance01/informed-decision",
|
||||
"label": "Informed Decision zlib85091 image-only remediation on railiance01",
|
||||
"environment": "production"
|
||||
},
|
||||
"terms": "Approve only INFD-WP-0009-T05/zlib85091-r1 trialinfd-zlib-20261011-r1 and exact attached digests: new private drillbackup/copy, isolatedschema5pre/admin/postintegrityandcounts, exactcreatedclonecleanup, freshcutoverbackup/copy, manualfinalsourceDeployment-onlyimagef558/prune=false. ImmutableCM/PVC/config/credentials/audience/resources sealed. Freshrootnativeauthenticated confirmed founderACCEPTsource1 beforeeveryphase; receiptsarebookkeeping/noautonomousgrant. Rollbackonlyimage763c/Applicationc96 preserveslatestDB, separateverification. AllphasesbeginbeforeOct12 23:59:59Z; releasereserves30minutes; newdecisionbeyond. ExistingT04UNCERTAINEvidenceunaltered, nooldhelperamendment/phase retry, noresidualpromotion ordoctrinechange."
|
||||
},
|
||||
"step_kind": "approve",
|
||||
"packet": [
|
||||
{
|
||||
"item_id": "decision-packet-md",
|
||||
"label": "decision-packet.md",
|
||||
"hash": "sha256:c570bade38479af93f08f717fcebb328a0db38e5b58bd0e7983681bc5ae41b7a"
|
||||
},
|
||||
{
|
||||
"item_id": "proposal-json",
|
||||
"label": "proposal.json",
|
||||
"hash": "sha256:a992d799bc07e8fbf05b894a5b184b11092f0041ee68187e59a23c5395b263e9"
|
||||
},
|
||||
{
|
||||
"item_id": "native-backup-restore-protocol-md",
|
||||
"label": "native-backup-restore-protocol.md",
|
||||
"hash": "sha256:0614e2118927180d18f4a3fa833990a38e27340234a952abdb1d2ca93e7602a4"
|
||||
},
|
||||
{
|
||||
"item_id": "native-preflight-json",
|
||||
"label": "native-preflight.json",
|
||||
"hash": "sha256:56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"item_id": "rollback-preflight-json",
|
||||
"label": "rollback-preflight.json",
|
||||
"hash": "sha256:0188799d352e4d49d5ca29d6e197742d02e96a4b0b399df1f478e41b25292eb5"
|
||||
},
|
||||
{
|
||||
"item_id": "published-verification-json",
|
||||
"label": "published-verification.json",
|
||||
"hash": "sha256:dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"item_id": "artifact-comparison-json",
|
||||
"label": "artifact-comparison.json",
|
||||
"hash": "sha256:a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"item_id": "installed-zlib-proof-json",
|
||||
"label": "installed-zlib-proof.json",
|
||||
"hash": "sha256:6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"item_id": "sealed-live-deployment-json",
|
||||
"label": "sealed-live-deployment.json",
|
||||
"hash": "sha256:f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"item_id": "sealed-native-dependencies-json",
|
||||
"label": "sealed-native-dependencies.json",
|
||||
"hash": "sha256:042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"item_id": "candidate-deployment-json",
|
||||
"label": "candidate-deployment.json",
|
||||
"hash": "sha256:487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"item_id": "rollback-deployment-json",
|
||||
"label": "rollback-deployment.json",
|
||||
"hash": "sha256:f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"item_id": "execution-bundle-json",
|
||||
"label": "execution-bundle.json",
|
||||
"hash": "sha256:09b0a8ed6c3c7d1e94f5f703a2d5834ca26fc166cfc8f4f9b4511ab70ec16ac9"
|
||||
}
|
||||
],
|
||||
"highlights": [
|
||||
{
|
||||
"id": "protected-drill-and-recreate",
|
||||
"item_id": "decision-packet-md",
|
||||
"note": "This new T05 decision authorizes protected real-data backup/copy and no-network same-schema restore drill plus brief Recreate image release. Scan0 is actual published44package result, not installed acceptance. Rollback preserves latestDB; priorfailedT04evidence retained. No oldapprovalreuse. Allphase starts expireOct12; release reserves30minutesforrecovery; noautomaticextension.",
|
||||
"required_ack": true,
|
||||
"severity": "warning",
|
||||
"locator": {
|
||||
"kind": "section",
|
||||
"heading": "Requested decision"
|
||||
}
|
||||
}
|
||||
],
|
||||
"sealed": false,
|
||||
"approval_id": null,
|
||||
"approval_binding_digest": null
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,7 @@
|
|||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- service.candidate.json
|
||||
- registries.candidate.json
|
||||
commonAnnotations:
|
||||
informed-decision.coulomb.social/admission: approved; INFD-WP-0007 cutover
|
||||
|
|
@ -0,0 +1,41 @@
|
|||
{
|
||||
"kind": "informed-decision.supervised-release-proposal",
|
||||
"version": 1,
|
||||
"proposal_id": "INFD-WP-0009-T05/zlib85091-r1",
|
||||
"trial_id": "infd-zlib-20261011-r1",
|
||||
"state": "prepared-unapproved",
|
||||
"memo_id": "infd-20261011-zlib-remediation-r1",
|
||||
"memo_version": 1,
|
||||
"task": "INFD-WP-0009-T05",
|
||||
"candidate_image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23",
|
||||
"artifact_source_revision": "9b4bb25d325698ae543e7e8a8a3c3592db1f58fc",
|
||||
"prior_image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a",
|
||||
"prior_application_revision": "c96b0c6d881e855d1d158003c6de90ef390262e2",
|
||||
"source_revision": null,
|
||||
"published_artifact_verified": true,
|
||||
"native_actions_executed": false,
|
||||
"approval_id": null,
|
||||
"authority_mode": "ADMINISTER",
|
||||
"target": "realm:kubernetes/railiance01/informed-decision",
|
||||
"cost_estimate_eur": 0,
|
||||
"risk": "Private same-schema backup copies and brief Recreate availability gap. Failed or ambiguous phases retained; no replay. Rollback changes Deployment image/source only, retains latest database.",
|
||||
"execute_by": "2026-10-12T23:59:59Z",
|
||||
"release_must_start_by": "2026-10-12T23:29:59Z",
|
||||
"max_snapshot_bytes": 536870912,
|
||||
"maximum_new_snapshot_payload_bytes_each_site": 1073741824,
|
||||
"local_extra_disposable_clone_max_bytes": 536870912,
|
||||
"private_metadata_and_sqlite_sidecars_additional_headroom_bytes": 16777216,
|
||||
"unbound_inputs": [
|
||||
"exact committed owner rendering revision retained in root supervised receipt",
|
||||
"Product and Platform final acknowledgments",
|
||||
"confirmed founder exact new disposition"
|
||||
],
|
||||
"published_verification_sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e",
|
||||
"native_readonly_preflight_sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9",
|
||||
"executor_plan_sha256": "fd38385e3687ec6f9886d5025b394463c252b8198b0426c56f95740139eb7e9b",
|
||||
"execution_bundle_sha256": "2ba25f7d3efbb1095e0a0dd7bbb577f76af05c425cb928f9a1c7bc52ea9f532b",
|
||||
"rollback_preflight_sha256": "0188799d352e4d49d5ca29d6e197742d02e96a4b0b399df1f478e41b25292eb5",
|
||||
"post_ready_native_provider_probe": "canonical lifecycle.outcomes SOURCE1 through existing admitted StateHub dispatcher; credentials stay inside Pod; bounded metadata correlated to verified candidate image/Pod/source",
|
||||
"fresh_scan_contract_sha256": "b13806a7e1464454e3817e1e62b56b0fa07fe2fddbd94d7fdc530e2c3dd9e3d2",
|
||||
"preparation_failure_history_sha256": "51b9983d2a806240f562dcb951955fc8360c181e6d08a8dfdcba95361c6dd596"
|
||||
}
|
||||
|
|
@ -0,0 +1,170 @@
|
|||
"""Supervised receipt bookkeeping, not an authenticated approval provider."""
|
||||
import datetime
|
||||
import fcntl
|
||||
import hashlib
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
from pathlib import Path
|
||||
import stat
|
||||
import uuid
|
||||
|
||||
FOUNDER = {'kind': 'person', 'sub': 'uid=platform-root,ou=people,dc=netkingdom,dc=local'}
|
||||
MEMO_ID = 'infd-20261011-zlib-remediation-r1'
|
||||
PROPOSAL = 'INFD-WP-0009-T05/zlib85091-r1'
|
||||
PHASES = ('drill-backup', 'drill-copy', 'offline-verify', 'cleanup-offline',
|
||||
'cutover-backup', 'cutover-copy', 'release', 'verify', 'rollback', 'rollback-verify')
|
||||
|
||||
|
||||
def require(value, reason):
|
||||
if not value:
|
||||
raise ValueError(reason)
|
||||
|
||||
|
||||
def sha(path):
|
||||
digest = hashlib.sha256()
|
||||
with Path(path).open('rb') as stream:
|
||||
for block in iter(lambda: stream.read(1024**2), b''):
|
||||
digest.update(block)
|
||||
return digest.hexdigest()
|
||||
|
||||
|
||||
def private(path, directory=False):
|
||||
info = Path(path).lstat()
|
||||
require((stat.S_ISDIR(info.st_mode) if directory else stat.S_ISREG(info.st_mode))
|
||||
and info.st_uid == os.getuid() and stat.S_IMODE(info.st_mode) == (0o700 if directory else 0o600)
|
||||
and (directory or info.st_nlink == 1), 'private owned custody required')
|
||||
|
||||
|
||||
def authority(receipt, outcome, memo_sha, source_revision, phase, now=None):
|
||||
"""Root must freshly verify native outcome at fixed ORIGIN outside this helper.
|
||||
|
||||
Receipt files/flags are not signed grants. This function checks the exact
|
||||
supervised receipt relation; existing harness/founder authority remains the
|
||||
actual permission boundary. It never authenticates a caller as human.
|
||||
"""
|
||||
now = now or datetime.datetime.now(datetime.timezone.utc)
|
||||
require(phase in PHASES, 'fixed phase required')
|
||||
require(receipt.get('proposal_id') == PROPOSAL and receipt.get('memo_id') == MEMO_ID
|
||||
and receipt.get('memo_version') == 1 and receipt.get('memo_sha256') == memo_sha
|
||||
and receipt.get('source_revision') == source_revision
|
||||
and receipt.get('activation') == 'APPROVED'
|
||||
and receipt.get('authority_mode') == 'ADMINISTER'
|
||||
and receipt.get('target') == 'realm:kubernetes/railiance01/informed-decision'
|
||||
and receipt.get('verification_method') == 'root-fixed-origin-native-readback'
|
||||
and receipt.get('runtime_authenticated_grant') is False
|
||||
and receipt.get('outcome_query') == '/lifecycle/memos/' + MEMO_ID + '/outcomes?version=1',
|
||||
'exact externally verified supervised receipt required')
|
||||
verified = datetime.datetime.fromisoformat(receipt['verified_at'].replace('Z', '+00:00'))
|
||||
require(verified.tzinfo is not None and 0 <= (now - verified).total_seconds() <= 120,
|
||||
'fresh root native readback required before every phase')
|
||||
deadline = datetime.datetime.fromisoformat('2026-10-12T23:59:59+00:00')
|
||||
require(now < deadline, 'approved execution window expired')
|
||||
if phase == 'release':
|
||||
require((deadline-now).total_seconds() >= 1800, 'reserve thirty minutes for verification and recovery')
|
||||
require(outcome.get('memo_id') == MEMO_ID and outcome.get('review', {}).get('stale') is False
|
||||
and outcome['review'].get('intake_state') == 'ready', 'native review is not ready/current')
|
||||
review_id = outcome['review']['memo_id']
|
||||
require(review_id == receipt.get('review_memo_id'), 'native review identity changed')
|
||||
accepted = [x for x in outcome.get('dispositions', [])
|
||||
if x.get('submission_state') == 'confirmed'
|
||||
and x.get('disposition', {}).get('verb') == 'accept'
|
||||
and x['disposition'].get('memo_version') == 1]
|
||||
require(len(accepted) == 1, 'one confirmed founder acceptance required')
|
||||
accepted = accepted[0]['disposition']
|
||||
require(accepted.get('actor') == FOUNDER and accepted.get('memo_id') == review_id
|
||||
and accepted.get('approval_id') == receipt.get('approval_id')
|
||||
and accepted.get('id') == receipt.get('disposition_id')
|
||||
and accepted.get('at') == receipt.get('accepted_at'), 'exact founder disposition mismatch')
|
||||
require(re.fullmatch(r'[a-f0-9-]{36}', accepted['approval_id']) is not None
|
||||
and re.fullmatch(r'disp-[a-f0-9-]{36}', accepted['id']) is not None
|
||||
and re.fullmatch(r'review-[a-f0-9-]{36}', review_id) is not None,
|
||||
'native disposition identifiers are malformed')
|
||||
accepted_at = datetime.datetime.fromisoformat(accepted['at'].replace('Z', '+00:00'))
|
||||
require(accepted_at.tzinfo is not None and accepted_at <= verified, 'acceptance time not bounded')
|
||||
return {key: receipt[key] for key in ('approval_id', 'disposition_id', 'accepted_at', 'verified_at')}
|
||||
|
||||
|
||||
def fresh_scan(receipt, report, now=None):
|
||||
"""Root supervised scan bookkeeping; actual scanner proof stays retained."""
|
||||
now=now or datetime.datetime.now(datetime.timezone.utc)
|
||||
require(receipt.get('image')=='forgejo.coulomb.social/coulomb/informed-decision@sha256:f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23'
|
||||
and receipt.get('artifact_source_revision')=='9b4bb25d325698ae543e7e8a8a3c3592db1f58fc'
|
||||
and receipt.get('scanner')=='aquasec/trivy@sha256:62b1e65e8869bc4b4c6aa4fa2b21595256c7c2f6018a9d9ad61caf87187c1969'
|
||||
and receipt.get('no_suppression') is True and receipt.get('full_allseverity_scan') is True
|
||||
and receipt.get('exit_code')==0,'exact full immutable artifact scan required')
|
||||
scanned=datetime.datetime.fromisoformat(receipt['completed_at'].replace('Z','+00:00'))
|
||||
metadata=receipt['db_metadata'];updated=datetime.datetime.fromisoformat(metadata['UpdatedAt'].replace('Z','+00:00'));next_update=datetime.datetime.fromisoformat(metadata['NextUpdate'].replace('Z','+00:00'))
|
||||
require(all(t.tzinfo is not None for t in (scanned,updated,next_update))
|
||||
and updated<=scanned<=now<next_update and (now-scanned).total_seconds()<=14400
|
||||
and metadata.get('Version')==2 and re.fullmatch(r'[a-f0-9]{64}',receipt.get('db_sha256','')) is not None,'scan or vulnerability database expired')
|
||||
require(isinstance(report,dict) and isinstance(report.get('Results'),list) and report['Results'],'retained full scan results required')
|
||||
for result in report['Results']:
|
||||
require(isinstance(result,dict) and isinstance(result.get('Vulnerabilities',[]),(list,type(None))),'full scan result invalid')
|
||||
require(not result.get('Vulnerabilities'),'new finding refuses release and closure')
|
||||
return {'full_report_sha256':receipt['full_report_sha256'],'db_sha256':receipt['db_sha256'],'completed_at':receipt['completed_at'],'next_update':metadata['NextUpdate'],'allseverity_findings':0}
|
||||
|
||||
|
||||
class Journal:
|
||||
def __init__(self, parent, identity):
|
||||
self.parent = Path(parent)
|
||||
private(self.parent, directory=True)
|
||||
self.path = self.parent / 'execution-journal.json'
|
||||
self.lock = os.open(self.parent / 'execution.lock', os.O_CREAT | os.O_NOFOLLOW | os.O_RDWR, 0o600)
|
||||
fcntl.flock(self.lock, fcntl.LOCK_EX | fcntl.LOCK_NB)
|
||||
private(self.parent / 'execution.lock')
|
||||
if self.path.exists():
|
||||
private(self.path)
|
||||
self.data = json.loads(self.path.read_text())
|
||||
require(self.data['identity'] == identity, 'journal case/source identity changed')
|
||||
else:
|
||||
self.data = {'identity': identity, 'phases': {}}
|
||||
self.save()
|
||||
|
||||
def save(self):
|
||||
temporary = self.parent / 'execution-journal.new'
|
||||
fd = os.open(temporary, os.O_CREAT | os.O_EXCL | os.O_NOFOLLOW | os.O_WRONLY, 0o600)
|
||||
try:
|
||||
with os.fdopen(fd, 'w') as stream:
|
||||
json.dump(self.data, stream, indent=2)
|
||||
stream.write('\n')
|
||||
stream.flush()
|
||||
os.fsync(stream.fileno())
|
||||
os.replace(temporary, self.path)
|
||||
directory = os.open(self.parent, os.O_DIRECTORY | os.O_RDONLY)
|
||||
try:
|
||||
os.fsync(directory)
|
||||
finally:
|
||||
os.close(directory)
|
||||
except BaseException:
|
||||
# Retain evidence rather than overwriting an uncertain durable intent.
|
||||
raise
|
||||
|
||||
def start(self, phase, approval):
|
||||
require(phase not in self.data['phases'], 'already attempted phase; no retry')
|
||||
predecessors = dict(zip(PHASES[1:8], PHASES[:7]))
|
||||
predecessors['rollback-verify'] = 'rollback'
|
||||
if phase in predecessors:
|
||||
require(self.data['phases'].get(predecessors[phase], {}).get('state') == 'COMPLETE',
|
||||
'preceding phase is not verified complete')
|
||||
if phase == 'rollback':
|
||||
require('release' in self.data['phases'], 'rollback requires a recorded release attempt')
|
||||
self.data['phases'][phase] = {'state': 'RUNNING', 'approval': approval,
|
||||
'attempt_id': str(uuid.uuid4()),
|
||||
'started_at': datetime.datetime.now(datetime.timezone.utc).isoformat()}
|
||||
self.save()
|
||||
|
||||
def note(self, phase, key, value):
|
||||
require(self.data['phases'][phase]['state'] == 'RUNNING', 'phase intent missing')
|
||||
self.data['phases'][phase][key] = value
|
||||
self.save()
|
||||
|
||||
def finish(self, phase, result):
|
||||
entry = self.data['phases'][phase]
|
||||
require(entry['state'] == 'RUNNING', 'phase intent missing')
|
||||
entry['result'] = result
|
||||
entry['state'] = 'COMPLETE' if result.get('all_checks_pass') is True else 'UNCERTAIN'
|
||||
self.save()
|
||||
|
||||
def close(self):
|
||||
os.close(self.lock)
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,373 @@
|
|||
{
|
||||
"SchemaVersion": 2,
|
||||
"ArtifactType": "container_image",
|
||||
"Metadata": {
|
||||
"ImageID": "sha256:622becc3ebd97cb66b6e7c36f35bf931a7decd9464b65851123c1cc8c998d75b",
|
||||
"DiffIDs": [
|
||||
"sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c",
|
||||
"sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd",
|
||||
"sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366",
|
||||
"sha256:4098ad033525263f92a8a9c51865596025d47018e078c0b1f7d9cd5663fc1ffe",
|
||||
"sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1",
|
||||
"sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c",
|
||||
"sha256:361430a1113969743b99e237b20f023d5497493bcf96fb91af99ac0a0dbc4a59",
|
||||
"sha256:cfc5939674d67f60b4411c24dfcde5622b712eeb7376cd0941a2751da80a6b02",
|
||||
"sha256:21ff9188cb29ca95fe9be11355f70ab5586e8499e33b52a253d953fb3b75aea3",
|
||||
"sha256:115811e30e0bde3e5a482191a32028a4323bacde928f17e808760ad2899407d6",
|
||||
"sha256:08f4420173dc9f73d520ab9f1a08adeb802ab64d1e1a2f419af11ba2302b05ea"
|
||||
],
|
||||
"OS": {
|
||||
"Family": "alpine",
|
||||
"Name": "3.24.1"
|
||||
},
|
||||
"ImageConfig": {
|
||||
"rootfs": {
|
||||
"type": "layers",
|
||||
"diff_ids": [
|
||||
"sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c",
|
||||
"sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd",
|
||||
"sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366",
|
||||
"sha256:4098ad033525263f92a8a9c51865596025d47018e078c0b1f7d9cd5663fc1ffe",
|
||||
"sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1",
|
||||
"sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c",
|
||||
"sha256:361430a1113969743b99e237b20f023d5497493bcf96fb91af99ac0a0dbc4a59",
|
||||
"sha256:cfc5939674d67f60b4411c24dfcde5622b712eeb7376cd0941a2751da80a6b02",
|
||||
"sha256:21ff9188cb29ca95fe9be11355f70ab5586e8499e33b52a253d953fb3b75aea3",
|
||||
"sha256:115811e30e0bde3e5a482191a32028a4323bacde928f17e808760ad2899407d6",
|
||||
"sha256:08f4420173dc9f73d520ab9f1a08adeb802ab64d1e1a2f419af11ba2302b05ea"
|
||||
]
|
||||
},
|
||||
"config": {
|
||||
"Labels": {
|
||||
"org.opencontainers.image.base.digest": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a",
|
||||
"org.opencontainers.image.revision": "9b4bb25d325698ae543e7e8a8a3c3592db1f58fc",
|
||||
"social.coulomb.release.scope": "INFD-WP-0009-T05/zlib-85091-r1",
|
||||
"social.coulomb.source.context.sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d",
|
||||
"social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Results": [
|
||||
{
|
||||
"Class": "os-pkgs",
|
||||
"Type": "alpine",
|
||||
"Packages": [
|
||||
{
|
||||
"Name": ".python-rundeps",
|
||||
"Version": "20260901.001029",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/.python-rundeps@20260901.001029?arch=noarch&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "alpine-baselayout",
|
||||
"Version": "3.7.2-r1",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/alpine-baselayout@3.7.2-r1?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "alpine-baselayout-data",
|
||||
"Version": "3.7.2-r1",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/alpine-baselayout-data@3.7.2-r1?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "alpine-keys",
|
||||
"Version": "2.6-r0",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/alpine-keys@2.6-r0?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "alpine-release",
|
||||
"Version": "3.24.1-r0",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/alpine-release@3.24.1-r0?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "apk-tools",
|
||||
"Version": "3.0.6-r0",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/apk-tools@3.0.6-r0?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "busybox",
|
||||
"Version": "1.37.0-r31",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/busybox@1.37.0-r31?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "busybox-binsh",
|
||||
"Version": "1.37.0-r31",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "ca-certificates",
|
||||
"Version": "20260611-r0",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/ca-certificates@20260611-r0?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "ca-certificates-bundle",
|
||||
"Version": "20260611-r0",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/ca-certificates-bundle@20260611-r0?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "gdbm",
|
||||
"Version": "1.26-r0",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/gdbm@1.26-r0?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "keyutils-libs",
|
||||
"Version": "1.6.3-r4",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/keyutils-libs@1.6.3-r4?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "krb5-conf",
|
||||
"Version": "1.0-r2",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/krb5-conf@1.0-r2?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "krb5-libs",
|
||||
"Version": "1.22.2-r1",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/krb5-libs@1.22.2-r1?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "libapk",
|
||||
"Version": "3.0.6-r0",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/libapk@3.0.6-r0?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "libbz2",
|
||||
"Version": "1.0.8-r6",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/libbz2@1.0.8-r6?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "libcom_err",
|
||||
"Version": "1.47.4-r0",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/libcom_err@1.47.4-r0?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "libcrypto3",
|
||||
"Version": "3.5.8-r0",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "libffi",
|
||||
"Version": "3.5.2-r1",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/libffi@3.5.2-r1?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "libintl",
|
||||
"Version": "1.0-r0",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/libintl@1.0-r0?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "libncursesw",
|
||||
"Version": "6.6_p20260516-r0",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "libnsl",
|
||||
"Version": "2.0.1-r2",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/libnsl@2.0.1-r2?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "libpanelw",
|
||||
"Version": "6.6_p20260516-r0",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/libpanelw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "libssl3",
|
||||
"Version": "3.5.8-r0",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "libtirpc",
|
||||
"Version": "1.3.5-r1",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "libtirpc-conf",
|
||||
"Version": "1.3.5-r1",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/libtirpc-conf@1.3.5-r1?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "libuuid",
|
||||
"Version": "2.42.3-r1",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/libuuid@2.42.3-r1?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "libverto",
|
||||
"Version": "0.3.2-r2",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/libverto@0.3.2-r2?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "musl",
|
||||
"Version": "1.2.6-r2",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "musl-utils",
|
||||
"Version": "1.2.6-r2",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/musl-utils@1.2.6-r2?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "ncurses-terminfo-base",
|
||||
"Version": "6.6_p20260516-r0",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "readline",
|
||||
"Version": "8.3.3-r1",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/readline@8.3.3-r1?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "scanelf",
|
||||
"Version": "1.3.9-r1",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/scanelf@1.3.9-r1?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "sqlite-libs",
|
||||
"Version": "3.53.4-r0",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/sqlite-libs@3.53.4-r0?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "ssl_client",
|
||||
"Version": "1.37.0-r31",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/ssl_client@1.37.0-r31?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "tzdata",
|
||||
"Version": "2026c-r0",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/tzdata@2026c-r0?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "xz-libs",
|
||||
"Version": "5.8.3-r0",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/xz-libs@5.8.3-r0?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "zlib",
|
||||
"Version": "1.3.2-r1",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:apk/alpine/zlib@1.3.2-r1?arch=x86_64&distro=3.24.1"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Class": "lang-pkgs",
|
||||
"Type": "python-pkg",
|
||||
"Packages": [
|
||||
{
|
||||
"Name": "PyJWT",
|
||||
"Version": "2.15.1",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:pypi/pyjwt@2.15.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "cffi",
|
||||
"Version": "2.1.1",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:pypi/cffi@2.1.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "cryptography",
|
||||
"Version": "50.0.1",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:pypi/cryptography@50.0.1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "informed-decision",
|
||||
"Version": "0.2.0",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:pypi/informed-decision@0.2.0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "pycparser",
|
||||
"Version": "3.0",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:pypi/pycparser@3.0"
|
||||
}
|
||||
},
|
||||
{
|
||||
"Name": "waitress",
|
||||
"Version": "3.0.2",
|
||||
"Identifier": {
|
||||
"PURL": "pkg:pypi/waitress@3.0.2"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
{
|
||||
"review_id": "RPF-REVIEW-20261011-INFD-ZLIB-NATIVE-R2",
|
||||
"work_record": "RPF-IN-0009",
|
||||
"role": "railiance-platform technical owner only",
|
||||
"status": "changes-requested-batched-boundary-refinement",
|
||||
"release_manifest_sha256": "f170b34d8846919b18520264e7ba96e2ac11a3bce7899bc5710fcb0d22f4af29",
|
||||
"release_paths": 143,
|
||||
"published_manifest_sha256": "6ba2c341b496ab7f79f9c5fd33a92831c2f8db25d018a4b4e67d41e0af9c5bc9",
|
||||
"all143_source_hashes_and_plan_bindings_verified": true,
|
||||
"synthetic_test_methods_independently_passed": 25,
|
||||
"original_blockers_fixed": [
|
||||
"Remote signature and operation/snapshot payload plumbing.",
|
||||
"Exact ImageID622/source labels/11diffIDs/rootfs/44 canonical package identities/38OS6Python/zlibr1 report coverage and fresh DBNextUpdate/4h-zero requirement."
|
||||
],
|
||||
"remaining_findings": [
|
||||
{
|
||||
"id": "actual-pod-ephemeral-custody",
|
||||
"required": "Refuse unrelated nonempty ephemeralContainers before DB inspection and release write.",
|
||||
"independent_probe": "Synthetic privileged unrelated ephemeral container currently passes native gate and reaches one scoped patch."
|
||||
},
|
||||
{
|
||||
"id": "post-ready-output-custody",
|
||||
"required": "Bounded typed allowlist for actual canonical outcomes receipt; omit freeform notes/reasons/unknown fields and prove sentinel withholding.",
|
||||
"source_observation": "post-ready command emits entire review and nested disposition without field filtering; Product separately probed."
|
||||
},
|
||||
{
|
||||
"id": "recovery-authority-availability",
|
||||
"required": "Explicitly owner-reviewed bounded supervised recovery authority contract or truthful unavailable-service stop/recovery limitation; no implicit autonomous grant or global fresh-readback relaxation.",
|
||||
"source_observation": "Rollback still requires canonical native INFD outcomes <=120 seconds; failed candidate can make same authority service unreachable despite removing candidate Pod/DB prerequisites."
|
||||
}
|
||||
],
|
||||
"history": {
|
||||
"previous_owner_manifest_sha256": "60507a1000a216623a3d53b21e64c6f4569b1aa064781d3ac672a9fa130e813c",
|
||||
"previous74_owner_files_manifest_map_exact_archive": true,
|
||||
"current143_current_source_subset_archive": "reviewed-143-f170b34d; scope explicitly selected current files plus source manifest/mapping",
|
||||
"original67_fullsnapshot_absence_preserved": true
|
||||
},
|
||||
"scope_limits": {
|
||||
"technical_agreement": false,
|
||||
"native_actions": false,
|
||||
"private_database_access": false,
|
||||
"credentials_read": false,
|
||||
"owner_source_write": false,
|
||||
"push": false,
|
||||
"human_approval": false,
|
||||
"T05_complete": false,
|
||||
"other_owner_role": false
|
||||
},
|
||||
"proposed_recovery_refinement_awaiting_code_review_and_new_founder_decision": {
|
||||
"actor": "root explicit preparation choice",
|
||||
"prior_acceptance": "independently root-confirmed exact same new decision retained before this release only",
|
||||
"bounds": "at most30minutes after release and before2026-10-12T23:59:59Z",
|
||||
"scope": "manual supervised763/sourcec96 Deployment-only latest current schema5 database retaining rollback; exact source/image/UID/config/PVC/journal pins",
|
||||
"requires": "unavailable transport or502/503/504 evidence AND failed candidate placement",
|
||||
"forbidden": [
|
||||
"401",
|
||||
"403",
|
||||
"explicit revocation",
|
||||
"invalid signature",
|
||||
"conflict",
|
||||
"backup fallback",
|
||||
"release fallback",
|
||||
"signed or autonomous grant"
|
||||
],
|
||||
"disclosure": "Later revocation cannot be queried while service unavailable; new human proposal must expressly permit bounded recovery.",
|
||||
"status": "not yet implemented/reviewed/approved"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,800 @@
|
|||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "List",
|
||||
"items": [
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ServiceAccount",
|
||||
"metadata": {
|
||||
"name": "review",
|
||||
"namespace": "informed-decision",
|
||||
"annotations": {
|
||||
"informed-decision.coulomb.social/admission": "review-only; INFD-WP-0001-T08"
|
||||
}
|
||||
},
|
||||
"automountServiceAccountToken": false
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "PersistentVolumeClaim",
|
||||
"metadata": {
|
||||
"name": "informed-decision-data",
|
||||
"namespace": "informed-decision",
|
||||
"annotations": {
|
||||
"informed-decision.coulomb.social/admission": "review-only; INFD-WP-0001-T08"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"accessModes": [
|
||||
"ReadWriteOnce"
|
||||
],
|
||||
"storageClassName": "local-path",
|
||||
"resources": {
|
||||
"requests": {
|
||||
"storage": "1Gi"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
"metadata": {
|
||||
"name": "informed-decision-runtime-6c221878d051",
|
||||
"namespace": "informed-decision",
|
||||
"annotations": {
|
||||
"informed-decision.coulomb.social/admission": "review-only; INFD-WP-0001-T08"
|
||||
}
|
||||
},
|
||||
"immutable": true,
|
||||
"data": {
|
||||
"runtime.json": "{\"approval_origin\":\"http://approval-engine.approval-engine.svc.cluster.local:8080\",\"audit\":{\"origin\":\"http://audit-core.audit-core.svc.cluster.local:8080\",\"sender_token_file\":\"/var/run/secrets/informed-decision/audit/token\"},\"evidence_db\":\"/data/private/review.sqlite\",\"intake_attributes\":true,\"intake_delivery\":{\"hub_origin\":\"http://state-hub.state-hub.svc.cluster.local:8000\"},\"lifecycle_delivery\":true,\"lifecycle_policy\":{\"caller_token_file\":\"/var/run/secrets/informed-decision/policy/token\",\"origin\":\"http://flex-auth-informed-decision-lifecycle.flex-auth.svc.cluster.local:8080\",\"package\":\"informed-decision.lifecycle\",\"package_digest\":\"sha256:da01e045fc108adec6b489e5d51f7e57366793016c5a64776963780a6aae457c\",\"version\":\"v2\"},\"ordinary_approval_ids\":[\"2ce76d7f-01c3-4b63-8476-8d1230679769\",\"c2af4bcf-15b4-4305-aac1-acc7e4dcb099\",\"dc22666a-d5d7-46bc-9490-ebe9fe09dc38\"],\"policy\":{\"caller_token_file\":\"/var/run/secrets/informed-decision/policy/token\",\"origin\":\"http://flex-auth-informed-decision-sitting.flex-auth.svc.cluster.local:8080\",\"package\":\"informed-decision.compact-sitting\",\"package_digest\":\"sha256:31be5985c0c1e6b0c3a039ed7310d1e94daf523a94f6d926e6e8d759d3711873\",\"version\":\"v13\"},\"schema\":\"informed-decision.review-runtime.v1\",\"workload_api\":{\"intake\":{\"groups_file\":\"/workload-registry/review-groups.json\",\"secret_file\":\"/var/run/secrets/informed-decision/requester/client-secret\",\"submitters_file\":\"/workload-registry/intake-submitters.json\"},\"lifecycle_callers_file\":\"/workload-registry/lifecycle-callers.json\",\"token_review\":{\"ca_file\":\"/var/run/secrets/informed-decision/kubernetes/ca.crt\",\"origin\":\"https://kubernetes.default.svc:443\",\"token_file\":\"/var/run/secrets/informed-decision/kubernetes/token\"}}}"
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
"metadata": {
|
||||
"name": "informed-decision",
|
||||
"namespace": "informed-decision",
|
||||
"annotations": {
|
||||
"informed-decision.coulomb.social/admission": "review-only; INFD-WP-0001-T08"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"replicas": 1,
|
||||
"strategy": {
|
||||
"type": "Recreate"
|
||||
},
|
||||
"progressDeadlineSeconds": 600,
|
||||
"selector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "informed-decision"
|
||||
}
|
||||
},
|
||||
"template": {
|
||||
"metadata": {
|
||||
"labels": {
|
||||
"app.kubernetes.io/name": "informed-decision",
|
||||
"app.kubernetes.io/component": "review"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"automountServiceAccountToken": false,
|
||||
"serviceAccountName": "review",
|
||||
"terminationGracePeriodSeconds": 45,
|
||||
"securityContext": {
|
||||
"runAsNonRoot": true,
|
||||
"runAsUser": 10001,
|
||||
"runAsGroup": 10001,
|
||||
"fsGroup": 10001,
|
||||
"fsGroupChangePolicy": "OnRootMismatch",
|
||||
"seccompProfile": {
|
||||
"type": "RuntimeDefault"
|
||||
}
|
||||
},
|
||||
"containers": [
|
||||
{
|
||||
"name": "informed-decision",
|
||||
"image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23",
|
||||
"securityContext": {
|
||||
"allowPrivilegeEscalation": false,
|
||||
"readOnlyRootFilesystem": true,
|
||||
"capabilities": {
|
||||
"drop": [
|
||||
"ALL"
|
||||
]
|
||||
}
|
||||
},
|
||||
"env": [
|
||||
{
|
||||
"name": "INFD_KEYCAPE_ISSUER",
|
||||
"value": "https://kc.coulomb.social"
|
||||
},
|
||||
{
|
||||
"name": "INFD_CONTAINER_CONFIG",
|
||||
"value": "/configuration/runtime.json"
|
||||
}
|
||||
],
|
||||
"ports": [
|
||||
{
|
||||
"name": "http",
|
||||
"containerPort": 8080
|
||||
},
|
||||
{
|
||||
"name": "workload",
|
||||
"containerPort": 8081
|
||||
}
|
||||
],
|
||||
"startupProbe": {
|
||||
"httpGet": {
|
||||
"path": "/healthz",
|
||||
"port": "http"
|
||||
},
|
||||
"periodSeconds": 10,
|
||||
"timeoutSeconds": 2,
|
||||
"failureThreshold": 12
|
||||
},
|
||||
"readinessProbe": {
|
||||
"httpGet": {
|
||||
"path": "/healthz",
|
||||
"port": "http"
|
||||
},
|
||||
"periodSeconds": 10,
|
||||
"timeoutSeconds": 2
|
||||
},
|
||||
"livenessProbe": {
|
||||
"httpGet": {
|
||||
"path": "/healthz",
|
||||
"port": "http"
|
||||
},
|
||||
"periodSeconds": 10,
|
||||
"timeoutSeconds": 2
|
||||
},
|
||||
"resources": {
|
||||
"requests": {
|
||||
"cpu": "5m",
|
||||
"memory": "64Mi"
|
||||
},
|
||||
"limits": {
|
||||
"cpu": "500m",
|
||||
"memory": "256Mi"
|
||||
}
|
||||
},
|
||||
"volumeMounts": [
|
||||
{
|
||||
"name": "data",
|
||||
"mountPath": "/data"
|
||||
},
|
||||
{
|
||||
"name": "runtime",
|
||||
"mountPath": "/run/informed-decision"
|
||||
},
|
||||
{
|
||||
"name": "tmp",
|
||||
"mountPath": "/tmp"
|
||||
},
|
||||
{
|
||||
"name": "configuration",
|
||||
"mountPath": "/configuration",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"name": "caller",
|
||||
"mountPath": "/var/run/secrets/informed-decision/policy",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"name": "audit",
|
||||
"mountPath": "/var/run/secrets/informed-decision/audit",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"name": "kubernetes-api",
|
||||
"mountPath": "/var/run/secrets/informed-decision/kubernetes",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"name": "workload-registry",
|
||||
"mountPath": "/workload-registry",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"name": "sitting-requester",
|
||||
"mountPath": "/var/run/secrets/informed-decision/requester",
|
||||
"readOnly": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"volumes": [
|
||||
{
|
||||
"name": "data",
|
||||
"persistentVolumeClaim": {
|
||||
"claimName": "informed-decision-data"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "runtime",
|
||||
"emptyDir": {
|
||||
"medium": "Memory",
|
||||
"sizeLimit": "16Mi"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "tmp",
|
||||
"emptyDir": {
|
||||
"medium": "Memory",
|
||||
"sizeLimit": "16Mi"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "configuration",
|
||||
"configMap": {
|
||||
"name": "informed-decision-runtime-6c221878d051",
|
||||
"defaultMode": 292
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "caller",
|
||||
"projected": {
|
||||
"defaultMode": 288,
|
||||
"sources": [
|
||||
{
|
||||
"serviceAccountToken": {
|
||||
"path": "token",
|
||||
"audience": "flex-auth",
|
||||
"expirationSeconds": 3600
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "audit",
|
||||
"secret": {
|
||||
"secretName": "informed-decision-audit",
|
||||
"defaultMode": 288,
|
||||
"items": [
|
||||
{
|
||||
"key": "token",
|
||||
"path": "token"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "kubernetes-api",
|
||||
"projected": {
|
||||
"defaultMode": 288,
|
||||
"sources": [
|
||||
{
|
||||
"serviceAccountToken": {
|
||||
"path": "token",
|
||||
"expirationSeconds": 600
|
||||
}
|
||||
},
|
||||
{
|
||||
"configMap": {
|
||||
"name": "kube-root-ca.crt",
|
||||
"items": [
|
||||
{
|
||||
"key": "ca.crt",
|
||||
"path": "ca.crt"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "workload-registry",
|
||||
"configMap": {
|
||||
"name": "informed-decision-workload-registry",
|
||||
"defaultMode": 292
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "sitting-requester",
|
||||
"secret": {
|
||||
"secretName": "informed-decision-sitting-requester",
|
||||
"defaultMode": 288,
|
||||
"optional": false,
|
||||
"items": [
|
||||
{
|
||||
"key": "client-secret",
|
||||
"path": "client-secret"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Service",
|
||||
"metadata": {
|
||||
"name": "informed-decision",
|
||||
"namespace": "informed-decision",
|
||||
"annotations": {
|
||||
"informed-decision.coulomb.social/admission": "review-only; INFD-WP-0001-T08"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"type": "ClusterIP",
|
||||
"selector": {
|
||||
"app.kubernetes.io/name": "informed-decision",
|
||||
"app.kubernetes.io/component": "review"
|
||||
},
|
||||
"ports": [
|
||||
{
|
||||
"name": "http",
|
||||
"port": 80,
|
||||
"targetPort": "http",
|
||||
"protocol": "TCP"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "networking.k8s.io/v1",
|
||||
"kind": "NetworkPolicy",
|
||||
"metadata": {
|
||||
"name": "informed-decision-review",
|
||||
"namespace": "informed-decision",
|
||||
"annotations": {
|
||||
"informed-decision.coulomb.social/admission": "review-only; INFD-WP-0001-T08"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"podSelector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "informed-decision",
|
||||
"app.kubernetes.io/component": "review"
|
||||
}
|
||||
},
|
||||
"policyTypes": [
|
||||
"Ingress",
|
||||
"Egress"
|
||||
],
|
||||
"ingress": [
|
||||
{
|
||||
"from": [
|
||||
{
|
||||
"namespaceSelector": {
|
||||
"matchLabels": {
|
||||
"kubernetes.io/metadata.name": "kube-system"
|
||||
}
|
||||
},
|
||||
"podSelector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "traefik"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"ports": [
|
||||
{
|
||||
"protocol": "TCP",
|
||||
"port": 8080
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"from": [
|
||||
{
|
||||
"namespaceSelector": {
|
||||
"matchLabels": {
|
||||
"kubernetes.io/metadata.name": "state-hub"
|
||||
}
|
||||
},
|
||||
"podSelector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "state-hub"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"ports": [
|
||||
{
|
||||
"protocol": "TCP",
|
||||
"port": 8081
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"egress": [
|
||||
{
|
||||
"to": [
|
||||
{
|
||||
"namespaceSelector": {
|
||||
"matchLabels": {
|
||||
"kubernetes.io/metadata.name": "kube-system"
|
||||
}
|
||||
},
|
||||
"podSelector": {
|
||||
"matchLabels": {
|
||||
"k8s-app": "kube-dns"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"ports": [
|
||||
{
|
||||
"protocol": "UDP",
|
||||
"port": 53
|
||||
},
|
||||
{
|
||||
"protocol": "TCP",
|
||||
"port": 53
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"to": [
|
||||
{
|
||||
"namespaceSelector": {
|
||||
"matchLabels": {
|
||||
"kubernetes.io/metadata.name": "approval-engine"
|
||||
}
|
||||
},
|
||||
"podSelector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "approval-engine"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"namespaceSelector": {
|
||||
"matchLabels": {
|
||||
"kubernetes.io/metadata.name": "audit-core"
|
||||
}
|
||||
},
|
||||
"podSelector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "audit-core"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"namespaceSelector": {
|
||||
"matchLabels": {
|
||||
"kubernetes.io/metadata.name": "flex-auth"
|
||||
}
|
||||
},
|
||||
"podSelector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "flex-auth-informed-decision-sitting"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"namespaceSelector": {
|
||||
"matchLabels": {
|
||||
"kubernetes.io/metadata.name": "flex-auth"
|
||||
}
|
||||
},
|
||||
"podSelector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "flex-auth-informed-decision-lifecycle"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"ports": [
|
||||
{
|
||||
"protocol": "TCP",
|
||||
"port": 8080
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"to": [
|
||||
{
|
||||
"namespaceSelector": {
|
||||
"matchLabels": {
|
||||
"kubernetes.io/metadata.name": "kube-system"
|
||||
}
|
||||
},
|
||||
"podSelector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "traefik"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"ports": [
|
||||
{
|
||||
"protocol": "TCP",
|
||||
"port": 8443
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"to": [
|
||||
{
|
||||
"ipBlock": {
|
||||
"cidr": "92.205.62.239/32"
|
||||
}
|
||||
}
|
||||
],
|
||||
"ports": [
|
||||
{
|
||||
"protocol": "TCP",
|
||||
"port": 443
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"to": [
|
||||
{
|
||||
"namespaceSelector": {
|
||||
"matchLabels": {
|
||||
"kubernetes.io/metadata.name": "state-hub"
|
||||
}
|
||||
},
|
||||
"podSelector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "state-hub"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"ports": [
|
||||
{
|
||||
"protocol": "TCP",
|
||||
"port": 8000
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"to": [
|
||||
{
|
||||
"ipBlock": {
|
||||
"cidr": "10.43.0.1/32"
|
||||
}
|
||||
}
|
||||
],
|
||||
"ports": [
|
||||
{
|
||||
"protocol": "TCP",
|
||||
"port": 443
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"to": [
|
||||
{
|
||||
"ipBlock": {
|
||||
"cidr": "92.205.62.239/32"
|
||||
}
|
||||
}
|
||||
],
|
||||
"ports": [
|
||||
{
|
||||
"protocol": "TCP",
|
||||
"port": 6443
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "Service",
|
||||
"metadata": {
|
||||
"name": "informed-decision-workload",
|
||||
"namespace": "informed-decision",
|
||||
"annotations": {
|
||||
"informed-decision.coulomb.social/admission": "review-only; INFD-WP-0001-T08"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"type": "ClusterIP",
|
||||
"selector": {
|
||||
"app.kubernetes.io/name": "informed-decision",
|
||||
"app.kubernetes.io/component": "review"
|
||||
},
|
||||
"ports": [
|
||||
{
|
||||
"name": "workload",
|
||||
"port": 8081,
|
||||
"targetPort": "workload",
|
||||
"protocol": "TCP"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "rbac.authorization.k8s.io/v1",
|
||||
"kind": "ClusterRole",
|
||||
"metadata": {
|
||||
"name": "informed-decision-tokenreview",
|
||||
"annotations": {
|
||||
"informed-decision.coulomb.social/admission": "proposal; INFD-WP-0007/INFD-WP-0005 owner review required"
|
||||
}
|
||||
},
|
||||
"rules": [
|
||||
{
|
||||
"apiGroups": [
|
||||
"authentication.k8s.io"
|
||||
],
|
||||
"resources": [
|
||||
"tokenreviews"
|
||||
],
|
||||
"verbs": [
|
||||
"create"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"apiVersion": "rbac.authorization.k8s.io/v1",
|
||||
"kind": "ClusterRoleBinding",
|
||||
"metadata": {
|
||||
"name": "informed-decision-tokenreview",
|
||||
"annotations": {
|
||||
"informed-decision.coulomb.social/admission": "proposal; INFD-WP-0007/INFD-WP-0005 owner review required"
|
||||
}
|
||||
},
|
||||
"roleRef": {
|
||||
"apiGroup": "rbac.authorization.k8s.io",
|
||||
"kind": "ClusterRole",
|
||||
"name": "informed-decision-tokenreview"
|
||||
},
|
||||
"subjects": [
|
||||
{
|
||||
"kind": "ServiceAccount",
|
||||
"name": "review",
|
||||
"namespace": "informed-decision"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"apiVersion": "networking.k8s.io/v1",
|
||||
"kind": "NetworkPolicy",
|
||||
"metadata": {
|
||||
"name": "informed-decision-review-ingress",
|
||||
"namespace": "approval-engine",
|
||||
"annotations": {
|
||||
"informed-decision.coulomb.social/admission": "review-only; INFD-WP-0001-T08",
|
||||
"informed-decision.coulomb.social/owner-review": "APPROVAL-WP-0002-T01"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"podSelector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "approval-engine"
|
||||
}
|
||||
},
|
||||
"policyTypes": [
|
||||
"Ingress"
|
||||
],
|
||||
"ingress": [
|
||||
{
|
||||
"from": [
|
||||
{
|
||||
"namespaceSelector": {
|
||||
"matchLabels": {
|
||||
"kubernetes.io/metadata.name": "informed-decision"
|
||||
}
|
||||
},
|
||||
"podSelector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "informed-decision",
|
||||
"app.kubernetes.io/component": "review"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"ports": [
|
||||
{
|
||||
"protocol": "TCP",
|
||||
"port": 8080
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "networking.k8s.io/v1",
|
||||
"kind": "NetworkPolicy",
|
||||
"metadata": {
|
||||
"name": "informed-decision-review-ingress",
|
||||
"namespace": "flex-auth",
|
||||
"annotations": {
|
||||
"informed-decision.coulomb.social/admission": "review-only; INFD-WP-0001-T08",
|
||||
"informed-decision.coulomb.social/owner-review": "INFD-WP-0001-T08 policy-owner return"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"podSelector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "flex-auth-informed-decision-sitting"
|
||||
}
|
||||
},
|
||||
"policyTypes": [
|
||||
"Ingress"
|
||||
],
|
||||
"ingress": [
|
||||
{
|
||||
"from": [
|
||||
{
|
||||
"namespaceSelector": {
|
||||
"matchLabels": {
|
||||
"kubernetes.io/metadata.name": "informed-decision"
|
||||
}
|
||||
},
|
||||
"podSelector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "informed-decision",
|
||||
"app.kubernetes.io/component": "review"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"ports": [
|
||||
{
|
||||
"protocol": "TCP",
|
||||
"port": 8080
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"apiVersion": "networking.k8s.io/v1",
|
||||
"kind": "NetworkPolicy",
|
||||
"metadata": {
|
||||
"name": "informed-decision-lifecycle-ingress",
|
||||
"namespace": "flex-auth",
|
||||
"annotations": {
|
||||
"informed-decision.coulomb.social/admission": "review-only; INFD-WP-0001-T08",
|
||||
"informed-decision.coulomb.social/owner-review": "INFD-WP-0007 lifecycle policy-owner return"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"podSelector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "flex-auth-informed-decision-lifecycle"
|
||||
}
|
||||
},
|
||||
"policyTypes": [
|
||||
"Ingress"
|
||||
],
|
||||
"ingress": [
|
||||
{
|
||||
"from": [
|
||||
{
|
||||
"namespaceSelector": {
|
||||
"matchLabels": {
|
||||
"kubernetes.io/metadata.name": "informed-decision"
|
||||
}
|
||||
},
|
||||
"podSelector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "informed-decision",
|
||||
"app.kubernetes.io/component": "review"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"ports": [
|
||||
{
|
||||
"protocol": "TCP",
|
||||
"port": 8080
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
{
|
||||
"all_checks_pass": true,
|
||||
"observed_at": "2026-10-11T09:40:15.540874+00:00",
|
||||
"native_changed": false,
|
||||
"protected_database_read": false,
|
||||
"secret_read": false,
|
||||
"deployment_generation": 25,
|
||||
"ready_replicas": 1,
|
||||
"argo": {
|
||||
"uid": "499868f2-eabc-4df4-ae31-b89ce58d750d",
|
||||
"source": {
|
||||
"path": "deploy/lifecycle",
|
||||
"repoURL": "https://forgejo.coulomb.social/coulomb/informed-decision.git",
|
||||
"targetRevision": "c96b0c6d881e855d1d158003c6de90ef390262e2"
|
||||
},
|
||||
"destination": {
|
||||
"namespace": "informed-decision",
|
||||
"server": "https://kubernetes.default.svc"
|
||||
},
|
||||
"automated": false,
|
||||
"health": {
|
||||
"lastTransitionTime": "2026-10-11T07:00:42Z",
|
||||
"status": "Healthy"
|
||||
},
|
||||
"sync": {
|
||||
"comparedTo": {
|
||||
"destination": {
|
||||
"namespace": "informed-decision",
|
||||
"server": "https://kubernetes.default.svc"
|
||||
},
|
||||
"source": {
|
||||
"path": "deploy/lifecycle",
|
||||
"repoURL": "https://forgejo.coulomb.social/coulomb/informed-decision.git",
|
||||
"targetRevision": "c96b0c6d881e855d1d158003c6de90ef390262e2"
|
||||
}
|
||||
},
|
||||
"revision": "c96b0c6d881e855d1d158003c6de90ef390262e2",
|
||||
"status": "OutOfSync"
|
||||
}
|
||||
},
|
||||
"server_dry_run_passed": true,
|
||||
"admission_only_image_delta": true,
|
||||
"client_diff_exit": 1,
|
||||
"client_diff_sha256": "ccff7c1ecfd9eb59fc0ce566c1013a2af5df514af048c68474a272997024ef7b",
|
||||
"allocatable_cpu_m": 4000,
|
||||
"requested_cpu_m": 3460,
|
||||
"strategy": "Recreate",
|
||||
"full_receipt_sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9",
|
||||
"full_receipt_path": "native-preflight-full.json",
|
||||
"projection_reference_files": {
|
||||
"sealed_live_deployment": "sealed-live-deployment.json",
|
||||
"sealed_dependencies": "sealed-native-dependencies.json",
|
||||
"candidate_deployment": "candidate-deployment.json"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,101 @@
|
|||
{
|
||||
"id": "infd-20261011-zlib-remediation-r1",
|
||||
"version": 1,
|
||||
"question": "Approve the exact zlib85091 fixed image-only release, new protected backup/restore compatibility drill and database-preserving rollback?",
|
||||
"requested_act": "approve",
|
||||
"binding_level": "organizational",
|
||||
"brief": "Published owner CI image f558 has zero full-scan findings across44packages; only zlib1.3.2-r0 to r1 changes. Fresh schema5 private backup/isolated clone drill and cutover snapshot precede one Deployment manual prune=false Recreate sync. Separate founder go required; old T04 acceptance/history unchanged. Rollback image763c/Applicationc96 retains latestDB. Release reserves30minutes before Oct12 deadline.",
|
||||
"binding": {
|
||||
"principal": {
|
||||
"id": "pending-human-session",
|
||||
"kind": "person",
|
||||
"display_name": "Founder review"
|
||||
},
|
||||
"target": {
|
||||
"kind": "environment",
|
||||
"id": "realm:kubernetes/railiance01/informed-decision",
|
||||
"label": "Informed Decision zlib85091 image-only remediation on railiance01",
|
||||
"environment": "production"
|
||||
},
|
||||
"terms": "Approve only INFD-WP-0009-T05/zlib85091-r1 trialinfd-zlib-20261011-r1 and exact attached digests: new private drillbackup/copy, isolatedschema5pre/admin/postintegrityandcounts, exactcreatedclonecleanup, freshcutoverbackup/copy, manualfinalsourceDeployment-onlyimagef558/prune=false. ImmutableCM/PVC/config/credentials/audience/resources sealed. Freshrootnativeauthenticated confirmed founderACCEPTsource1 beforeeveryphase; receiptsarebookkeeping/noautonomousgrant. Rollbackonlyimage763c/Applicationc96 preserveslatestDB, separateverification. AllphasesbeginbeforeOct12 23:59:59Z; releasereserves30minutes; newdecisionbeyond. ExistingT04UNCERTAINEvidenceunaltered, nooldhelperamendment/phase retry, noresidualpromotion ordoctrinechange."
|
||||
},
|
||||
"step_kind": "approve",
|
||||
"packet": [
|
||||
{
|
||||
"item_id": "decision-packet-md",
|
||||
"label": "decision-packet.md",
|
||||
"hash": "sha256:763f30c1433d1ca872b029519ec46ad1b97c47d60b7ea0eea0275a2c6b647dc3"
|
||||
},
|
||||
{
|
||||
"item_id": "proposal-json",
|
||||
"label": "proposal.json",
|
||||
"hash": "sha256:48b0f0baf4efc239111411ad7d1c291f8eceaa0ddf1414dac73d49ccdb3bbe70"
|
||||
},
|
||||
{
|
||||
"item_id": "native-backup-restore-protocol-md",
|
||||
"label": "native-backup-restore-protocol.md",
|
||||
"hash": "sha256:f586a511c1921490185bab95334f27de6d3cca20b348df20d18bcb9257d7ae35"
|
||||
},
|
||||
{
|
||||
"item_id": "native-preflight-json",
|
||||
"label": "native-preflight.json",
|
||||
"hash": "sha256:56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"item_id": "published-verification-json",
|
||||
"label": "published-verification.json",
|
||||
"hash": "sha256:dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"item_id": "artifact-comparison-json",
|
||||
"label": "artifact-comparison.json",
|
||||
"hash": "sha256:a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"item_id": "installed-zlib-proof-json",
|
||||
"label": "installed-zlib-proof.json",
|
||||
"hash": "sha256:6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"item_id": "sealed-live-deployment-json",
|
||||
"label": "sealed-live-deployment.json",
|
||||
"hash": "sha256:f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"item_id": "sealed-native-dependencies-json",
|
||||
"label": "sealed-native-dependencies.json",
|
||||
"hash": "sha256:042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"item_id": "candidate-deployment-json",
|
||||
"label": "candidate-deployment.json",
|
||||
"hash": "sha256:487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"item_id": "rollback-deployment-json",
|
||||
"label": "rollback-deployment.json",
|
||||
"hash": "sha256:f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"item_id": "execution-plan-json",
|
||||
"label": "execution-plan.json",
|
||||
"hash": "sha256:9b458e2b4d418525987b6cb1b9a160c4b1a2c621625c1b5c571ea5c77e9d4361"
|
||||
}
|
||||
],
|
||||
"highlights": [
|
||||
{
|
||||
"id": "protected-drill-and-recreate",
|
||||
"item_id": "decision-packet-md",
|
||||
"note": "This new T05 decision authorizes protected real-data backup/copy and no-network same-schema restore drill plus brief Recreate image release. Scan0 is actual published44package result, not installed acceptance. Rollback preserves latestDB; priorfailedT04evidence retained. No oldapprovalreuse. Allphase starts expireOct12; release reserves30minutesforrecovery; noautomaticextension.",
|
||||
"required_ack": true,
|
||||
"severity": "warning",
|
||||
"locator": {
|
||||
"kind": "section",
|
||||
"heading": "Requested decision"
|
||||
}
|
||||
}
|
||||
],
|
||||
"sealed": false,
|
||||
"approval_id": null,
|
||||
"approval_binding_digest": null
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
# T05 zlib85091 release — preliminary, unapproved
|
||||
|
||||
This is a distinct proposal/trial for existing INFD-WP-0009-T05. The actual T04 source2 acceptance does not authorize it. Previous R1 copy and R2 verify UNCERTAIN journal states remain untouched. INFD-IN-0010 remains an unpromoted general verifier residual; this new task-specific verifier is a prerequisite of active T05, not an amendment of the old approved helper.
|
||||
|
||||
Exact intended image f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23 was built by admitted owner CI11534/run4 from 9b4bb25d325698ae543e7e8a8a3c3592db1f58fc. Publication is not installed acceptance. Final packet requires independent published-image scan/runtime/filesystem/source proof and fresh read-only native projection/one-object dry-run evidence. Until all final inputs and independent owner acknowledgments are frozen, execution-plan state remains preliminary and the actuator refuses before any authority, journal or native action.
|
||||
|
||||
After a NEW exact confirmed founder acceptance, root freshly authenticates fixed-origin native source-version1 outcomes before each phase. Receipt files are supervised bookkeeping, not signed grants or autonomy. Wrong task, source, memo/version, stale/pending/agent disposition, old T04 acceptance or changed inputs refuse. Root retains exact approved source revision/digests and action results in supervision. Approval does not promote any agent.
|
||||
|
||||
Fixed phase order: drill-backup → drill-copy → offline-verify → cleanup-offline → cutover-backup → cutover-copy → release → verify. New private native /data/private/zlib85091-r1, root .private-backups/20261011-infd-zlib-r1 and local volume infd-zlib-r1-restore-20261011 are distinct from all T04 custody. New private journal intent is fsynced RUNNING before dispatch; no attempted phase replay. Fixed output schema contains only counts, hashes, object identity and boolean results; raw errors and private content are withheld. Existing native snapshots/database/sidecars are never removed or restored over current data.
|
||||
|
||||
Fresh backup inspection uses copied explicit-close SQLite helpers: live and offline clone readers are mode=ro/query_only and WAL-aware, before any Store/admin open. Immutable reader is used only for freshly closed hash-bound private snapshot with absent/zero WAL frames and stable identity/metadata/digest before/after read/copy. Main and sidecars remain retained. Schema must equal5, integrity ok, and exact snapshot/isolated clone counts match before/admin/after. The detached local clone has network none, readonly root, no service/runtime config/credential mounts; only narrowly scoped UID0 CAP_CHOWN initializer precedes UID10001 reads/admin. Original private copy is hash-stable. Cleanup removes only the disposable volume whose nonce/labels/creation metadata match this trial, before cutover.
|
||||
|
||||
Each snapshot is bounded512MiB. At most two new snapshots occupy each native/offcluster custody (1GiB payload each); the disposable offcluster clone adds512MiB while present, plus16MiB sidecar/metadata reserve. New native drill phase checks free space for both; local custody checks two snapshot bounds plus reserve. Existing T04 retention consumes additional pre-existing space. EUR0 recurring infrastructure estimate; human/compute time unpriced.
|
||||
|
||||
Cutover takes a fresh native backup and exact offcluster copy. Release then requires latest schema5 readonly proof, sealed Pod/Deployment/config/PVC custody and same baseline image763c/current Application sourcec96, a healthy single target92.205.62.239 node and fresh requested CPU ≤ allocatable capacity. Recreate and resources remain unchanged. Server dry-run/client diff must show only the image. Application UID/resourceVersion/source CAS dispatches manual exact final revision, initiatedBy custodian-codex, explicit prune=false and only apps/Deployment informed-decision in its namespace. No whole-Application sync, namespace/config/credential/resource change or pruning.
|
||||
|
||||
Verification reads imageID/readiness/owner chain/exact configured Pod fields, schema5/integrity/metadata counts, installed policy hash and synthetic purpose refusals, health200, installed fixed zlib and exact image proof. After exact candidate Ready and verified rollout, root executes attached post-ready-native-outcomes-command.py inside the existing admitted StateHub Pod. It calls canonical lifecycle.outcomes for infd-20261011-zlib-remediation-r1 SOURCEversion1 at dispatcher fixed ORIGIN with NoRedirect/proxy disabled; existing internal token_file stays inside that Pod and no token/body/private content is exported. Root retains bounded HTTP-success metadata/observationtime and correlates verified candidate PodUID/image/source, then rechecks those identities. This actual provider/PDP-gated preservation proof is separate from installed synthetic2allow8refuse; both are required before task closure. It does not assert provider advisory emissions or new doctrine. Argo3.5.3 omits false prune in operation status: missing or exactfalse is accepted only together with this journal's COMPLETE explicitfalse request, exact source/resources/initiation, operation start after our durable attempt, bounded finish and one Synced Deployment result. True/null/string/prior/foreign/extra-resource results refuse.
|
||||
|
||||
Rollback → rollback-verify is separate and permitted only after a recorded release attempt. It switches only Application source back to c96 and Deployment image763c; it never restores an old snapshot over the latest database. Recovery dispatch works even if candidate Pod is absent/unready and never depends on candidate DB inspection. Recovery verification separately requires Ready1/old image/current schema5/data-custody and exact recorded scoped completion. All phases must begin before2026-10-12T23:59:59Z; release must begin at least30minutes earlier. Beyond expiry stop and obtain a new founder decision; no automatic extension or emergency grant. A failed/uncertain attempt requires informed recovery rather than retry.
|
||||
|
||||
T05 remains progress until actual installed acceptance and native rescan prove the finding absent. No Risk Engine grade is assigned. Only then may owner close T05/risk and consider finishing WP9, with existing residuals live first.
|
||||
|
||||
Actual release and installed verification also require fixed private root scan receipt and retained fullreport at /tmp/security-infd-zlib-fresh-scan-{receipt,full}.json, supervised metadata binding to exact immutablef558/artifactsource9b4/scannerdigest62b1. Before journal start, fullreporthash must match, no suppression/allseverity flags true, exit0, nonempty valid fullresults contain zero findings, scan completed within4hours and now precedes DB NextUpdate. The published DB expires2026-10-11T18:59:50Z; it is not valid until release deadline. Root refreshes DB and rescans the same immutable image as routine read-only verification when needed, retaining all raw publicscan artifacts. Any new finding refuses release/closure and is retained for informed reassessment/new decision as needed, never filtered or ignored. Existing risk stays open until actual installed proof/native rescan.
|
||||
|
||||
Refinement preserves reviewed81/source bytes and exactdraft29 complete archives. Initial67 manifest hash is known but exact original67manifest/source snapshot was not retained before81; preparation-failure-history.json discloses this. No priornativeeffect occurred. New full CLI synthetic tests exercise main sourcehash/receipt/journal/dispatch wiring for drill-copy,release,verify and refuse source drift before newjournal/native boundary. Remote payload carries exact frozen snapshot identity and completed release intent. Full scan contract additionally requires SchemaVersion2/container_image, published configImageID622 (not daemonserializationf2), exact11DiffIDs/rootfs/source/contextlabels, exactly38OS+6Python packages with canonicalPURL/version inventory, fixedzlibr1 and no omissions/duplicates/truncated/emptycoverage. Archive scan RepoDigests absent is legitimate; not fabricated.
|
||||
|
|
@ -0,0 +1,147 @@
|
|||
[
|
||||
{
|
||||
"original_path": "deploy/lifecycle/admission.candidate.json",
|
||||
"original_sha256": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/admission.candidate.json"
|
||||
},
|
||||
{
|
||||
"original_path": "deploy/lifecycle/kustomization.yaml",
|
||||
"original_sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/kustomization.yaml"
|
||||
},
|
||||
{
|
||||
"original_path": "deploy/lifecycle/registries.candidate.json",
|
||||
"original_sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/registries.candidate.json"
|
||||
},
|
||||
{
|
||||
"original_path": "deploy/lifecycle/service.candidate.json",
|
||||
"original_sha256": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/service.candidate.json"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"original_sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"original_sha256": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"original_sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"original_sha256": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"original_sha256": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"original_sha256": "763f30c1433d1ca872b029519ec46ad1b97c47d60b7ea0eea0275a2c6b647dc3",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"original_sha256": "741b490bdb315896f05f2e91404c02765517dc1beea81fa590017fccafd299b4",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"original_sha256": "040144321c69622c223a8437832a3c5a4a9595fc37774fde5ff0ad676828ebf0",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"original_sha256": "9b458e2b4d418525987b6cb1b9a160c4b1a2c621625c1b5c571ea5c77e9d4361",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"original_sha256": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"original_sha256": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"original_sha256": "aa86921fe37fcff382676490f937af2e62bd6472a6b4700c862aaf3ce4ab8225",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"original_sha256": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"original_sha256": "3c76c6a8f95dcb55183583a937a4428b745a5c918643de8f2a2bc11dee846d98",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"original_sha256": "f586a511c1921490185bab95334f27de6d3cca20b348df20d18bcb9257d7ae35",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"original_sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"original_sha256": "48b0f0baf4efc239111411ad7d1c291f8eceaa0ddf1414dac73d49ccdb3bbe70",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"original_sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"original_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"original_sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"original_sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"original_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"original_sha256": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"original_sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json"
|
||||
},
|
||||
{
|
||||
"original_path": "docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"original_sha256": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509",
|
||||
"archive_path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py"
|
||||
}
|
||||
]
|
||||
|
|
@ -0,0 +1,286 @@
|
|||
{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
"argocd.argoproj.io/tracking-id": "informed-decision:apps/Deployment:informed-decision/informed-decision",
|
||||
"informed-decision.coulomb.social/admission": "approved; INFD-WP-0007 cutover"
|
||||
},
|
||||
"name": "informed-decision",
|
||||
"namespace": "informed-decision",
|
||||
"uid": "a588e10a-90d2-4883-975e-6dd8b8feca92"
|
||||
},
|
||||
"spec": {
|
||||
"progressDeadlineSeconds": 600,
|
||||
"replicas": 1,
|
||||
"revisionHistoryLimit": 10,
|
||||
"selector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "informed-decision"
|
||||
}
|
||||
},
|
||||
"strategy": {
|
||||
"type": "Recreate"
|
||||
},
|
||||
"template": {
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
"informed-decision.coulomb.social/admission": "approved; INFD-WP-0007 cutover"
|
||||
},
|
||||
"labels": {
|
||||
"app.kubernetes.io/component": "review",
|
||||
"app.kubernetes.io/name": "informed-decision"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"automountServiceAccountToken": false,
|
||||
"containers": [
|
||||
{
|
||||
"env": [
|
||||
{
|
||||
"name": "INFD_KEYCAPE_ISSUER",
|
||||
"value": "https://kc.coulomb.social"
|
||||
},
|
||||
{
|
||||
"name": "INFD_CONTAINER_CONFIG",
|
||||
"value": "/configuration/runtime.json"
|
||||
}
|
||||
],
|
||||
"image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23",
|
||||
"imagePullPolicy": "IfNotPresent",
|
||||
"livenessProbe": {
|
||||
"failureThreshold": 3,
|
||||
"httpGet": {
|
||||
"path": "/healthz",
|
||||
"port": "http",
|
||||
"scheme": "HTTP"
|
||||
},
|
||||
"periodSeconds": 10,
|
||||
"successThreshold": 1,
|
||||
"timeoutSeconds": 2
|
||||
},
|
||||
"name": "informed-decision",
|
||||
"ports": [
|
||||
{
|
||||
"containerPort": 8080,
|
||||
"name": "http",
|
||||
"protocol": "TCP"
|
||||
},
|
||||
{
|
||||
"containerPort": 8081,
|
||||
"name": "workload",
|
||||
"protocol": "TCP"
|
||||
}
|
||||
],
|
||||
"readinessProbe": {
|
||||
"failureThreshold": 3,
|
||||
"httpGet": {
|
||||
"path": "/healthz",
|
||||
"port": "http",
|
||||
"scheme": "HTTP"
|
||||
},
|
||||
"periodSeconds": 10,
|
||||
"successThreshold": 1,
|
||||
"timeoutSeconds": 2
|
||||
},
|
||||
"resources": {
|
||||
"limits": {
|
||||
"cpu": "500m",
|
||||
"memory": "256Mi"
|
||||
},
|
||||
"requests": {
|
||||
"cpu": "5m",
|
||||
"memory": "64Mi"
|
||||
}
|
||||
},
|
||||
"securityContext": {
|
||||
"allowPrivilegeEscalation": false,
|
||||
"capabilities": {
|
||||
"drop": [
|
||||
"ALL"
|
||||
]
|
||||
},
|
||||
"readOnlyRootFilesystem": true
|
||||
},
|
||||
"startupProbe": {
|
||||
"failureThreshold": 12,
|
||||
"httpGet": {
|
||||
"path": "/healthz",
|
||||
"port": "http",
|
||||
"scheme": "HTTP"
|
||||
},
|
||||
"periodSeconds": 10,
|
||||
"successThreshold": 1,
|
||||
"timeoutSeconds": 2
|
||||
},
|
||||
"terminationMessagePath": "/dev/termination-log",
|
||||
"terminationMessagePolicy": "File",
|
||||
"volumeMounts": [
|
||||
{
|
||||
"mountPath": "/data",
|
||||
"name": "data"
|
||||
},
|
||||
{
|
||||
"mountPath": "/run/informed-decision",
|
||||
"name": "runtime"
|
||||
},
|
||||
{
|
||||
"mountPath": "/tmp",
|
||||
"name": "tmp"
|
||||
},
|
||||
{
|
||||
"mountPath": "/configuration",
|
||||
"name": "configuration",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/policy",
|
||||
"name": "caller",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/audit",
|
||||
"name": "audit",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/kubernetes",
|
||||
"name": "kubernetes-api",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/workload-registry",
|
||||
"name": "workload-registry",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/requester",
|
||||
"name": "sitting-requester",
|
||||
"readOnly": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"dnsPolicy": "ClusterFirst",
|
||||
"restartPolicy": "Always",
|
||||
"schedulerName": "default-scheduler",
|
||||
"securityContext": {
|
||||
"fsGroup": 10001,
|
||||
"fsGroupChangePolicy": "OnRootMismatch",
|
||||
"runAsGroup": 10001,
|
||||
"runAsNonRoot": true,
|
||||
"runAsUser": 10001,
|
||||
"seccompProfile": {
|
||||
"type": "RuntimeDefault"
|
||||
}
|
||||
},
|
||||
"serviceAccount": "review",
|
||||
"serviceAccountName": "review",
|
||||
"terminationGracePeriodSeconds": 45,
|
||||
"volumes": [
|
||||
{
|
||||
"name": "data",
|
||||
"persistentVolumeClaim": {
|
||||
"claimName": "informed-decision-data"
|
||||
}
|
||||
},
|
||||
{
|
||||
"emptyDir": {
|
||||
"medium": "Memory",
|
||||
"sizeLimit": "16Mi"
|
||||
},
|
||||
"name": "runtime"
|
||||
},
|
||||
{
|
||||
"emptyDir": {
|
||||
"medium": "Memory",
|
||||
"sizeLimit": "16Mi"
|
||||
},
|
||||
"name": "tmp"
|
||||
},
|
||||
{
|
||||
"configMap": {
|
||||
"defaultMode": 292,
|
||||
"name": "informed-decision-runtime-6c221878d051"
|
||||
},
|
||||
"name": "configuration"
|
||||
},
|
||||
{
|
||||
"name": "caller",
|
||||
"projected": {
|
||||
"defaultMode": 288,
|
||||
"sources": [
|
||||
{
|
||||
"serviceAccountToken": {
|
||||
"audience": "flex-auth",
|
||||
"expirationSeconds": 3600,
|
||||
"path": "token"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "audit",
|
||||
"secret": {
|
||||
"defaultMode": 288,
|
||||
"items": [
|
||||
{
|
||||
"key": "token",
|
||||
"path": "token"
|
||||
}
|
||||
],
|
||||
"secretName": "informed-decision-audit"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "kubernetes-api",
|
||||
"projected": {
|
||||
"defaultMode": 288,
|
||||
"sources": [
|
||||
{
|
||||
"serviceAccountToken": {
|
||||
"expirationSeconds": 600,
|
||||
"path": "token"
|
||||
}
|
||||
},
|
||||
{
|
||||
"configMap": {
|
||||
"items": [
|
||||
{
|
||||
"key": "ca.crt",
|
||||
"path": "ca.crt"
|
||||
}
|
||||
],
|
||||
"name": "kube-root-ca.crt"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"configMap": {
|
||||
"defaultMode": 292,
|
||||
"name": "informed-decision-workload-registry"
|
||||
},
|
||||
"name": "workload-registry"
|
||||
},
|
||||
{
|
||||
"name": "sitting-requester",
|
||||
"secret": {
|
||||
"defaultMode": 288,
|
||||
"items": [
|
||||
{
|
||||
"key": "client-secret",
|
||||
"path": "client-secret"
|
||||
}
|
||||
],
|
||||
"optional": false,
|
||||
"secretName": "informed-decision-sitting-requester"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
{
|
||||
"kind": "informed-decision.supervised-release-proposal",
|
||||
"version": 1,
|
||||
"proposal_id": "INFD-WP-0009-T05/zlib85091-r1",
|
||||
"trial_id": "infd-zlib-20261011-r1",
|
||||
"state": "prepared-awaiting-independent-owner-acknowledgments",
|
||||
"memo_id": "infd-20261011-zlib-remediation-r1",
|
||||
"memo_version": 1,
|
||||
"task": "INFD-WP-0009-T05",
|
||||
"candidate_image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23",
|
||||
"artifact_source_revision": "9b4bb25d325698ae543e7e8a8a3c3592db1f58fc",
|
||||
"prior_image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a",
|
||||
"prior_application_revision": "c96b0c6d881e855d1d158003c6de90ef390262e2",
|
||||
"source_revision": null,
|
||||
"published_artifact_verified": true,
|
||||
"native_actions_executed": false,
|
||||
"approval_id": null,
|
||||
"authority_mode": "ADMINISTER",
|
||||
"target": "realm:kubernetes/railiance01/informed-decision",
|
||||
"cost_estimate_eur": 0,
|
||||
"risk": "Private same-schema backup copies and brief Recreate availability gap. Failed or ambiguous phases retained; no replay. Rollback changes Deployment image/source only, retains latest database.",
|
||||
"execute_by": "2026-10-12T23:59:59Z",
|
||||
"release_must_start_by": "2026-10-12T23:29:59Z",
|
||||
"max_snapshot_bytes": 536870912,
|
||||
"maximum_new_snapshot_payload_bytes_each_site": 1073741824,
|
||||
"local_extra_disposable_clone_max_bytes": 536870912,
|
||||
"private_metadata_and_sqlite_sidecars_additional_headroom_bytes": 16777216,
|
||||
"unbound_inputs": [
|
||||
"fresh rollback server admission",
|
||||
"exact committed owner rendering revision",
|
||||
"Product and Platform final acknowledgments",
|
||||
"confirmed founder exact new disposition"
|
||||
],
|
||||
"published_verification_sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e",
|
||||
"native_readonly_preflight_sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9",
|
||||
"executor_plan_sha256": "9b458e2b4d418525987b6cb1b9a160c4b1a2c621625c1b5c571ea5c77e9d4361"
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"kind": "source-only-native-authoring-packet",
|
||||
"memo_id": "infd-20261011-zlib-remediation-r1",
|
||||
"source_memo_version": 1,
|
||||
"memo_sha256": "15b3fc9c708593adb52d9eb240c1a6b55d5ac43b1637b8047499f15e525e368f",
|
||||
"intake_sha256": "8154c90745d860b2984e4616f0bb1c35889b07b7ff8b841e7430db7592a15b7a",
|
||||
"lifecycle_commands_sha256": "196e2cef9ba38f075b458f164f05b5df594d188ee84b210744ef94c31f753294",
|
||||
"register_bytes": 259129,
|
||||
"document_count": 13,
|
||||
"documents_hashes_verified": true,
|
||||
"native_submitted": false,
|
||||
"founder_approval": false
|
||||
}
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
{
|
||||
"all_checks_pass": true,
|
||||
"observed_at": "2026-10-11T09:43:42.851086+00:00",
|
||||
"native_changed": false,
|
||||
"protected_database_read": false,
|
||||
"secret_read": false,
|
||||
"deployment_generation": 25,
|
||||
"ready_replicas": 1,
|
||||
"argo": {
|
||||
"uid": "499868f2-eabc-4df4-ae31-b89ce58d750d",
|
||||
"source": {
|
||||
"path": "deploy/lifecycle",
|
||||
"repoURL": "https://forgejo.coulomb.social/coulomb/informed-decision.git",
|
||||
"targetRevision": "c96b0c6d881e855d1d158003c6de90ef390262e2"
|
||||
},
|
||||
"destination": {
|
||||
"namespace": "informed-decision",
|
||||
"server": "https://kubernetes.default.svc"
|
||||
},
|
||||
"automated": false,
|
||||
"health": {
|
||||
"lastTransitionTime": "2026-10-11T07:00:42Z",
|
||||
"status": "Healthy"
|
||||
},
|
||||
"sync": {
|
||||
"comparedTo": {
|
||||
"destination": {
|
||||
"namespace": "informed-decision",
|
||||
"server": "https://kubernetes.default.svc"
|
||||
},
|
||||
"source": {
|
||||
"path": "deploy/lifecycle",
|
||||
"repoURL": "https://forgejo.coulomb.social/coulomb/informed-decision.git",
|
||||
"targetRevision": "c96b0c6d881e855d1d158003c6de90ef390262e2"
|
||||
}
|
||||
},
|
||||
"revision": "c96b0c6d881e855d1d158003c6de90ef390262e2",
|
||||
"status": "OutOfSync"
|
||||
}
|
||||
},
|
||||
"server_dry_run_passed": true,
|
||||
"admission_only_image_delta": true,
|
||||
"client_diff_exit": 0,
|
||||
"client_diff_sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
||||
"allocatable_cpu_m": 4000,
|
||||
"requested_cpu_m": 3460,
|
||||
"strategy": "Recreate",
|
||||
"full_receipt_sha256": "0188799d352e4d49d5ca29d6e197742d02e96a4b0b399df1f478e41b25292eb5",
|
||||
"full_receipt_path": "rollback-preflight-full.json",
|
||||
"projection_reference_files": {
|
||||
"sealed_live_deployment": "sealed-live-deployment.json",
|
||||
"sealed_dependencies": "sealed-native-dependencies.json",
|
||||
"candidate_deployment": "rollback-deployment.json"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,215 @@
|
|||
{
|
||||
"scope": "selected current-source bytes; historical source archives remain source-owner manifest bound, not all143 source files copied into this owner review",
|
||||
"files": [
|
||||
{
|
||||
"path": "deploy/lifecycle/admission.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"sha256": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529"
|
||||
},
|
||||
{
|
||||
"path": "deploy/lifecycle/kustomization.yaml",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47"
|
||||
},
|
||||
{
|
||||
"path": "deploy/lifecycle/registries.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
{
|
||||
"path": "deploy/lifecycle/service.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"sha256": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"sha256": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"sha256": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"sha256": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"sha256": "c570bade38479af93f08f717fcebb328a0db38e5b58bd0e7983681bc5ae41b7a"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"sha256": "eb58dee98934fef0fd916c7807eea1d600d71ee35cda9b9fbbc5564e42560461"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"sha256": "9441650c58e156a485810290ec86028b1a21655960e8196cc60d710f51b51788"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"sha256": "fd38385e3687ec6f9886d5025b394463c252b8198b0426c56f95740139eb7e9b"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"sha256": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"sha256": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"sha256": "a1d29ea6822be12817b2d60109cec44b061d167f147b10f9aa352529e1a4c475"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"sha256": "2ba25f7d3efbb1095e0a0dd7bbb577f76af05c425cb928f9a1c7bc52ea9f532b"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/fresh-scan-contract.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-contract.json",
|
||||
"sha256": "b13806a7e1464454e3817e1e62b56b0fa07fe2fddbd94d7fdc530e2c3dd9e3d2"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"sha256": "92bbf8a891c7ef78df48430901219d8d07073cba74112a307a6d8bdec509e8dd"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/fresh-scan-report-fixture.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-report-fixture.json",
|
||||
"sha256": "30607043a4ca44e42024b63659ae10993c14c7a04e7c5685255ccafe4d3fb55c"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"sha256": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"sha256": "6f173d6b257e9f0e4f360390e5846380eba7ecd5cadfd55c22b998bd7e7de844"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"sha256": "508f9bf9f11a35b8fc494e1d66e8f11aa0338df4aa9d7115a80e2dabdae81b55"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"sha256": "ec470183fd6a6a315ec0e35d5841eb1e26cf04d58c5b3fdc13b6f34b1621f62d"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"sha256": "3c903dd82c13273cb61f590b258b059c32e0fd515d7c176ce4fec3e68a77bc7b"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/native-preflight-full.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight-full.json",
|
||||
"sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"sha256": "3b6b67a0b4d51ef791e775b528b64aa5a6f14eff629737e67baee7e2f6f60762"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"sha256": "ce88aca5e2d6cd5ab7533898bc9b246bd159482c4acccb0afe4c451ee88f57fa"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/preparation-failure-history.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/preparation-failure-history.json",
|
||||
"sha256": "51b9983d2a806240f562dcb951955fc8360c181e6d08a8dfdcba95361c6dd596"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"sha256": "29de1dbddce09008a50516ec43b100bc2a1e08ace86a748a259fe5695e937453"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/rollback-preflight-full.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight-full.json",
|
||||
"sha256": "0188799d352e4d49d5ca29d6e197742d02e96a4b0b399df1f478e41b25292eb5"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"sha256": "4c3c3166205808e81326ccdae1b56afef757b0ceb4e6c96a17bf384317aeee4a"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"sha256": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"sha256": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"sha256": "ecddcb00127774a17d5cf553417c60d1b6fb753b6eb91a49dabb7fc52678595e"
|
||||
},
|
||||
{
|
||||
"path": "workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"sha256": "112e0aa642a7f48edf8073eee180b62d5ab6000aa4a6197ea6ffc10d7087beb0"
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"native_effect": false,
|
||||
"initial67_manifest_sha256": "1e4b5a308294d588c7bf75e5d27eb475a1ed2f75ec8c598f4db285cf01547fb2",
|
||||
"initial67_manifest_bytes_retained": false,
|
||||
"initial67_complete_source_snapshot_retained": false,
|
||||
"initial67_note": "Not snapshotted before unannounced81 amendment; knownhash preserved, exact reconstruction audited separately if possible. No fabricated claim of retained original bytes.",
|
||||
"initial81_manifest_sha256": "81adb9e1749d6bd9f19755a2bbd7b501589ea782445537bbbfe925e1d9f8fa47",
|
||||
"initial81_complete_source_snapshot_retained": true,
|
||||
"draft29_manifest_sha256": "7ac1d698cab2dfbde6bc0a84bcadd2c3229d24f4a4a59125fe72b2856fa82e07",
|
||||
"draft29_complete_source_snapshot_retained": true,
|
||||
"defects": [
|
||||
"Main dispatch passes operation_intent to remote without matching parameter",
|
||||
"Remote payload lacked snapshot_identity/operation_intent",
|
||||
"Fresh scan gate accepted empty/truncated result coverage under rootreceipt metadata",
|
||||
"Owner review began67; unauthorized stage churn observed81"
|
||||
],
|
||||
"same_trial": true
|
||||
}
|
||||
|
|
@ -0,0 +1,672 @@
|
|||
{
|
||||
"all_checks_pass": true,
|
||||
"observed_at": "2026-10-11T09:40:15.540874+00:00",
|
||||
"native_changed": false,
|
||||
"protected_database_read": false,
|
||||
"secret_read": false,
|
||||
"deployment_generation": 25,
|
||||
"ready_replicas": 1,
|
||||
"sealed_live_deployment": {
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
"argocd.argoproj.io/tracking-id": "informed-decision:apps/Deployment:informed-decision/informed-decision",
|
||||
"informed-decision.coulomb.social/admission": "approved; INFD-WP-0007 cutover"
|
||||
},
|
||||
"name": "informed-decision",
|
||||
"namespace": "informed-decision",
|
||||
"uid": "a588e10a-90d2-4883-975e-6dd8b8feca92"
|
||||
},
|
||||
"spec": {
|
||||
"progressDeadlineSeconds": 600,
|
||||
"replicas": 1,
|
||||
"revisionHistoryLimit": 10,
|
||||
"selector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "informed-decision"
|
||||
}
|
||||
},
|
||||
"strategy": {
|
||||
"type": "Recreate"
|
||||
},
|
||||
"template": {
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
"informed-decision.coulomb.social/admission": "approved; INFD-WP-0007 cutover"
|
||||
},
|
||||
"labels": {
|
||||
"app.kubernetes.io/component": "review",
|
||||
"app.kubernetes.io/name": "informed-decision"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"automountServiceAccountToken": false,
|
||||
"containers": [
|
||||
{
|
||||
"env": [
|
||||
{
|
||||
"name": "INFD_KEYCAPE_ISSUER",
|
||||
"value": "https://kc.coulomb.social"
|
||||
},
|
||||
{
|
||||
"name": "INFD_CONTAINER_CONFIG",
|
||||
"value": "/configuration/runtime.json"
|
||||
}
|
||||
],
|
||||
"image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a",
|
||||
"imagePullPolicy": "IfNotPresent",
|
||||
"livenessProbe": {
|
||||
"failureThreshold": 3,
|
||||
"httpGet": {
|
||||
"path": "/healthz",
|
||||
"port": "http",
|
||||
"scheme": "HTTP"
|
||||
},
|
||||
"periodSeconds": 10,
|
||||
"successThreshold": 1,
|
||||
"timeoutSeconds": 2
|
||||
},
|
||||
"name": "informed-decision",
|
||||
"ports": [
|
||||
{
|
||||
"containerPort": 8080,
|
||||
"name": "http",
|
||||
"protocol": "TCP"
|
||||
},
|
||||
{
|
||||
"containerPort": 8081,
|
||||
"name": "workload",
|
||||
"protocol": "TCP"
|
||||
}
|
||||
],
|
||||
"readinessProbe": {
|
||||
"failureThreshold": 3,
|
||||
"httpGet": {
|
||||
"path": "/healthz",
|
||||
"port": "http",
|
||||
"scheme": "HTTP"
|
||||
},
|
||||
"periodSeconds": 10,
|
||||
"successThreshold": 1,
|
||||
"timeoutSeconds": 2
|
||||
},
|
||||
"resources": {
|
||||
"limits": {
|
||||
"cpu": "500m",
|
||||
"memory": "256Mi"
|
||||
},
|
||||
"requests": {
|
||||
"cpu": "5m",
|
||||
"memory": "64Mi"
|
||||
}
|
||||
},
|
||||
"securityContext": {
|
||||
"allowPrivilegeEscalation": false,
|
||||
"capabilities": {
|
||||
"drop": [
|
||||
"ALL"
|
||||
]
|
||||
},
|
||||
"readOnlyRootFilesystem": true
|
||||
},
|
||||
"startupProbe": {
|
||||
"failureThreshold": 12,
|
||||
"httpGet": {
|
||||
"path": "/healthz",
|
||||
"port": "http",
|
||||
"scheme": "HTTP"
|
||||
},
|
||||
"periodSeconds": 10,
|
||||
"successThreshold": 1,
|
||||
"timeoutSeconds": 2
|
||||
},
|
||||
"terminationMessagePath": "/dev/termination-log",
|
||||
"terminationMessagePolicy": "File",
|
||||
"volumeMounts": [
|
||||
{
|
||||
"mountPath": "/data",
|
||||
"name": "data"
|
||||
},
|
||||
{
|
||||
"mountPath": "/run/informed-decision",
|
||||
"name": "runtime"
|
||||
},
|
||||
{
|
||||
"mountPath": "/tmp",
|
||||
"name": "tmp"
|
||||
},
|
||||
{
|
||||
"mountPath": "/configuration",
|
||||
"name": "configuration",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/policy",
|
||||
"name": "caller",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/audit",
|
||||
"name": "audit",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/kubernetes",
|
||||
"name": "kubernetes-api",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/workload-registry",
|
||||
"name": "workload-registry",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/requester",
|
||||
"name": "sitting-requester",
|
||||
"readOnly": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"dnsPolicy": "ClusterFirst",
|
||||
"restartPolicy": "Always",
|
||||
"schedulerName": "default-scheduler",
|
||||
"securityContext": {
|
||||
"fsGroup": 10001,
|
||||
"fsGroupChangePolicy": "OnRootMismatch",
|
||||
"runAsGroup": 10001,
|
||||
"runAsNonRoot": true,
|
||||
"runAsUser": 10001,
|
||||
"seccompProfile": {
|
||||
"type": "RuntimeDefault"
|
||||
}
|
||||
},
|
||||
"serviceAccount": "review",
|
||||
"serviceAccountName": "review",
|
||||
"terminationGracePeriodSeconds": 45,
|
||||
"volumes": [
|
||||
{
|
||||
"name": "data",
|
||||
"persistentVolumeClaim": {
|
||||
"claimName": "informed-decision-data"
|
||||
}
|
||||
},
|
||||
{
|
||||
"emptyDir": {
|
||||
"medium": "Memory",
|
||||
"sizeLimit": "16Mi"
|
||||
},
|
||||
"name": "runtime"
|
||||
},
|
||||
{
|
||||
"emptyDir": {
|
||||
"medium": "Memory",
|
||||
"sizeLimit": "16Mi"
|
||||
},
|
||||
"name": "tmp"
|
||||
},
|
||||
{
|
||||
"configMap": {
|
||||
"defaultMode": 292,
|
||||
"name": "informed-decision-runtime-6c221878d051"
|
||||
},
|
||||
"name": "configuration"
|
||||
},
|
||||
{
|
||||
"name": "caller",
|
||||
"projected": {
|
||||
"defaultMode": 288,
|
||||
"sources": [
|
||||
{
|
||||
"serviceAccountToken": {
|
||||
"audience": "flex-auth",
|
||||
"expirationSeconds": 3600,
|
||||
"path": "token"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "audit",
|
||||
"secret": {
|
||||
"defaultMode": 288,
|
||||
"items": [
|
||||
{
|
||||
"key": "token",
|
||||
"path": "token"
|
||||
}
|
||||
],
|
||||
"secretName": "informed-decision-audit"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "kubernetes-api",
|
||||
"projected": {
|
||||
"defaultMode": 288,
|
||||
"sources": [
|
||||
{
|
||||
"serviceAccountToken": {
|
||||
"expirationSeconds": 600,
|
||||
"path": "token"
|
||||
}
|
||||
},
|
||||
{
|
||||
"configMap": {
|
||||
"items": [
|
||||
{
|
||||
"key": "ca.crt",
|
||||
"path": "ca.crt"
|
||||
}
|
||||
],
|
||||
"name": "kube-root-ca.crt"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"configMap": {
|
||||
"defaultMode": 292,
|
||||
"name": "informed-decision-workload-registry"
|
||||
},
|
||||
"name": "workload-registry"
|
||||
},
|
||||
{
|
||||
"name": "sitting-requester",
|
||||
"secret": {
|
||||
"defaultMode": 288,
|
||||
"items": [
|
||||
{
|
||||
"key": "client-secret",
|
||||
"path": "client-secret"
|
||||
}
|
||||
],
|
||||
"optional": false,
|
||||
"secretName": "informed-decision-sitting-requester"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"candidate_deployment": {
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
"argocd.argoproj.io/tracking-id": "informed-decision:apps/Deployment:informed-decision/informed-decision",
|
||||
"informed-decision.coulomb.social/admission": "approved; INFD-WP-0007 cutover"
|
||||
},
|
||||
"name": "informed-decision",
|
||||
"namespace": "informed-decision",
|
||||
"uid": "a588e10a-90d2-4883-975e-6dd8b8feca92"
|
||||
},
|
||||
"spec": {
|
||||
"progressDeadlineSeconds": 600,
|
||||
"replicas": 1,
|
||||
"revisionHistoryLimit": 10,
|
||||
"selector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "informed-decision"
|
||||
}
|
||||
},
|
||||
"strategy": {
|
||||
"type": "Recreate"
|
||||
},
|
||||
"template": {
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
"informed-decision.coulomb.social/admission": "approved; INFD-WP-0007 cutover"
|
||||
},
|
||||
"labels": {
|
||||
"app.kubernetes.io/component": "review",
|
||||
"app.kubernetes.io/name": "informed-decision"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"automountServiceAccountToken": false,
|
||||
"containers": [
|
||||
{
|
||||
"env": [
|
||||
{
|
||||
"name": "INFD_KEYCAPE_ISSUER",
|
||||
"value": "https://kc.coulomb.social"
|
||||
},
|
||||
{
|
||||
"name": "INFD_CONTAINER_CONFIG",
|
||||
"value": "/configuration/runtime.json"
|
||||
}
|
||||
],
|
||||
"image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23",
|
||||
"imagePullPolicy": "IfNotPresent",
|
||||
"livenessProbe": {
|
||||
"failureThreshold": 3,
|
||||
"httpGet": {
|
||||
"path": "/healthz",
|
||||
"port": "http",
|
||||
"scheme": "HTTP"
|
||||
},
|
||||
"periodSeconds": 10,
|
||||
"successThreshold": 1,
|
||||
"timeoutSeconds": 2
|
||||
},
|
||||
"name": "informed-decision",
|
||||
"ports": [
|
||||
{
|
||||
"containerPort": 8080,
|
||||
"name": "http",
|
||||
"protocol": "TCP"
|
||||
},
|
||||
{
|
||||
"containerPort": 8081,
|
||||
"name": "workload",
|
||||
"protocol": "TCP"
|
||||
}
|
||||
],
|
||||
"readinessProbe": {
|
||||
"failureThreshold": 3,
|
||||
"httpGet": {
|
||||
"path": "/healthz",
|
||||
"port": "http",
|
||||
"scheme": "HTTP"
|
||||
},
|
||||
"periodSeconds": 10,
|
||||
"successThreshold": 1,
|
||||
"timeoutSeconds": 2
|
||||
},
|
||||
"resources": {
|
||||
"limits": {
|
||||
"cpu": "500m",
|
||||
"memory": "256Mi"
|
||||
},
|
||||
"requests": {
|
||||
"cpu": "5m",
|
||||
"memory": "64Mi"
|
||||
}
|
||||
},
|
||||
"securityContext": {
|
||||
"allowPrivilegeEscalation": false,
|
||||
"capabilities": {
|
||||
"drop": [
|
||||
"ALL"
|
||||
]
|
||||
},
|
||||
"readOnlyRootFilesystem": true
|
||||
},
|
||||
"startupProbe": {
|
||||
"failureThreshold": 12,
|
||||
"httpGet": {
|
||||
"path": "/healthz",
|
||||
"port": "http",
|
||||
"scheme": "HTTP"
|
||||
},
|
||||
"periodSeconds": 10,
|
||||
"successThreshold": 1,
|
||||
"timeoutSeconds": 2
|
||||
},
|
||||
"terminationMessagePath": "/dev/termination-log",
|
||||
"terminationMessagePolicy": "File",
|
||||
"volumeMounts": [
|
||||
{
|
||||
"mountPath": "/data",
|
||||
"name": "data"
|
||||
},
|
||||
{
|
||||
"mountPath": "/run/informed-decision",
|
||||
"name": "runtime"
|
||||
},
|
||||
{
|
||||
"mountPath": "/tmp",
|
||||
"name": "tmp"
|
||||
},
|
||||
{
|
||||
"mountPath": "/configuration",
|
||||
"name": "configuration",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/policy",
|
||||
"name": "caller",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/audit",
|
||||
"name": "audit",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/kubernetes",
|
||||
"name": "kubernetes-api",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/workload-registry",
|
||||
"name": "workload-registry",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/requester",
|
||||
"name": "sitting-requester",
|
||||
"readOnly": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"dnsPolicy": "ClusterFirst",
|
||||
"restartPolicy": "Always",
|
||||
"schedulerName": "default-scheduler",
|
||||
"securityContext": {
|
||||
"fsGroup": 10001,
|
||||
"fsGroupChangePolicy": "OnRootMismatch",
|
||||
"runAsGroup": 10001,
|
||||
"runAsNonRoot": true,
|
||||
"runAsUser": 10001,
|
||||
"seccompProfile": {
|
||||
"type": "RuntimeDefault"
|
||||
}
|
||||
},
|
||||
"serviceAccount": "review",
|
||||
"serviceAccountName": "review",
|
||||
"terminationGracePeriodSeconds": 45,
|
||||
"volumes": [
|
||||
{
|
||||
"name": "data",
|
||||
"persistentVolumeClaim": {
|
||||
"claimName": "informed-decision-data"
|
||||
}
|
||||
},
|
||||
{
|
||||
"emptyDir": {
|
||||
"medium": "Memory",
|
||||
"sizeLimit": "16Mi"
|
||||
},
|
||||
"name": "runtime"
|
||||
},
|
||||
{
|
||||
"emptyDir": {
|
||||
"medium": "Memory",
|
||||
"sizeLimit": "16Mi"
|
||||
},
|
||||
"name": "tmp"
|
||||
},
|
||||
{
|
||||
"configMap": {
|
||||
"defaultMode": 292,
|
||||
"name": "informed-decision-runtime-6c221878d051"
|
||||
},
|
||||
"name": "configuration"
|
||||
},
|
||||
{
|
||||
"name": "caller",
|
||||
"projected": {
|
||||
"defaultMode": 288,
|
||||
"sources": [
|
||||
{
|
||||
"serviceAccountToken": {
|
||||
"audience": "flex-auth",
|
||||
"expirationSeconds": 3600,
|
||||
"path": "token"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "audit",
|
||||
"secret": {
|
||||
"defaultMode": 288,
|
||||
"items": [
|
||||
{
|
||||
"key": "token",
|
||||
"path": "token"
|
||||
}
|
||||
],
|
||||
"secretName": "informed-decision-audit"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "kubernetes-api",
|
||||
"projected": {
|
||||
"defaultMode": 288,
|
||||
"sources": [
|
||||
{
|
||||
"serviceAccountToken": {
|
||||
"expirationSeconds": 600,
|
||||
"path": "token"
|
||||
}
|
||||
},
|
||||
{
|
||||
"configMap": {
|
||||
"items": [
|
||||
{
|
||||
"key": "ca.crt",
|
||||
"path": "ca.crt"
|
||||
}
|
||||
],
|
||||
"name": "kube-root-ca.crt"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"configMap": {
|
||||
"defaultMode": 292,
|
||||
"name": "informed-decision-workload-registry"
|
||||
},
|
||||
"name": "workload-registry"
|
||||
},
|
||||
{
|
||||
"name": "sitting-requester",
|
||||
"secret": {
|
||||
"defaultMode": 288,
|
||||
"items": [
|
||||
{
|
||||
"key": "client-secret",
|
||||
"path": "client-secret"
|
||||
}
|
||||
],
|
||||
"optional": false,
|
||||
"secretName": "informed-decision-sitting-requester"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"sealed_dependencies": {
|
||||
"configmap": {
|
||||
"apiVersion": "v1",
|
||||
"immutable": true,
|
||||
"kind": "ConfigMap",
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
"argocd.argoproj.io/tracking-id": "informed-decision:/ConfigMap:informed-decision/informed-decision-runtime-6c221878d051",
|
||||
"informed-decision.coulomb.social/admission": "approved; INFD-WP-0007 cutover"
|
||||
},
|
||||
"name": "informed-decision-runtime-6c221878d051",
|
||||
"namespace": "informed-decision",
|
||||
"uid": "90113d2d-54d9-4e82-b1d3-90b49ebed2b5"
|
||||
},
|
||||
"canonical_data_sha256": "8ec462d12347548f506eeebf1e3c7cc47648019c8a783804d09bcc79b0f22af6"
|
||||
},
|
||||
"pvc": {
|
||||
"apiVersion": "v1",
|
||||
"kind": "PersistentVolumeClaim",
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
"argocd.argoproj.io/tracking-id": "informed-decision:/PersistentVolumeClaim:informed-decision/informed-decision-data",
|
||||
"informed-decision.coulomb.social/admission": "approved; INFD-WP-0007 cutover",
|
||||
"pv.kubernetes.io/bind-completed": "yes",
|
||||
"pv.kubernetes.io/bound-by-controller": "yes",
|
||||
"volume.beta.kubernetes.io/storage-provisioner": "rancher.io/local-path",
|
||||
"volume.kubernetes.io/selected-node": "239.62.205.92.host.secureserver.net",
|
||||
"volume.kubernetes.io/storage-provisioner": "rancher.io/local-path"
|
||||
},
|
||||
"finalizers": [
|
||||
"kubernetes.io/pvc-protection"
|
||||
],
|
||||
"name": "informed-decision-data",
|
||||
"namespace": "informed-decision",
|
||||
"uid": "d80b25b1-141a-441b-b205-98fa2fd98b7c"
|
||||
},
|
||||
"spec": {
|
||||
"accessModes": [
|
||||
"ReadWriteOnce"
|
||||
],
|
||||
"resources": {
|
||||
"requests": {
|
||||
"storage": "1Gi"
|
||||
}
|
||||
},
|
||||
"storageClassName": "local-path",
|
||||
"volumeMode": "Filesystem",
|
||||
"volumeName": "pvc-d80b25b1-141a-441b-b205-98fa2fd98b7c"
|
||||
}
|
||||
},
|
||||
"pvc_phase": "Bound"
|
||||
},
|
||||
"argo": {
|
||||
"uid": "499868f2-eabc-4df4-ae31-b89ce58d750d",
|
||||
"source": {
|
||||
"path": "deploy/lifecycle",
|
||||
"repoURL": "https://forgejo.coulomb.social/coulomb/informed-decision.git",
|
||||
"targetRevision": "c96b0c6d881e855d1d158003c6de90ef390262e2"
|
||||
},
|
||||
"destination": {
|
||||
"namespace": "informed-decision",
|
||||
"server": "https://kubernetes.default.svc"
|
||||
},
|
||||
"automated": false,
|
||||
"health": {
|
||||
"lastTransitionTime": "2026-10-11T07:00:42Z",
|
||||
"status": "Healthy"
|
||||
},
|
||||
"sync": {
|
||||
"comparedTo": {
|
||||
"destination": {
|
||||
"namespace": "informed-decision",
|
||||
"server": "https://kubernetes.default.svc"
|
||||
},
|
||||
"source": {
|
||||
"path": "deploy/lifecycle",
|
||||
"repoURL": "https://forgejo.coulomb.social/coulomb/informed-decision.git",
|
||||
"targetRevision": "c96b0c6d881e855d1d158003c6de90ef390262e2"
|
||||
}
|
||||
},
|
||||
"revision": "c96b0c6d881e855d1d158003c6de90ef390262e2",
|
||||
"status": "OutOfSync"
|
||||
}
|
||||
},
|
||||
"server_dry_run_passed": true,
|
||||
"admission_only_image_delta": true,
|
||||
"client_diff_exit": 1,
|
||||
"client_diff_sha256": "ccff7c1ecfd9eb59fc0ce566c1013a2af5df514af048c68474a272997024ef7b",
|
||||
"allocatable_cpu_m": 4000,
|
||||
"requested_cpu_m": 3460,
|
||||
"strategy": "Recreate"
|
||||
}
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
"""Synthetic adapter/public scan boundary probes; no main/native/database/provider access."""
|
||||
import ast,copy,datetime,importlib.util,json,subprocess,sys
|
||||
from pathlib import Path
|
||||
from unittest.mock import patch
|
||||
root=Path(sys.argv[1]);sys.path.insert(0,str(root));import actuator,native_program,test_execution
|
||||
from authority_journal import fresh_scan
|
||||
actuator.CASE=root.parent
|
||||
results={};captured=[]
|
||||
def fake(argv,body=None,**kwargs):
|
||||
captured.append(json.loads(ast.literal_eval(body)));return subprocess.CompletedProcess(argv,0,'{"all_checks_pass":true}','')
|
||||
intent={"state":"COMPLETE","result":{"fixture":True}};snapshot={"fixture":"exact-backup-receipt"}
|
||||
with patch.object(native_program,"PROGRAM","__PAYLOAD__"),patch.object(actuator,"run",side_effect=fake):actuator.remote("verify","e"*40,{},snapshot_identity=snapshot,operation_intent=intent)
|
||||
results["remote_keyword_and_exact_payload_fixed"]=captured[0]["snapshot_identity"]==snapshot and captured[0]["operation_intent"]==intent
|
||||
contract=json.loads((root.parent/"fresh-scan-contract.json").read_text());receipt=json.loads((root.parent/"fresh-scan-receipt-template.json").read_text());receipt.update(completed_at="2026-10-11T10:00:00Z",db_metadata={"UpdatedAt":"2026-10-10T19:00:00Z","NextUpdate":"2026-10-11T19:00:00Z","Version":2},db_sha256="a"*64,full_report_sha256="b"*64,exit_code=0)
|
||||
try:fresh_scan(receipt,{"Results":[{}]},contract,datetime.datetime(2026,10,11,10,tzinfo=datetime.timezone.utc))
|
||||
except (ValueError,KeyError):results["original_partial_zero_scan_now_refused"]=True
|
||||
fixture=test_execution.FixedNativeProgram();objects,payload=fixture.fixture();template=copy.deepcopy(objects["deployment"]["spec"]["template"]["spec"]);template["ephemeralContainers"]=[{"name":"unrelated-debug","image":"unrelated:mutable","securityContext":{"privileged":True}}]
|
||||
objects["pods"]={"items":[{"metadata":{"name":"fixture-pod","uid":"c4cb1550-feda-4097-9de4-d891a657b662","ownerReferences":[{"kind":"ReplicaSet","name":"fixture-rs","uid":"rs-uid"}]},"spec":template,"status":{"phase":"Running","containerStatuses":[{"name":"informed-decision","ready":True,"imageID":template["containers"][0]["image"]}]}}]}
|
||||
result,writes,calls=fixture.execute_fake(objects,payload)
|
||||
results["unrelated_privileged_ephemeral_container_not_refused"]=result["all_checks_pass"] is True and len(writes)==1
|
||||
print(json.dumps(results,sort_keys=True))
|
||||
if not all(results.values()):raise SystemExit(1)
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
"""Only structural count/hash receipts can leave the private execution phase."""
|
||||
def counts(value):
|
||||
if (set(value) != {'schema_version', 'lifecycle', 'outbox', 'submissions', 'integrity',
|
||||
'read_only_pre_open', 'store_constructed'}
|
||||
or value['schema_version'] != 5 or value['integrity'] != 'ok'
|
||||
or value['read_only_pre_open'] is not True or value['store_constructed'] is not False
|
||||
or set(value['lifecycle']) != {'records', 'events', 'pending'}
|
||||
or not set(value['outbox']) <= {'pending', 'delivered', 'blocked'}
|
||||
or not set(value['submissions']) <= {'prepared', 'in_flight', 'confirmed', 'unresolved'}):
|
||||
raise ValueError('count-only receipt shape/state refused; values withheld')
|
||||
for group in ('lifecycle', 'outbox', 'submissions'):
|
||||
if any(type(number) is not int or number < 0 or number > 10**12
|
||||
for number in value[group].values()):
|
||||
raise ValueError('count-only receipt values refused')
|
||||
return value
|
||||
|
|
@ -0,0 +1,520 @@
|
|||
[
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-review.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-review.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "e24b3fdae42721342a26ebe34caf57c2d21153ff855e584a0c4ebd3eb9adb349"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/mapping.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/mapping.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "dac8209ec57adc6df16673079f88a60cc56e89294de9389bc219ea19fdf51b5e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/original-manifest.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/original-manifest.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "81adb9e1749d6bd9f19755a2bbd7b501589ea782445537bbbfe925e1d9f8fa47"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "c570bade38479af93f08f717fcebb328a0db38e5b58bd0e7983681bc5ae41b7a"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "dabeda33ffe52989337e214dc6e6d3ef5f04797569145faf2ff69024b101ec80"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "2aa9bae40752922264e53382d898e3083b8d229b185329266942bdd397013108"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "750a4386277dc79c3213e6aed17ae5686332bfd587a55e5e87ebf3776a63ab0c"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "7458222049d8df2f01f2ce359b5864ae41cd73054ee59659ca8cd8ac17cf73ac"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "09b0a8ed6c3c7d1e94f5f703a2d5834ca26fc166cfc8f4f9b4511ab70ec16ac9"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "92bbf8a891c7ef78df48430901219d8d07073cba74112a307a6d8bdec509e8dd"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/archive-map.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/archive-map.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "44be75acb94d8125efb9416dea91059aeeb79625d23c7959bdc099a95c26a9ca"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/original-manifest.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/original-manifest.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "7ac1d698cab2dfbde6bc0a84bcadd2c3229d24f4a4a59125fe72b2856fa82e07"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "763f30c1433d1ca872b029519ec46ad1b97c47d60b7ea0eea0275a2c6b647dc3"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "741b490bdb315896f05f2e91404c02765517dc1beea81fa590017fccafd299b4"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "040144321c69622c223a8437832a3c5a4a9595fc37774fde5ff0ad676828ebf0"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9b458e2b4d418525987b6cb1b9a160c4b1a2c621625c1b5c571ea5c77e9d4361"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "aa86921fe37fcff382676490f937af2e62bd6472a6b4700c862aaf3ce4ab8225"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "3c76c6a8f95dcb55183583a937a4428b745a5c918643de8f2a2bc11dee846d98"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f586a511c1921490185bab95334f27de6d3cca20b348df20d18bcb9257d7ae35"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "48b0f0baf4efc239111411ad7d1c291f8eceaa0ddf1414dac73d49ccdb3bbe70"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "8154c90745d860b2984e4616f0bb1c35889b07b7ff8b841e7430db7592a15b7a"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "196e2cef9ba38f075b458f164f05b5df594d188ee84b210744ef94c31f753294"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "15b3fc9c708593adb52d9eb240c1a6b55d5ac43b1637b8047499f15e525e368f"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "0614e2118927180d18f4a3fa833990a38e27340234a952abdb1d2ca93e7602a4"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "ce88aca5e2d6cd5ab7533898bc9b246bd159482c4acccb0afe4c451ee88f57fa"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a992d799bc07e8fbf05b894a5b184b11092f0041ee68187e59a23c5395b263e9"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "0188799d352e4d49d5ca29d6e197742d02e96a4b0b399df1f478e41b25292eb5"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "4a529f57b886260f8d1b109e06e487a936fa1eb5eeb79dbbd9e4e7a05f9ae2e9"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "112e0aa642a7f48edf8073eee180b62d5ab6000aa4a6197ea6ffc10d7087beb0"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/probe_initial_dispatch.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/probe_initial_dispatch.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "609250d2d15e31128d0331354babbaed6c27ea165cdfcbe893d14e932237dd1a"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/published-evidence-manifest.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/published-evidence-manifest.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6ba2c341b496ab7f79f9c5fd33a92831c2f8db25d018a4b4e67d41e0af9c5bc9"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "intakes/RPF-IN-0009-infd-zlib-native-release-review.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-review-stage/railiance-platform/intakes/RPF-IN-0009-infd-zlib-native-release-review.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a187eae16bd6eb8b05fdbffc860a7e87b62e726379fde92915de15d6d8bd4290"
|
||||
}
|
||||
]
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
"""Synthetic function and transport probes only. Never invoke main/native/Docker."""
|
||||
import ast,datetime,importlib.util,json,sys,subprocess
|
||||
from pathlib import Path
|
||||
from unittest.mock import patch
|
||||
root=Path(sys.argv[1]);sys.path.insert(0,str(root));import actuator,native_program
|
||||
from authority_journal import fresh_scan
|
||||
actuator.CASE=root.parent
|
||||
results={}
|
||||
try:actuator.remote("drill-backup","e"*40,{},operation_intent=None)
|
||||
except TypeError:results["operation_keyword_rejected_before_transport"]=True
|
||||
captured=[]
|
||||
def fake(argv,body=None,**kwargs):
|
||||
captured.append(json.loads(ast.literal_eval(body)));return subprocess.CompletedProcess(argv,0,'{"all_checks_pass":true}','')
|
||||
with patch.object(native_program,"PROGRAM","__PAYLOAD__"),patch.object(actuator,"run",side_effect=fake):actuator.remote("drill-copy","e"*40,{})
|
||||
results["copy_payload_missing_snapshot_identity"]="snapshot_identity" not in captured[0]
|
||||
results["payload_missing_operation_intent"]="operation_intent" not in captured[0]
|
||||
receipt={"image":actuator.IMAGE,"artifact_source_revision":"9b4bb25d325698ae543e7e8a8a3c3592db1f58fc","scanner":"aquasec/trivy@sha256:62b1e65e8869bc4b4c6aa4fa2b21595256c7c2f6018a9d9ad61caf87187c1969","no_suppression":True,"full_allseverity_scan":True,"exit_code":0,"completed_at":"2026-10-11T01:59:00Z","db_metadata":{"UpdatedAt":"2026-10-10T19:00:00Z","NextUpdate":"2026-10-11T19:00:00Z","Version":2},"db_sha256":"a"*64,"full_report_sha256":"b"*64}
|
||||
results["incomplete_unbound_zero_report_accepted"]=fresh_scan(receipt,{"Results":[{}]},datetime.datetime(2026,10,11,2,tzinfo=datetime.timezone.utc))["allseverity_findings"]==0
|
||||
print(json.dumps(results,sort_keys=True))
|
||||
if not all(results.values()):raise SystemExit(1)
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"revision": "9b4bb25d325698ae543e7e8a8a3c3592db1f58fc",
|
||||
"published_digest": "sha256:f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23",
|
||||
"verified_registry_config_digest": "sha256:622becc3ebd97cb66b6e7c36f35bf931a7decd9464b65851123c1cc8c998d75b",
|
||||
"executed_loaded_daemon_id": "sha256:f2e07e3dd839b55afd5d517243a765a26965325e4e6750f508771ad556bd6d01",
|
||||
"image_source": "actual anonymous verified descriptor/layer archive loaded locally",
|
||||
"candidate_image_executed": true,
|
||||
"network": "none",
|
||||
"read_only_root": true,
|
||||
"memory": "128MiB",
|
||||
"cpus": 1,
|
||||
"checker_source": "exact gitshow pinnedcommit",
|
||||
"native_provider_test": false,
|
||||
"native_workload_changed": false,
|
||||
"database_or_admin_or_provider_credentials": false,
|
||||
"verified_utc": "2026-10-11T09:39:37.502275+00:00"
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23",
|
||||
"zlib_package": "1.3.2-r1",
|
||||
"files": {
|
||||
"lib/apk/db/installed": [
|
||||
"file",
|
||||
420,
|
||||
0,
|
||||
0,
|
||||
"f590762196710e25c0e9f72da0642cad8a5dcba0aa9e58a0cbaa65684d15c001"
|
||||
],
|
||||
"usr/lib/libz.so.1.3.2": [
|
||||
"file",
|
||||
493,
|
||||
0,
|
||||
0,
|
||||
"ecc8b9dfc45eb7fa29b410ffaca6257873890de53b80fe91735737b49067c5f2"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,205 @@
|
|||
[
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/README.md",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/README.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "ae9225812b068e85557506662470169322294c67f1b643406188822eaa1e71f5"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/artifact-comparison.json",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/artifact-comparison.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/base-image-config.json",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/base-image-config.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "4ad7249c75fd9fc039ceb186772419e1cba5fd9759c404556459c80a2d285d10"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/base-image-manifest.json",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/base-image-manifest.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "978c575d3c7bf0de39dbe4e9567c39cd36f70b7e55bc17357bdb03fb3b96b0fb"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/base-runtime.json",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/base-runtime.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "20aabb9f4846ab4fa6e28e0763d153188da151ee32293366a51b0fdf872a4d24"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/base-sbom.cdx.json",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/base-sbom.cdx.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "dd7d64c9571391acd4d1f86c6026a1b094abab4ee56e5a9f799ec2fd3c7d915a"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/base-sbom.cdx.json.log",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/base-sbom.cdx.json.log",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "8ab4473a5f74b36e82a4095e9c8d6e66d80aec64bd1cebd6c9f6734531869fca"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/base-trivy-full.json",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/base-trivy-full.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "3e91a3001adb008cec37d9ae3c08342f5d43c8ba0111eee75c63a6a7918808a9"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/base-trivy-full.json.log",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/base-trivy-full.json.log",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "96a48dc39f7d674b4954d5fa98a76645528ec0fe705782fe114e3b4b9d776862"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/candidate-runtime.json",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/candidate-runtime.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/ci-publication-observation.json",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/ci-publication-observation.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "ffe6f2508bc9bebbdc85ac63eae5765562efbb8e920cc85b8da30a12ee1e4b17"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/image-config.json",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/image-config.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "253ab359013aeb3457d2abe0852bacd33697f973dd32c1b5738800e5dc633f43"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/image-manifest.json",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/image-manifest.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9ca2abec6a26d9a9f802dfe75efa8bffdc28485e6bcaf525cc9b075df3700194"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/installed-purpose.json",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/installed-purpose.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "312312c6f0bd2751401b3bc5bcd30ee6af01ed7cb380f85b863d03b0c7e9d1ad"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/loaded-daemon-image-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/loaded-daemon-image-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "2e5c043a101d75e4c569adb6bc2f09020679b28ed2ad836c954f7d27101ce719"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/publication-digest.json",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/publication-digest.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "ca2a1dec38db8c5fbbc00ef4f27aa865edbbd4a7ca9dc21b2ba023664c507f38"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/published-verification.json",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/published-verification.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/read_public_artifact.py",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/read_public_artifact.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "eaa31da1ebb2095ea5e1bc7c570311cc4747f0d7f718034dad934351d1920daf"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/registry-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/registry-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "3ef52d9e4800fc9bd238072241dc15f13a0260ee3df1e82e6f63e72902749d92"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/run_published_runtime.py",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/run_published_runtime.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "d9bd33fecd2a98c2381b4ba2dce12b5c3d9a69faa5e350291924fc885f5e775f"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/run_published_scan.py",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/run_published_scan.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "2583ab96350412fb3f20b5b05ded0949eb3ee8e5c0e8923a9c2c42d419d36639"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/runtime-comparison.json",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/runtime-comparison.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "993b80b9285e227a0bdfde4927cd2f053bcc4a58dd9bd1b633ac7a4637d6713c"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/runtime-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/runtime-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/sbom.cdx.json",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/sbom.cdx.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "4202263059780eae0448328044c1cf68b59758f329ae6bc981d916610527eae3"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/sbom.cdx.json.log",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/sbom.cdx.json.log",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "51873b37a0846ee1a618ea7591d79809dc0f8624f77a03fae7af953bcbd7282f"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/scan-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/scan-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/source-commit-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/source-commit-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/trivy-full.json",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/trivy-full.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "2ff68e765b9c65292611d5a969202a7654637168edefcedac5d2c7634009edae"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-published-verification/trivy-full.json.log",
|
||||
"staged_path": "/tmp/infd-zlib-published-evidence-stage/informed-decision/docs/evidence/2026-10-11-zlib-published-verification/trivy-full.json.log",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b3419af860d264449f61986f562491edaead27dfd3638ceabe94b4fe177f4bf1"
|
||||
}
|
||||
]
|
||||
|
|
@ -0,0 +1,52 @@
|
|||
{
|
||||
"image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23",
|
||||
"policy": {
|
||||
"origin": "http://flex-auth-informed-decision-sitting.flex-auth.svc.cluster.local:8080",
|
||||
"package": "informed-decision.compact-sitting",
|
||||
"version": "v13",
|
||||
"package_digest": "sha256:31be5985c0c1e6b0c3a039ed7310d1e94daf523a94f6d926e6e8d759d3711873",
|
||||
"pod_name": "flex-auth-informed-decision-sitting"
|
||||
},
|
||||
"keycape_egress_ips": [
|
||||
"92.205.62.239"
|
||||
],
|
||||
"storage_class": "local-path",
|
||||
"ordinary_approval_ids": [
|
||||
"2ce76d7f-01c3-4b63-8476-8d1230679769",
|
||||
"c2af4bcf-15b4-4305-aac1-acc7e4dcb099",
|
||||
"dc22666a-d5d7-46bc-9490-ebe9fe09dc38"
|
||||
],
|
||||
"lifecycle_policy": {
|
||||
"package": "informed-decision.lifecycle",
|
||||
"version": "v2",
|
||||
"package_digest": "sha256:da01e045fc108adec6b489e5d51f7e57366793016c5a64776963780a6aae457c",
|
||||
"origin": "http://flex-auth-informed-decision-lifecycle.flex-auth.svc.cluster.local:8080",
|
||||
"pod_name": "flex-auth-informed-decision-lifecycle"
|
||||
},
|
||||
"lifecycle_delivery": true,
|
||||
"intake_attributes": true,
|
||||
"intake_delivery": {
|
||||
"hub_origin": "http://state-hub.state-hub.svc.cluster.local:8000"
|
||||
},
|
||||
"workload_api": {
|
||||
"registries_configmap": "informed-decision-workload-registry",
|
||||
"peers": [
|
||||
{
|
||||
"namespace": "state-hub",
|
||||
"app": "state-hub"
|
||||
}
|
||||
],
|
||||
"api_egress": [
|
||||
{
|
||||
"ip": "10.43.0.1",
|
||||
"port": 443
|
||||
},
|
||||
{
|
||||
"ip": "92.205.62.239",
|
||||
"port": 6443
|
||||
}
|
||||
],
|
||||
"intake": true,
|
||||
"lifecycle": true
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,354 @@
|
|||
"""One fixed supervised phase; never run this during source preparation."""
|
||||
import argparse
|
||||
import hashlib
|
||||
import json
|
||||
import os
|
||||
from pathlib import Path
|
||||
import re
|
||||
import selectors
|
||||
import stat
|
||||
import subprocess
|
||||
import sys
|
||||
import time
|
||||
|
||||
if sys.flags.optimize:
|
||||
raise SystemExit('optimized interpreter refused')
|
||||
|
||||
PHASES = ('drill-backup', 'drill-copy', 'offline-verify', 'cleanup-offline',
|
||||
'cutover-backup', 'cutover-copy', 'release', 'verify', 'rollback', 'rollback-verify')
|
||||
|
||||
|
||||
def require(value, reason):
|
||||
if not value:
|
||||
raise ValueError(reason)
|
||||
|
||||
|
||||
def sha(path):
|
||||
digest = hashlib.sha256()
|
||||
with Path(path).open('rb') as stream:
|
||||
for block in iter(lambda: stream.read(1024**2), b''):
|
||||
digest.update(block)
|
||||
return digest.hexdigest()
|
||||
|
||||
|
||||
def private(path, directory=False):
|
||||
info = Path(path).lstat()
|
||||
require((stat.S_ISDIR(info.st_mode) if directory else stat.S_ISREG(info.st_mode))
|
||||
and info.st_uid == os.getuid() and stat.S_IMODE(info.st_mode) == (0o700 if directory else 0o600)
|
||||
and (directory or info.st_nlink == 1), 'private owned custody required')
|
||||
|
||||
ROOT = Path(__file__).resolve().parent
|
||||
CASE = ROOT.parent
|
||||
OWNER = Path('/home/worsch/informed-decision')
|
||||
CUSTODIAN = Path('/home/worsch/the-custodian')
|
||||
CUSTODY = CUSTODIAN / '.private-backups/20261011-infd-zlib-r1'
|
||||
SOCKET = 'unix:///var/run/docker.sock'
|
||||
IMAGE = 'forgejo.coulomb.social/coulomb/informed-decision@sha256:f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23'
|
||||
VOLUME = 'infd-zlib-r1-restore-20261011'
|
||||
MAX_BYTES = 512 * 1024**2
|
||||
|
||||
|
||||
def run(argv, body=None, timeout=90):
|
||||
return subprocess.run(argv, input=body, text=True, capture_output=True, timeout=timeout)
|
||||
|
||||
|
||||
def json_result(result):
|
||||
try:
|
||||
value = json.loads(result.stdout)
|
||||
except (ValueError, TypeError):
|
||||
raise ValueError('safe phase receipt unavailable; outcome uncertain') from None
|
||||
require(result.returncode == 0 and isinstance(value, dict) and value.get('all_checks_pass') is True,
|
||||
'phase did not verify complete; raw output withheld; no retry')
|
||||
permitted = {'phase', 'all_checks_pass', 'raw_output_withheld', 'native_approval_verified_by_root',
|
||||
'native_authenticated_grant', 'source_readonly_baseline', 'snapshot_readonly',
|
||||
'snapshot_sha256', 'snapshot_bytes', 'snapshot_file', 'native_parent_private',
|
||||
'native_uid', 'pod_name', 'pod_uid', 'live_readonly_schema_integrity_counts',
|
||||
'live_counts_may_include_concurrent_commits', 'operation_requested', 'source_revision',
|
||||
'resources', 'prune', 'rollout_verified', 'latest_live_database_retained',
|
||||
'client_diff_sha256', 'native_rollout_verified', 'current_schema5_database_retained',
|
||||
'private_copy_verified', 'installed_purpose_checks', 'policy_sha256',
|
||||
'policy_mode', 'policy_uid', 'installed_zlib_files', 'zlib_package', 'health_statuses', 'native_provider_probe', 'recovery_verification'}
|
||||
require(set(value) <= permitted, 'unexpected output fields withheld')
|
||||
from receipt_safety import counts
|
||||
for name in ('source_readonly_baseline', 'snapshot_readonly', 'live_readonly_schema_integrity_counts'):
|
||||
if name in value:
|
||||
counts(value[name])
|
||||
for name in ('snapshot_sha256', 'client_diff_sha256'):
|
||||
if name in value:
|
||||
require(re.fullmatch(r'[a-f0-9]{64}', value[name]) is not None, 'invalid output digest withheld')
|
||||
if 'snapshot_bytes' in value:
|
||||
require(type(value['snapshot_bytes']) is int and 0 < value['snapshot_bytes'] <= MAX_BYTES,
|
||||
'invalid output size withheld')
|
||||
if 'snapshot_file' in value:
|
||||
require(value['snapshot_file'] in ('drill.sqlite', 'cutover.sqlite'), 'invalid output file withheld')
|
||||
return value
|
||||
|
||||
|
||||
def docker(argv, body=None, timeout=120):
|
||||
return run(['docker', '--config', str(CUSTODY / 'empty-docker-config'), '--host', SOCKET] + argv,
|
||||
body=body, timeout=timeout)
|
||||
|
||||
|
||||
def remote(phase, revision, approved):
|
||||
# Fixed module imported only after main verifies every executor source hash.
|
||||
from native_program import PROGRAM
|
||||
payload = {'phase': phase, 'source_revision': revision, 'approval': approved,
|
||||
'sealed': json.loads((CASE / 'sealed-live-deployment.json').read_text()),
|
||||
'dependencies': json.loads((CASE / 'sealed-native-dependencies.json').read_text()),
|
||||
'candidate': json.loads((CASE / 'candidate-deployment.json').read_text()),
|
||||
'rollback': json.loads((CASE / 'rollback-deployment.json').read_text()),
|
||||
'receipt_safety': (ROOT / 'receipt_safety.py').read_text(),
|
||||
'purpose_checks': (CASE / 'check_installed.py').read_text(),
|
||||
'installed_zlib': json.loads((CASE / 'installed-zlib-proof.json').read_text()), 'readonly': (CASE / 'sqlite_readonly.py').read_text()}
|
||||
script = PROGRAM.replace('__PAYLOAD__', repr(json.dumps(payload))).replace(
|
||||
'__GUARD__', repr((CASE / 'change_guard.py').read_text()))
|
||||
return json_result(run(['ssh', 'railiance01', 'python3 -'], script, timeout=200))
|
||||
|
||||
|
||||
def copy_snapshot(phase, revision, approved, journal):
|
||||
metadata = remote(phase, revision, approved)
|
||||
backup_phase = 'drill-backup' if phase == 'drill-copy' else 'cutover-backup'
|
||||
prior = journal.data['phases'][backup_phase]['result']
|
||||
for key in ('snapshot_sha256', 'snapshot_bytes', 'snapshot_file', 'snapshot_readonly'):
|
||||
require(metadata[key] == prior[key], 'closed frozen snapshot changed')
|
||||
name = metadata['snapshot_file']
|
||||
require(name in ('drill.sqlite', 'cutover.sqlite') and 0 < metadata['snapshot_bytes'] <= MAX_BYTES,
|
||||
'fixed bounded snapshot required')
|
||||
pod = metadata['pod_name']
|
||||
require(re.fullmatch(r'[a-z0-9]([-a-z0-9]*[a-z0-9])?', pod) is not None, 'fixed owner pod name required')
|
||||
local = CUSTODY / name
|
||||
fd = os.open(local, os.O_WRONLY | os.O_CREAT | os.O_EXCL | os.O_NOFOLLOW, 0o600)
|
||||
# Binary snapshot stdout goes only to a private file, never tool/chat/log output.
|
||||
# Snapshot schema/count metadata was validated before opening this destination.
|
||||
with os.fdopen(fd, 'wb') as destination:
|
||||
command = ('kubectl exec -n informed-decision ' + pod +
|
||||
' -c informed-decision -- cat /data/private/zlib85091-r1/' + name)
|
||||
transfer = subprocess.Popen(['ssh', 'railiance01', command], stdout=subprocess.PIPE,
|
||||
stderr=subprocess.DEVNULL)
|
||||
selector = selectors.DefaultSelector()
|
||||
selector.register(transfer.stdout, selectors.EVENT_READ)
|
||||
deadline = time.monotonic() + 150
|
||||
received = 0
|
||||
try:
|
||||
while True:
|
||||
remaining = deadline - time.monotonic()
|
||||
require(remaining > 0 and selector.select(remaining), 'private transfer timed out')
|
||||
block = os.read(transfer.stdout.fileno(), 1024**2)
|
||||
if not block:
|
||||
break
|
||||
received += len(block)
|
||||
require(received <= metadata['snapshot_bytes'] and received <= MAX_BYTES,
|
||||
'private copy exceeds frozen snapshot size')
|
||||
destination.write(block)
|
||||
transfer.wait(timeout=max(1, deadline - time.monotonic()))
|
||||
finally:
|
||||
selector.close()
|
||||
transfer.stdout.close()
|
||||
if transfer.poll() is None:
|
||||
transfer.kill()
|
||||
transfer.wait()
|
||||
destination.flush()
|
||||
os.fsync(destination.fileno())
|
||||
private(local)
|
||||
require(transfer.returncode == 0 and local.stat().st_size == metadata['snapshot_bytes']
|
||||
and sha(local) == metadata['snapshot_sha256'], 'private copy incomplete/uncertain; retain, no retry')
|
||||
# Re-read identity/hash after transfer. This is verification, not a write retry.
|
||||
after = remote(phase, revision, approved)
|
||||
require(after['pod_uid'] == metadata['pod_uid'] and after['snapshot_sha256'] == metadata['snapshot_sha256'],
|
||||
'source identity/snapshot changed during transfer')
|
||||
return {**metadata, 'off_cluster_private_copy_verified': True, 'snapshot_contents_output': False}
|
||||
|
||||
|
||||
def offline_verify(journal):
|
||||
from receipt_safety import counts
|
||||
snapshot = CUSTODY / 'drill.sqlite'
|
||||
private(snapshot)
|
||||
previous = journal.data['phases']['drill-copy']['result']
|
||||
require(sha(snapshot) == previous['snapshot_sha256'], 'protected snapshot bytes changed')
|
||||
identity = docker(['info', '--format', '{{json .Name}}'])
|
||||
require(identity.returncode == 0 and json.loads(identity.stdout) == 'bnt-lap001',
|
||||
'local offline Docker engine identity changed')
|
||||
listed = docker(['volume', 'ls', '--format', '{{.Name}}'])
|
||||
require(listed.returncode == 0 and VOLUME not in listed.stdout.splitlines(),
|
||||
'disposable volume absence not verified')
|
||||
nonce = journal.data['phases']['offline-verify']['attempt_id']
|
||||
labels = {'informed-decision.case': 'infd-zlib-20261011-r1',
|
||||
'informed-decision.use': 'offline-restore-only', 'informed-decision.attempt': nonce}
|
||||
created = docker(['volume', 'create', '--driver', 'local', '--label', 'informed-decision.case=infd-zlib-20261011-r1',
|
||||
'--label', 'informed-decision.attempt=' + nonce,
|
||||
'--label', 'informed-decision.use=offline-restore-only', VOLUME])
|
||||
require(created.returncode == 0 and created.stdout.strip() == VOLUME, 'volume creation uncertain; no retry')
|
||||
inspected = docker(['volume', 'inspect', VOLUME])
|
||||
require(inspected.returncode == 0, 'new volume identity unavailable')
|
||||
volume = json.loads(inspected.stdout)
|
||||
require(len(volume) == 1 and volume[0]['Name'] == VOLUME and volume[0].get('Labels') == labels
|
||||
and volume[0].get('Driver') == 'local' and not volume[0].get('Options')
|
||||
and volume[0].get('Scope') == 'local', 'new isolated volume identity changed')
|
||||
identity = {key: volume[0][key] for key in ('Name', 'Labels', 'Driver', 'Scope', 'CreatedAt')}
|
||||
journal.note('offline-verify', 'created_volume_identity', identity)
|
||||
# One-time UID0/CAP_CHOWN initialization is isolated to the NEW named volume.
|
||||
# No host/live PVC/config/token mount exists; this detail needs packet review.
|
||||
initializer = """import hashlib,os,stat,sys
|
||||
if sys.flags.optimize:raise RuntimeError('optimized interpreter refused')
|
||||
folder='/restore';expected=EXPECTED
|
||||
if os.listdir(folder):raise ValueError('new empty private volume required')
|
||||
os.chmod(folder,0o700)
|
||||
fd=os.open(folder+'/review.sqlite',os.O_CREAT|os.O_EXCL|os.O_NOFOLLOW|os.O_WRONLY,0o600)
|
||||
digest=hashlib.sha256();size=0
|
||||
with os.fdopen(fd,'wb') as target:
|
||||
while True:
|
||||
block=sys.stdin.buffer.read(1024**2)
|
||||
if not block:break
|
||||
size+=len(block)
|
||||
if size>512*1024**2:raise ValueError('private restore size exceeds bound')
|
||||
target.write(block);digest.update(block)
|
||||
target.flush();os.fsync(target.fileno())
|
||||
if digest.hexdigest()!=expected:raise ValueError('private copied snapshot differs')
|
||||
os.chown(folder+'/review.sqlite',10001,10001);os.chown(folder,10001,10001)
|
||||
print('{"all_checks_pass":true,"private_copy_verified":true}')
|
||||
""".replace('EXPECTED', repr(previous['snapshot_sha256']))
|
||||
with snapshot.open('rb') as source:
|
||||
argv = ['docker', '--config', str(CUSTODY / 'empty-docker-config'), '--host', SOCKET,
|
||||
'run', '--rm', '-i', '--network', 'none', '--read-only', '--cpus', '1', '--memory', '128m',
|
||||
'--user', '0:0', '--cap-drop', 'ALL', '--cap-add', 'CHOWN',
|
||||
'--security-opt', 'no-new-privileges', '--mount', 'type=volume,src=' + VOLUME + ',dst=/restore',
|
||||
'--entrypoint', 'python', IMAGE, '-c', initializer]
|
||||
copied = subprocess.run(argv, stdin=source, text=True, capture_output=True, timeout=150)
|
||||
json_result(copied)
|
||||
options = ['run', '--rm', '-i', '--network', 'none', '--read-only', '--cpus', '1', '--memory', '128m',
|
||||
'--user', '10001:10001', '--cap-drop', 'ALL', '--security-opt', 'no-new-privileges',
|
||||
'--mount', 'type=volume,src=' + VOLUME + ',dst=/restore']
|
||||
readonly = docker(options + ['--entrypoint', 'python', IMAGE, '-', '--db', '/restore/review.sqlite'],
|
||||
(CASE / 'sqlite_readonly.py').read_text())
|
||||
require(readonly.returncode == 0, 'offline pre-open schema/integrity gate refused; never open Store')
|
||||
checked = counts(json.loads(readonly.stdout))
|
||||
require(checked == previous['snapshot_readonly'], 'frozen snapshot/clone readonly counts differ')
|
||||
admin = docker(options + ['--entrypoint', 'informed-decision-admin', IMAGE,
|
||||
'inspect', '--db', '/restore/review.sqlite'])
|
||||
require(admin.returncode == 0, 'offline admin result uncertain')
|
||||
admin_counts = json.loads(admin.stdout)
|
||||
require(admin_counts == {key: checked[key] for key in ('schema_version', 'lifecycle', 'outbox', 'submissions')},
|
||||
'offline admin changed frozen snapshot counters')
|
||||
# Admin Store construction must not silently alter schema/integrity/counters.
|
||||
post = docker(options + ['--entrypoint', 'python', IMAGE, '-', '--db', '/restore/review.sqlite'],
|
||||
(CASE / 'sqlite_readonly.py').read_text())
|
||||
require(post.returncode == 0, 'offline post-admin readonly integrity gate refused')
|
||||
post_checked = counts(json.loads(post.stdout))
|
||||
require(post_checked == checked == previous['snapshot_readonly'],
|
||||
'offline admin altered frozen snapshot proof')
|
||||
private(snapshot)
|
||||
require(sha(snapshot) == previous['snapshot_sha256'], 'original protected snapshot changed during drill')
|
||||
return {'all_checks_pass': True, 'offline_volume': VOLUME, 'offline_readonly': checked,
|
||||
'offline_post_admin_readonly': post_checked, 'original_snapshot_hash_unchanged': True,
|
||||
'created_volume_identity': identity,
|
||||
'admin_counts': admin_counts, 'network': 'none', 'runtime_tokens_or_config_mounted': False,
|
||||
'service_entrypoint_started': False, 'original_snapshot_retained': True}
|
||||
|
||||
|
||||
def cleanup_offline(journal):
|
||||
inspected = docker(['volume', 'inspect', VOLUME])
|
||||
require(inspected.returncode == 0, 'owned disposable volume identity unverified')
|
||||
value = json.loads(inspected.stdout)
|
||||
expected = journal.data['phases']['offline-verify']['result']['created_volume_identity']
|
||||
require(len(value) == 1 and {key: value[0].get(key) for key in expected} == expected
|
||||
and not value[0].get('Options'), 'volume ownership/recreation changed')
|
||||
removed = docker(['volume', 'rm', VOLUME])
|
||||
require(removed.returncode == 0 and removed.stdout.strip() == VOLUME
|
||||
and docker(['volume', 'inspect', VOLUME]).returncode != 0,
|
||||
'cleanup outcome ambiguous; do not retry')
|
||||
return {'all_checks_pass': True, 'only_disposable_offline_volume_removed': VOLUME,
|
||||
'native_and_offcluster_original_snapshots_retained': True}
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument('--phase', choices=PHASES, required=True)
|
||||
parser.add_argument('--root-authority-receipt', type=Path, required=True)
|
||||
parser.add_argument('--root-native-outcome', type=Path, required=True)
|
||||
parser.add_argument('--source-revision', required=True)
|
||||
args = parser.parse_args()
|
||||
require(args.root_authority_receipt == Path('/tmp/security-infd-zlib-root-authority.json')
|
||||
and args.root_native_outcome == Path('/tmp/security-infd-zlib-native-outcome-latest.json'),
|
||||
'fixed supervised receipt paths required')
|
||||
require(re.fullmatch(r'[0-9a-f]{40}', args.source_revision) is not None, 'exact source commit required')
|
||||
# Verify all prepared executor/input bytes before reading authority or dispatching.
|
||||
plan = json.loads((ROOT / 'execution-plan.json').read_text())
|
||||
require(plan.get('state') == 'prepared-reviewed' and plan.get('published_artifact_verified') is True, 'unfrozen proposal cannot execute')
|
||||
require(set(plan['executor_files']) == {'actuator.py', 'authority_journal.py', 'native_program.py', 'receipt_safety.py'},
|
||||
'fixed executor sources required')
|
||||
require(set(plan['owner_source_files']) == {'deploy/lifecycle/admission.candidate.json',
|
||||
'deploy/lifecycle/service.candidate.json',
|
||||
'deploy/lifecycle/kustomization.yaml',
|
||||
'deploy/lifecycle/registries.candidate.json'},
|
||||
'fixed owner image sources required')
|
||||
for relative, digest in plan['executor_files'].items():
|
||||
target = ROOT / relative
|
||||
require(not target.is_symlink() and sha(target) == digest, 'executor source bytes changed')
|
||||
for relative, digest in plan['case_files'].items():
|
||||
require(not Path(relative).is_absolute() and '..' not in Path(relative).parts,
|
||||
'case source path escaped')
|
||||
target = CASE / relative
|
||||
require(not target.is_symlink() and sha(target) == digest, 'case source bytes changed')
|
||||
for relative, digest in plan['owner_source_files'].items():
|
||||
target = OWNER / relative
|
||||
require(not target.is_symlink() and sha(target) == digest, 'owner image-only source changed')
|
||||
committed = subprocess.run(['git', '-C', str(OWNER), 'show', args.source_revision + ':' + relative],
|
||||
capture_output=True)
|
||||
require(committed.returncode == 0 and hashlib.sha256(committed.stdout).hexdigest() == digest,
|
||||
'committed owner render source differs from approved inputs')
|
||||
head = run(['git', '-C', str(OWNER), 'rev-parse', 'HEAD'])
|
||||
require(head.returncode == 0 and head.stdout.strip() == args.source_revision, 'owner source HEAD differs')
|
||||
from authority_journal import Journal, authority
|
||||
private(args.root_authority_receipt)
|
||||
private(args.root_native_outcome)
|
||||
receipt = json.loads(args.root_authority_receipt.read_text())
|
||||
require(receipt.get('native_outcome_sha256') == sha(args.root_native_outcome), 'native outcome bytes changed')
|
||||
require(receipt.get('executor_plan_sha256') == sha(ROOT / 'execution-plan.json'),
|
||||
'root verified executor plan differs')
|
||||
approved = authority(receipt, json.loads(args.root_native_outcome.read_text()), sha(CASE / 'memo.json'),
|
||||
args.source_revision, args.phase)
|
||||
parent = CUSTODY.parent
|
||||
private(parent, directory=True)
|
||||
ignored = run(['git', '-C', str(CUSTODIAN), 'check-ignore', '--no-index', str(CUSTODY / 'drill.sqlite')])
|
||||
require(ignored.returncode == 0, 'offcluster custody is not ignored')
|
||||
if not CUSTODY.exists():
|
||||
require(args.phase == 'drill-backup', 'first approved phase must create unique private custody')
|
||||
os.mkdir(CUSTODY, 0o700)
|
||||
private(CUSTODY, directory=True)
|
||||
capacity = os.statvfs(CUSTODY)
|
||||
require(capacity.f_bavail * capacity.f_frsize >= 2 * MAX_BYTES + 16 * 1024**2,
|
||||
'independent protected custody headroom insufficient')
|
||||
os.makedirs(CUSTODY / 'empty-docker-config', mode=0o700, exist_ok=True)
|
||||
private(CUSTODY / 'empty-docker-config', directory=True)
|
||||
require(not list((CUSTODY / 'empty-docker-config').iterdir()), 'public Docker read config must stay empty')
|
||||
journal = Journal(CUSTODY, {'proposal': plan['proposal_id'], 'source_revision': args.source_revision,
|
||||
'memo_sha256': sha(CASE / 'memo.json'), 'plan_sha256': sha(ROOT / 'execution-plan.json')})
|
||||
try:
|
||||
journal.start(args.phase, approved) # fsynced RUNNING before any phase effect.
|
||||
if args.phase in ('drill-copy', 'cutover-copy'):
|
||||
result = copy_snapshot(args.phase, args.source_revision, approved, journal)
|
||||
elif args.phase == 'offline-verify':
|
||||
result = offline_verify(journal)
|
||||
elif args.phase == 'cleanup-offline':
|
||||
result = cleanup_offline(journal)
|
||||
else:
|
||||
result = remote(args.phase, args.source_revision, approved, operation_intent=journal.data['phases'].get('rollback' if args.phase == 'rollback-verify' else 'release') if args.phase in ('verify', 'rollback-verify') else None)
|
||||
journal.finish(args.phase, result)
|
||||
print(json.dumps(result)) # Only count/hash/identity receipts, never snapshot bytes.
|
||||
except BaseException as error:
|
||||
safe = {'all_checks_pass': False, 'phase': args.phase, 'failure_class': type(error).__name__,
|
||||
'failure': 'fixed phase outcome uncertain; original evidence retained; no retry',
|
||||
'raw_output_withheld': True}
|
||||
if journal.data['phases'].get(args.phase, {}).get('state') == 'RUNNING':
|
||||
journal.finish(args.phase, safe)
|
||||
print(json.dumps(safe))
|
||||
raise SystemExit(1) from None
|
||||
finally:
|
||||
journal.close()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
main()
|
||||
except Exception:
|
||||
raise SystemExit('supervised execution refused before phase; raw output withheld') from None
|
||||
|
|
@ -0,0 +1,402 @@
|
|||
"""Synthetic custody/transport tests. No native data, Docker or cluster action."""
|
||||
import copy
|
||||
import datetime
|
||||
import io
|
||||
import json
|
||||
import os
|
||||
from pathlib import Path
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
import unittest
|
||||
from unittest.mock import patch
|
||||
from contextlib import redirect_stdout
|
||||
|
||||
import actuator
|
||||
from authority_journal import Journal, authority, fresh_scan
|
||||
from native_program import PROGRAM
|
||||
from receipt_safety import counts
|
||||
|
||||
CASE = Path(__file__).resolve().parent.parent
|
||||
NOW = datetime.datetime(2026, 10, 11, 2, 0, tzinfo=datetime.timezone.utc)
|
||||
REVISION = 'e' * 40
|
||||
COUNT = {'schema_version': 5, 'integrity': 'ok', 'read_only_pre_open': True, 'store_constructed': False,
|
||||
'lifecycle': {'records': 3, 'events': 8, 'pending': 1},
|
||||
'outbox': {'pending': 2, 'delivered': 10}, 'submissions': {'confirmed': 1, 'unresolved': 1}}
|
||||
|
||||
|
||||
def accepted():
|
||||
approval = '11111111-1111-4111-8111-111111111111'
|
||||
review = 'review-22222222-2222-4222-8222-222222222222'
|
||||
disposition = 'disp-33333333-3333-4333-8333-333333333333'
|
||||
receipt = {'proposal_id': 'INFD-WP-0009-T05/zlib85091-r1',
|
||||
'memo_id': 'infd-20261011-zlib-remediation-r1', 'memo_version': 1,
|
||||
'memo_sha256': 'a' * 64, 'source_revision': REVISION, 'activation': 'APPROVED',
|
||||
'authority_mode': 'ADMINISTER', 'target': 'realm:kubernetes/railiance01/informed-decision',
|
||||
'verification_method': 'root-fixed-origin-native-readback', 'runtime_authenticated_grant': False, 'outcome_query': '/lifecycle/memos/infd-20261011-zlib-remediation-r1/outcomes?version=1',
|
||||
'verified_at': '2026-10-11T02:00:00Z', 'accepted_at': '2026-10-11T01:59:00Z',
|
||||
'review_memo_id': review, 'approval_id': approval, 'disposition_id': disposition}
|
||||
outcome = {'memo_id': receipt['memo_id'], 'review': {'memo_id': review, 'stale': False, 'intake_state': 'ready'},
|
||||
'dispositions': [{'approval_id': None, 'submission_state': 'confirmed',
|
||||
'disposition': {'verb': 'accept', 'memo_version': 1, 'memo_id': review,
|
||||
'approval_id': approval, 'id': disposition,
|
||||
'actor': {'kind': 'person', 'sub': 'uid=platform-root,ou=people,dc=netkingdom,dc=local'},
|
||||
'at': receipt['accepted_at']}}]}
|
||||
return receipt, outcome
|
||||
|
||||
|
||||
class AuthorityAndCustody(unittest.TestCase):
|
||||
def test_exact_nested_founder_receipt_not_top_level_approval(self):
|
||||
receipt, outcome = accepted()
|
||||
result = authority(receipt, outcome, 'a' * 64, REVISION, 'drill-copy', NOW)
|
||||
self.assertEqual(result['approval_id'], receipt['approval_id'])
|
||||
|
||||
def test_pending_stale_wrong_actor_version_and_binding_refuse(self):
|
||||
mutations = [lambda r, o: r.update(activation='PENDING'),
|
||||
lambda r, o: r.update(memo_sha256='changed'),
|
||||
lambda r, o: r.update(source_revision='changed'),
|
||||
lambda r, o: r.update(target='other'),
|
||||
lambda r, o: r.update(verified_at='2026-10-11T01:00:00Z'),
|
||||
lambda r, o: r.update(verification_method='caller-asserted'),
|
||||
lambda r, o: r.update(runtime_authenticated_grant=True),
|
||||
lambda r, o: o['review'].update(stale=True),
|
||||
lambda r, o: o['review'].update(intake_state='pending'),
|
||||
lambda r, o: o['dispositions'][0].update(submission_state='unresolved'),
|
||||
lambda r, o: o['dispositions'][0]['disposition'].update(memo_version=3),
|
||||
lambda r, o: o['dispositions'][0]['disposition'].update(actor={'kind': 'agent', 'sub': 'platform-root'}),
|
||||
lambda r, o: o['dispositions'].append(copy.deepcopy(o['dispositions'][0]))]
|
||||
for mutate in mutations:
|
||||
with self.subTest(mutate=mutate):
|
||||
r, o = accepted()
|
||||
mutate(r, o)
|
||||
with self.assertRaises(ValueError):
|
||||
authority(r, o, 'a' * 64, REVISION, 'release', NOW)
|
||||
|
||||
def test_expired_window_and_unknown_phase_refuse(self):
|
||||
r, o = accepted()
|
||||
with self.assertRaises(ValueError):
|
||||
authority(r, o, 'a' * 64, REVISION, 'arbitrary', NOW)
|
||||
late = datetime.datetime(2026, 10, 13, tzinfo=datetime.timezone.utc)
|
||||
r['verified_at'] = late.isoformat()
|
||||
with self.assertRaises(ValueError):
|
||||
authority(r, o, 'a' * 64, REVISION, 'rollback', late)
|
||||
|
||||
def test_durable_intent_precedes_dispatch_and_never_retries(self):
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
parent = Path(directory)
|
||||
os.chmod(parent, 0o700)
|
||||
journal = Journal(parent, {'case': 'fixture'})
|
||||
journal.start('drill-backup', {'approval_id': 'fixture'})
|
||||
self.assertEqual(json.loads(journal.path.read_text())['phases']['drill-backup']['state'], 'RUNNING')
|
||||
journal.close() # simulated crash before result
|
||||
recovered = Journal(parent, {'case': 'fixture'})
|
||||
with self.assertRaises(ValueError):
|
||||
recovered.start('drill-backup', {})
|
||||
with self.assertRaises(ValueError):
|
||||
recovered.start('drill-backup', {})
|
||||
recovered.close()
|
||||
|
||||
def test_phase_order_and_uncertain_release_allows_only_distinct_recovery(self):
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
os.chmod(directory, 0o700)
|
||||
j = Journal(directory, {'case': 'fixture'})
|
||||
with self.assertRaises(ValueError):
|
||||
j.start('release', {})
|
||||
for phase in actuator.PHASES[:6]:
|
||||
j.start(phase, {})
|
||||
j.finish(phase, {'all_checks_pass': True})
|
||||
j.start('release', {})
|
||||
j.finish('release', {'all_checks_pass': False})
|
||||
with self.assertRaises(ValueError):
|
||||
j.start('release', {})
|
||||
with self.assertRaises(ValueError):
|
||||
j.start('verify', {})
|
||||
j.start('rollback', {})
|
||||
j.finish('rollback', {'all_checks_pass': True})
|
||||
j.close()
|
||||
|
||||
def test_secret_or_unknown_child_output_is_withheld(self):
|
||||
for body in ('not-json', '{"all_checks_pass":true,"token":"private-value"}',
|
||||
'{"all_checks_pass":true,"snapshot_readonly":{"schema_version":5}}'):
|
||||
with self.assertRaises(ValueError):
|
||||
actuator.json_result(subprocess.CompletedProcess([], 0, body, ''))
|
||||
wrong = copy.deepcopy(COUNT)
|
||||
wrong['outbox'] = {'private-row-value': 1}
|
||||
with self.assertRaises(ValueError):
|
||||
counts(wrong)
|
||||
counts(COUNT) # blocked/unresolved counts are not required to be zero.
|
||||
|
||||
def test_binary_copy_is_bounded_private_and_never_echoed(self):
|
||||
blob = b'synthetic private fixture bytes'
|
||||
digest = __import__('hashlib').sha256(blob).hexdigest()
|
||||
metadata = {'all_checks_pass': True, 'snapshot_file': 'drill.sqlite', 'snapshot_bytes': len(blob),
|
||||
'snapshot_sha256': digest, 'snapshot_readonly': COUNT,
|
||||
'pod_name': 'fixture-pod', 'pod_uid': 'fixture-uid'}
|
||||
journal = type('FixtureJournal', (), {'data': {'phases': {'drill-backup': {'result': metadata}}}})()
|
||||
real_popen = subprocess.Popen
|
||||
for extra in (b'', b'oversized'):
|
||||
with self.subTest(extra=extra), tempfile.TemporaryDirectory() as folder:
|
||||
os.chmod(folder, 0o700)
|
||||
output = io.StringIO()
|
||||
|
||||
def child(*args, **kwargs):
|
||||
return real_popen([sys.executable, '-c', 'import sys;sys.stdout.buffer.write(' + repr(blob + extra) + ')'],
|
||||
stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
|
||||
|
||||
with patch.object(actuator, 'CUSTODY', Path(folder)), patch.object(actuator, 'remote', return_value=metadata), \
|
||||
patch('subprocess.Popen', side_effect=child), redirect_stdout(output):
|
||||
if extra:
|
||||
with self.assertRaises(ValueError):
|
||||
actuator.copy_snapshot('drill-copy', REVISION, {}, journal)
|
||||
else:
|
||||
result = actuator.copy_snapshot('drill-copy', REVISION, {}, journal)
|
||||
self.assertTrue(result['off_cluster_private_copy_verified'])
|
||||
self.assertEqual((Path(folder) / 'drill.sqlite').read_bytes(), blob)
|
||||
self.assertEqual(output.getvalue(), '')
|
||||
self.assertEqual((Path(folder) / 'drill.sqlite').stat().st_mode & 0o777, 0o600)
|
||||
|
||||
def test_recreated_offline_volume_cannot_be_deleted(self):
|
||||
identity = {'Name': actuator.VOLUME, 'Labels': {'nonce': 'old'}, 'CreatedAt': 'old'}
|
||||
journal = type('FixtureJournal', (), {'data': {'phases': {
|
||||
'offline-verify': {'result': {'created_volume_identity': identity}}}}})()
|
||||
inspected = [{**identity, 'CreatedAt': 'recreated'}]
|
||||
with patch.object(actuator, 'docker', return_value=subprocess.CompletedProcess([], 0, json.dumps(inspected), '')) as mocked:
|
||||
with self.assertRaises(ValueError):
|
||||
actuator.cleanup_offline(journal)
|
||||
self.assertEqual(mocked.call_count, 1)
|
||||
|
||||
def test_offline_post_admin_integrity_and_original_hash_are_rechecked(self):
|
||||
for defect in ('none', 'post-integrity', 'original-hash'):
|
||||
with self.subTest(defect=defect), tempfile.TemporaryDirectory() as directory:
|
||||
folder=Path(directory);os.chmod(folder,0o700)
|
||||
snapshot=folder/'drill.sqlite';snapshot.write_bytes(b'private synthetic snapshot');os.chmod(snapshot,0o600)
|
||||
digest=actuator.sha(snapshot)
|
||||
prior={'snapshot_sha256':digest,'snapshot_readonly':COUNT}
|
||||
journal=type('FixtureJournal',(),{'data':{'phases':{'drill-copy':{'result':prior},'offline-verify':{'attempt_id':'nonce'}}},'note':lambda *args:None})()
|
||||
reads=[]
|
||||
volume={'Name':actuator.VOLUME,'Labels':{'informed-decision.case':'infd-zlib-20261011-r1','informed-decision.use':'offline-restore-only','informed-decision.attempt':'nonce'},'Driver':'local','Scope':'local','CreatedAt':'fixture','Options':None}
|
||||
def docker(argv, body=None, **kwargs):
|
||||
if argv[0]=='info':body=json.dumps('bnt-lap001')
|
||||
elif argv[:2]==['volume','ls']:body=''
|
||||
elif argv[:2]==['volume','create']:body=actuator.VOLUME
|
||||
elif argv[:2]==['volume','inspect']:body=json.dumps([volume])
|
||||
elif 'informed-decision-admin' in argv:
|
||||
body=json.dumps({key:COUNT[key] for key in ('schema_version','lifecycle','outbox','submissions')})
|
||||
if defect=='original-hash':snapshot.write_bytes(b'changed synthetic original')
|
||||
elif '--entrypoint' in argv and 'python' in argv:
|
||||
reads.append(argv);proof=copy.deepcopy(COUNT)
|
||||
if len(reads)==2 and defect=='post-integrity':proof['integrity']='corrupt'
|
||||
body=json.dumps(proof)
|
||||
else:raise AssertionError('unexpected offline command')
|
||||
return subprocess.CompletedProcess(argv,0,body,'')
|
||||
with patch.object(actuator,'CUSTODY',folder),patch.object(actuator,'CASE',CASE),patch.object(actuator,'docker',side_effect=docker),patch('subprocess.run',return_value=subprocess.CompletedProcess([],0,'{"all_checks_pass":true,"private_copy_verified":true}','')):
|
||||
if defect=='none':
|
||||
result=actuator.offline_verify(journal)
|
||||
self.assertEqual(result['offline_post_admin_readonly'],COUNT)
|
||||
self.assertTrue(result['original_snapshot_hash_unchanged'])
|
||||
else:
|
||||
with self.assertRaises(ValueError):actuator.offline_verify(journal)
|
||||
self.assertEqual(len(reads),2)
|
||||
|
||||
def test_fresh_full_scan_db_expiry_and_new_findings_refuse(self):
|
||||
receipt={'image':actuator.IMAGE,'artifact_source_revision':'9b4bb25d325698ae543e7e8a8a3c3592db1f58fc','scanner':'aquasec/trivy@sha256:62b1e65e8869bc4b4c6aa4fa2b21595256c7c2f6018a9d9ad61caf87187c1969','no_suppression':True,'full_allseverity_scan':True,'exit_code':0,'completed_at':'2026-10-11T01:59:00Z','db_metadata':{'UpdatedAt':'2026-10-10T19:00:00Z','NextUpdate':'2026-10-11T19:00:00Z','Version':2},'db_sha256':'a'*64,'full_report_sha256':'b'*64}
|
||||
report={'Results':[{'Vulnerabilities':None}]}
|
||||
self.assertEqual(fresh_scan(receipt,report,NOW)['allseverity_findings'],0)
|
||||
mutations=[lambda r,p:r.update(no_suppression=False),lambda r,p:r.update(image='foreign'),lambda r,p:r.update(scanner='other'),lambda r,p:r.update(completed_at='2026-10-10T21:00:00Z'),lambda r,p:r['db_metadata'].update(NextUpdate='2026-10-11T01:59:00Z'),lambda r,p:p['Results'][0].update(Vulnerabilities=[{'Severity':'LOW'}]),lambda r,p:p.update(Results=[])]
|
||||
for mutate in mutations:
|
||||
r,p=copy.deepcopy(receipt),copy.deepcopy(report);mutate(r,p)
|
||||
with self.assertRaises(ValueError):fresh_scan(r,p,NOW)
|
||||
|
||||
|
||||
class FixedNativeProgram(unittest.TestCase):
|
||||
def fixture(self):
|
||||
sealed = json.loads((CASE / 'sealed-live-deployment.json').read_text())
|
||||
live = copy.deepcopy(sealed)
|
||||
live['metadata'].update(generation=42)
|
||||
live['status'] = {'readyReplicas': 1, 'updatedReplicas': 1, 'observedGeneration': 42}
|
||||
dependencies = json.loads((CASE / 'sealed-native-dependencies.json').read_text())
|
||||
cm = copy.deepcopy(dependencies['configmap'])
|
||||
cm.pop('canonical_data_sha256')
|
||||
service = json.loads((CASE / 'candidate-deployment.json').read_text())
|
||||
source_service = json.loads((Path('/home/worsch/informed-decision/deploy/lifecycle/service.candidate.json')).read_text())
|
||||
cm['data'] = next(x for x in source_service['items'] if x['kind'] == 'ConfigMap')['data']
|
||||
pvc = copy.deepcopy(dependencies['pvc'])
|
||||
pvc['status'] = {'phase': 'Bound'}
|
||||
app = {'metadata': {'uid': '499868f2-eabc-4df4-ae31-b89ce58d750d', 'resourceVersion': '17'},
|
||||
'spec': {'source': {'repoURL': 'https://forgejo.coulomb.social/coulomb/informed-decision.git',
|
||||
'path': 'deploy/lifecycle', 'targetRevision': 'c96b0c6d881e855d1d158003c6de90ef390262e2'},
|
||||
'destination': {'namespace': 'informed-decision', 'server': 'https://kubernetes.default.svc'}}}
|
||||
objects = {'deployment': live, 'configmap': cm, 'pvc': pvc, 'application': app}
|
||||
payload = {'phase': 'release', 'source_revision': REVISION, 'approval': {}, 'sealed': sealed,
|
||||
'dependencies': dependencies, 'candidate': service,
|
||||
'rollback': json.loads((CASE / 'rollback-deployment.json').read_text()),
|
||||
'readonly': (CASE / 'sqlite_readonly.py').read_text(),'purpose_checks':(CASE/'check_installed.py').read_text(),
|
||||
'installed_zlib': json.loads((CASE / 'installed-zlib-proof.json').read_text()), 'receipt_safety': (Path(__file__).parent / 'receipt_safety.py').read_text()}
|
||||
return objects, payload
|
||||
|
||||
def execute_fake(self, objects, payload, ambiguous=False, schema_refused=False):
|
||||
writes = []
|
||||
calls = []
|
||||
|
||||
def fake(argv, input=None, **kwargs):
|
||||
calls.append(argv)
|
||||
if argv[:2] == ['kubectl', 'get']:
|
||||
kind = argv[2]
|
||||
if kind in objects:
|
||||
body = objects[kind]
|
||||
elif kind == 'pods':
|
||||
body = {'items': [{'metadata': {'name': 'fixture-pod', 'uid': 'c4cb1550-feda-4097-9de4-d891a657b662',
|
||||
'ownerReferences': [{'kind': 'ReplicaSet', 'name': 'fixture-rs', 'uid': 'rs-uid'}]},
|
||||
'spec': objects['deployment']['spec']['template']['spec'],
|
||||
'status': {'phase': 'Running', 'containerStatuses': [{'name':'informed-decision','ready': True,'imageID':objects['deployment']['spec']['template']['spec']['containers'][0]['image']}] }}]}
|
||||
elif kind == 'replicaset':
|
||||
body = {'metadata': {'uid': 'rs-uid', 'ownerReferences': [
|
||||
{'kind': 'Deployment', 'uid': payload['sealed']['metadata']['uid']}]}}
|
||||
elif kind == 'nodes':
|
||||
body = {'items': [{'metadata': {'name': 'fixture-node'}, 'status': {
|
||||
'addresses': [{'address': '92.205.62.239'}], 'allocatable': {'cpu': '4'},
|
||||
'conditions': [{'type': key, 'status': 'True' if key == 'Ready' else 'False'}
|
||||
for key in ('Ready', 'MemoryPressure', 'DiskPressure', 'PIDPressure')]}}]}
|
||||
else:
|
||||
raise AssertionError('unexpected fixed metadata route')
|
||||
return subprocess.CompletedProcess(argv, 0, json.dumps(body), '')
|
||||
if argv[:2] == ['kubectl', 'exec']:
|
||||
if schema_refused:
|
||||
return subprocess.CompletedProcess(argv, 1, '', 'withheld')
|
||||
return subprocess.CompletedProcess(argv, 0, json.dumps({
|
||||
'all_checks_pass': True, 'live_readonly_schema_integrity_counts': COUNT}), '')
|
||||
if argv[:2] == ['kubectl', 'apply']:
|
||||
admitted = copy.deepcopy(payload['sealed'])
|
||||
admitted['spec']['template']['spec']['containers'][0]['image'] = (actuator.IMAGE if payload['phase']=='release' else payload['sealed']['spec']['template']['spec']['containers'][0]['image'])
|
||||
return subprocess.CompletedProcess(argv, 0, json.dumps(admitted), '')
|
||||
if argv[:2] == ['kubectl', 'describe']:
|
||||
return subprocess.CompletedProcess(argv, 0, 'Allocated resources:\n cpu 3460m (86%)\n', '')
|
||||
if argv[:2] == ['kubectl', 'diff']:
|
||||
return subprocess.CompletedProcess(argv, 1, '-image: base\n+image: candidate\n', '')
|
||||
if argv[:2] == ['kubectl', 'patch']:
|
||||
if '--dry-run=server' not in argv:
|
||||
writes.append(json.loads(input))
|
||||
if ambiguous:
|
||||
return subprocess.CompletedProcess(argv, 1, '', 'withheld')
|
||||
return subprocess.CompletedProcess(argv, 0, 'application.argoproj.io/informed-decision\n', '')
|
||||
raise AssertionError('unexpected command')
|
||||
|
||||
source = PROGRAM.replace('__PAYLOAD__', repr(json.dumps(payload))).replace(
|
||||
'__GUARD__', repr((CASE / 'change_guard.py').read_text()))
|
||||
output = io.StringIO()
|
||||
with patch('subprocess.run', side_effect=fake), redirect_stdout(output):
|
||||
try:
|
||||
exec(compile(source, 'fixed-native-fixture', 'exec'), {'__name__': '__fixture__'})
|
||||
except (ValueError, SystemExit):
|
||||
pass
|
||||
receipt = json.loads(output.getvalue()) if output.getvalue() else {'all_checks_pass': False}
|
||||
return receipt, writes, calls
|
||||
|
||||
def test_only_existing_application_operation_and_deployment_are_requested(self):
|
||||
objects, payload = self.fixture()
|
||||
receipt, writes, calls = self.execute_fake(objects, payload)
|
||||
self.assertTrue(receipt['all_checks_pass'])
|
||||
self.assertFalse(receipt['rollout_verified'])
|
||||
self.assertEqual(len(writes), 1)
|
||||
operation = writes[0][-1]['value']
|
||||
self.assertFalse(operation['sync']['prune'])
|
||||
self.assertEqual(operation['sync']['resources'], [
|
||||
{'group': 'apps', 'kind': 'Deployment', 'name': 'informed-decision', 'namespace': 'informed-decision'}])
|
||||
self.assertTrue(any('--dry-run=server' in argv and argv[:2] == ['kubectl', 'patch'] for argv in calls))
|
||||
self.assertEqual(writes[0][0]['path'], '/metadata/uid')
|
||||
|
||||
def test_source_overrides_automation_and_custody_drift_stop_before_write(self):
|
||||
mutations = [lambda o: o['application']['metadata'].update(uid='recreated'),
|
||||
lambda o: o['application']['spec'].update(syncPolicy={'automated': {}}),
|
||||
lambda o: o['application']['spec']['source'].update(kustomize={'images': ['other']}),
|
||||
lambda o: o['application']['spec'].update(sources=[{}]),
|
||||
lambda o: o['configmap']['metadata'].update(uid='recreated'),
|
||||
lambda o: o['pvc']['spec'].update(volumeName='replaced'),
|
||||
lambda o: o['deployment']['status'].update(readyReplicas=0)]
|
||||
for mutate in mutations:
|
||||
with self.subTest(mutate=mutate):
|
||||
objects, payload = self.fixture()
|
||||
mutate(objects)
|
||||
receipt, writes, calls = self.execute_fake(objects, payload)
|
||||
self.assertFalse(receipt['all_checks_pass'])
|
||||
self.assertEqual(writes, [])
|
||||
|
||||
def test_preopen_schema_refusal_prevents_image_operation(self):
|
||||
objects, payload = self.fixture()
|
||||
receipt, writes, calls = self.execute_fake(objects, payload, schema_refused=True)
|
||||
self.assertFalse(receipt['all_checks_pass'])
|
||||
self.assertEqual(writes, [])
|
||||
|
||||
|
||||
def test_rollback_unready_candidate_never_reads_pod_or_database(self):
|
||||
objects, payload = self.fixture()
|
||||
payload['phase'] = 'rollback'
|
||||
objects['deployment']['status'].update(readyReplicas=0, updatedReplicas=0)
|
||||
objects['deployment']['spec']['template']['spec']['containers'][0]['image'] = actuator.IMAGE
|
||||
objects['application']['spec']['source']['targetRevision'] = REVISION
|
||||
receipt, writes, calls = self.execute_fake(objects, payload, schema_refused=True)
|
||||
self.assertTrue(receipt['all_checks_pass'])
|
||||
self.assertFalse(receipt['rollout_verified'])
|
||||
self.assertEqual(len(writes), 1)
|
||||
self.assertFalse(any(argv[:2] == ['kubectl', 'exec'] or argv[:3] == ['kubectl', 'get', 'pods'] for argv in calls))
|
||||
self.assertEqual(writes[0][-1]['value']['sync']['revision'], 'c96b0c6d881e855d1d158003c6de90ef390262e2')
|
||||
|
||||
def test_rollback_still_refuses_custody_or_nonpair_image_drift(self):
|
||||
for defect in ('cm', 'pvc', 'image'):
|
||||
with self.subTest(defect=defect):
|
||||
objects, payload = self.fixture();payload['phase'] = 'rollback'
|
||||
objects['deployment']['status']['readyReplicas'] = 0
|
||||
if defect == 'cm':objects['configmap']['metadata']['uid'] = 'recreated'
|
||||
elif defect == 'pvc':objects['pvc']['spec']['volumeName'] = 'replaced'
|
||||
else:objects['deployment']['spec']['template']['spec']['containers'][0]['image'] = 'foreign-image'
|
||||
receipt, writes, calls = self.execute_fake(objects, payload)
|
||||
self.assertFalse(receipt['all_checks_pass']);self.assertEqual(writes, [])
|
||||
|
||||
def test_recovery_verification_is_separate_ready_old_image_schema_proof(self):
|
||||
objects, payload = self.fixture();payload['phase'] = 'rollback-verify'
|
||||
resource={'group':'apps','kind':'Deployment','name':'informed-decision','namespace':'informed-decision'}
|
||||
target='c96b0c6d881e855d1d158003c6de90ef390262e2'
|
||||
payload['operation_intent']={'state':'COMPLETE','started_at':'2026-10-11T01:00:00Z','result':{'operation_requested':True,'source_revision':target,'prune':False,'resources':[resource]}}
|
||||
objects['application']['status']={'operationState':{'phase':'Succeeded','startedAt':'2026-10-11T01:00:01Z','finishedAt':'2026-10-11T01:01:00Z','operation':{'initiatedBy':{'username':'custodian-codex'},'sync':{'revision':target,'resources':[resource]}},'syncResult':{'revision':target,'resources':[{**resource,'status':'Synced'}]}}}
|
||||
receipt, writes, calls = self.execute_fake(objects, payload)
|
||||
self.assertTrue(receipt['all_checks_pass']);self.assertTrue(receipt['recovery_verification'])
|
||||
self.assertEqual(writes, [])
|
||||
self.assertTrue(any(argv[:2]==['kubectl','exec'] for argv in calls))
|
||||
objects['deployment']['status']['readyReplicas'] = 0
|
||||
receipt, writes, calls = self.execute_fake(objects,payload)
|
||||
self.assertFalse(receipt['all_checks_pass'])
|
||||
|
||||
def test_ambiguous_patch_is_never_retried(self):
|
||||
objects, payload = self.fixture()
|
||||
receipt, writes, calls = self.execute_fake(objects, payload, ambiguous=True)
|
||||
self.assertFalse(receipt['all_checks_pass'])
|
||||
self.assertEqual(len(writes), 1)
|
||||
|
||||
def test_false_omitempty_needs_bound_current_request_and_exact_completion(self):
|
||||
objects,payload=self.fixture();payload['phase']='rollback-verify'
|
||||
resource={'group':'apps','kind':'Deployment','name':'informed-decision','namespace':'informed-decision'}
|
||||
target='c96b0c6d881e855d1d158003c6de90ef390262e2'
|
||||
payload['operation_intent']={'state':'COMPLETE','started_at':'2026-10-11T01:00:00Z','result':{'operation_requested':True,'source_revision':target,'prune':False,'resources':[resource]}}
|
||||
objects['application']['status']={'operationState':{'phase':'Succeeded','startedAt':'2026-10-11T01:00:01Z','finishedAt':'2026-10-11T01:01:00Z','operation':{'initiatedBy':{'username':'custodian-codex'},'sync':{'revision':target,'resources':[resource]}},'syncResult':{'revision':target,'resources':[{**resource,'status':'Synced'}]}}}
|
||||
self.assertTrue(self.execute_fake(objects,payload)[0]['all_checks_pass'])
|
||||
mutations=[lambda o,p:o['application']['status']['operationState']['operation']['sync'].update(prune=True),
|
||||
lambda o,p:o['application']['status']['operationState']['operation']['sync'].update(prune=None),
|
||||
lambda o,p:o['application']['status']['operationState'].update(startedAt='2026-10-11T00:59:00Z'),
|
||||
lambda o,p:o['application']['status']['operationState']['operation'].update(initiatedBy={'username':'other'}),
|
||||
lambda o,p:o['application']['status']['operationState']['syncResult'].update(revision='foreign'),
|
||||
lambda o,p:o['application']['status']['operationState']['syncResult']['resources'][0].update(status='Pruned'),
|
||||
lambda o,p:p['operation_intent']['result'].update(prune=True),
|
||||
lambda o,p:p.update(operation_intent=None)]
|
||||
for mutate in mutations:
|
||||
o,p=copy.deepcopy(objects),copy.deepcopy(payload);mutate(o,p)
|
||||
receipt,writes,calls=self.execute_fake(o,p)
|
||||
self.assertFalse(receipt['all_checks_pass']);self.assertEqual(writes,[])
|
||||
|
||||
def test_optimized_executor_refuses_before_any_input(self):
|
||||
result=subprocess.run([sys.executable,'-O',str(Path(__file__).parent/'actuator.py'),'--phase','release','--root-authority-receipt','/missing','--root-native-outcome','/missing','--source-revision',REVISION],capture_output=True,text=True)
|
||||
self.assertNotEqual(result.returncode,0)
|
||||
self.assertIn('optimized interpreter refused',result.stderr)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
|
@ -0,0 +1,62 @@
|
|||
{
|
||||
"kind": "informed-decision.supervised-mechanical-release-plan",
|
||||
"version": 1,
|
||||
"proposal_id": "INFD-WP-0009-T05/zlib85091-r1",
|
||||
"trial_id": "infd-zlib-20261011-r1",
|
||||
"state": "prepared-unapproved",
|
||||
"executor_files": {
|
||||
"actuator.py": "dabeda33ffe52989337e214dc6e6d3ef5f04797569145faf2ff69024b101ec80",
|
||||
"authority_journal.py": "2aa9bae40752922264e53382d898e3083b8d229b185329266942bdd397013108",
|
||||
"native_program.py": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20",
|
||||
"receipt_safety.py": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
"case_files": {
|
||||
"post-ready-native-outcomes-command.py": "ce88aca5e2d6cd5ab7533898bc9b246bd159482c4acccb0afe4c451ee88f57fa",
|
||||
"scan-receipt.json": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a",
|
||||
"source-commit-proof.json": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b",
|
||||
"candidate-deployment.json": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95",
|
||||
"artifact-comparison.json": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4",
|
||||
"rollback-deployment.json": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e",
|
||||
"sqlite_readonly.py": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509",
|
||||
"published-verification.json": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e",
|
||||
"sealed-native-dependencies.json": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369",
|
||||
"sealed-live-deployment.json": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e",
|
||||
"native-preflight.json": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9",
|
||||
"fresh-scan-receipt-template.json": "92bbf8a891c7ef78df48430901219d8d07073cba74112a307a6d8bdec509e8dd",
|
||||
"rollback-preflight.json": "0188799d352e4d49d5ca29d6e197742d02e96a4b0b399df1f478e41b25292eb5",
|
||||
"installed-zlib-proof.json": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68",
|
||||
"runtime-receipt.json": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889",
|
||||
"change_guard.py": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201",
|
||||
"check_installed.py": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad",
|
||||
"candidate-runtime.json": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
"owner_source_files": {
|
||||
"deploy/lifecycle/admission.candidate.json": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529",
|
||||
"deploy/lifecycle/service.candidate.json": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278",
|
||||
"deploy/lifecycle/kustomization.yaml": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47",
|
||||
"deploy/lifecycle/registries.candidate.json": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
"candidate_image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23",
|
||||
"prior_image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a",
|
||||
"source_revision": "must-be-exact-final-owner-HEAD-with-approved-four-Git-blobs",
|
||||
"phases": [
|
||||
"drill-backup",
|
||||
"drill-copy",
|
||||
"offline-verify",
|
||||
"cleanup-offline",
|
||||
"cutover-backup",
|
||||
"cutover-copy",
|
||||
"release",
|
||||
"verify",
|
||||
"rollback",
|
||||
"rollback-verify"
|
||||
],
|
||||
"authorization": "fresh externally authenticated root fixed-origin native readback before each phase; exact confirmed platform-root disposition and current packet SHA/source commit; receipt bookkeeping is not an autonomous signed grant",
|
||||
"execute_by": "2026-10-12T23:59:59Z",
|
||||
"raw_output_withheld": true,
|
||||
"native_data_or_workload_action_executed": false,
|
||||
"deadline_semantics": "All phases including verification/recovery must begin before execute_by. No extension or automatic emergency grant; beyond deadline stop and obtain a fresh founder decision. Complete the bounded drill and rollout early enough to allow recovery within the window.",
|
||||
"source_memo_version": 1,
|
||||
"native_review_memo_version": 1,
|
||||
"published_artifact_verified": true
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
# Requested decision
|
||||
|
||||
Approve the exact new T05 zlib-only image release and protected same-schema compatibility drill, after final independent Product and Platform acknowledgments. This packet is prepared and unapproved; its final committed source and rollback dry-run are still pending. The prior T04 approval is excluded.
|
||||
|
||||
The admitted owner CI published immutable image f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23 from source9b4bb25d325698ae543e7e8a8a3c3592db1f58fc. Its actual full scan reports zero findings across44packages. The same scan DB finds oneMEDIUM on currentimage763c. Signed official Alpine zlib1.3.2-r1 is the sole package change; actual published filesystem proof shows onlylibz andAPKinstalleddatabase changes, zero313directorymetadata changes, retainedninebaselayers and unchanged36applicationfiles/purposepolicy/config/credentials/audience/resources. Registry-to-daemon config serialization differs under closed verified normalization, without runtime change.
|
||||
|
||||
The exact ordered protected drill and release are specified in native-backup-restore-protocol.md and hash-bound execution bundle. New backup paths, isolated clone and journal are distinct from old evidence. Real private data will enter only approved private custody and the isolated no-network clone; content never enters public evidence. Failed/uncertain phase states remain durable and cannot be retried. Prior T04 failed copy/verify are preserved.
|
||||
|
||||
After schema5/integrity/exactclonecounts pass and clone cleanup succeeds, fresh cutover backup/copy precedes the exact manual image-only Deployment sync. Current baseline is healthygeneration25/image763c/Applicationc96. ImmutableCM6c/PVC/Podconfiguration/PDP origins remain sealed. FreshnodeCPU3460of4000m supports unchangedRecreate, with another check before effect. Brief availability interruption expected.
|
||||
|
||||
Rollback restores Deploymentimage763c andApplicationc96 while retaining latestschema5database; no old snapshot restoration. Separate installed/native health/custody/PDP-gated readback and actual native image rescan precede T05 closure. Allphase starts expireOct12 23:59:59Z; release reserves30minutesforverificationandrecovery. Afterexpiry a newfounderdecision is required. EUR0newrecurringinfrastructure, boundedprivate storage andunpricedattendedtime. No newdoctrine/autopilot/credentialgrant is authorized.
|
||||
|
|
@ -0,0 +1,372 @@
|
|||
[
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-review.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-review.json",
|
||||
"sha256": "e24b3fdae42721342a26ebe34caf57c2d21153ff855e584a0c4ebd3eb9adb349"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/mapping.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/mapping.json",
|
||||
"sha256": "dac8209ec57adc6df16673079f88a60cc56e89294de9389bc219ea19fdf51b5e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/original-manifest.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/original-manifest.json",
|
||||
"sha256": "81adb9e1749d6bd9f19755a2bbd7b501589ea782445537bbbfe925e1d9f8fa47"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"sha256": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"sha256": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"sha256": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"sha256": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"sha256": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"sha256": "c570bade38479af93f08f717fcebb328a0db38e5b58bd0e7983681bc5ae41b7a"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"sha256": "dabeda33ffe52989337e214dc6e6d3ef5f04797569145faf2ff69024b101ec80"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"sha256": "2aa9bae40752922264e53382d898e3083b8d229b185329266942bdd397013108"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"sha256": "750a4386277dc79c3213e6aed17ae5686332bfd587a55e5e87ebf3776a63ab0c"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"sha256": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"sha256": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"sha256": "7458222049d8df2f01f2ce359b5864ae41cd73054ee59659ca8cd8ac17cf73ac"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"sha256": "09b0a8ed6c3c7d1e94f5f703a2d5834ca26fc166cfc8f4f9b4511ab70ec16ac9"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"sha256": "92bbf8a891c7ef78df48430901219d8d07073cba74112a307a6d8bdec509e8dd"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/archive-map.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/archive-map.json",
|
||||
"sha256": "44be75acb94d8125efb9416dea91059aeeb79625d23c7959bdc099a95c26a9ca"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/original-manifest.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/original-manifest.json",
|
||||
"sha256": "7ac1d698cab2dfbde6bc0a84bcadd2c3229d24f4a4a59125fe72b2856fa82e07"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"sha256": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"sha256": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"sha256": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"sha256": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"sha256": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"sha256": "763f30c1433d1ca872b029519ec46ad1b97c47d60b7ea0eea0275a2c6b647dc3"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"sha256": "741b490bdb315896f05f2e91404c02765517dc1beea81fa590017fccafd299b4"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"sha256": "040144321c69622c223a8437832a3c5a4a9595fc37774fde5ff0ad676828ebf0"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"sha256": "9b458e2b4d418525987b6cb1b9a160c4b1a2c621625c1b5c571ea5c77e9d4361"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"sha256": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"sha256": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"sha256": "aa86921fe37fcff382676490f937af2e62bd6472a6b4700c862aaf3ce4ab8225"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"sha256": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"sha256": "3c76c6a8f95dcb55183583a937a4428b745a5c918643de8f2a2bc11dee846d98"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"sha256": "f586a511c1921490185bab95334f27de6d3cca20b348df20d18bcb9257d7ae35"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"sha256": "48b0f0baf4efc239111411ad7d1c291f8eceaa0ddf1414dac73d49ccdb3bbe70"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"sha256": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"sha256": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"sha256": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"sha256": "8154c90745d860b2984e4616f0bb1c35889b07b7ff8b841e7430db7592a15b7a"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"sha256": "196e2cef9ba38f075b458f164f05b5df594d188ee84b210744ef94c31f753294"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"sha256": "15b3fc9c708593adb52d9eb240c1a6b55d5ac43b1637b8047499f15e525e368f"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"sha256": "0614e2118927180d18f4a3fa833990a38e27340234a952abdb1d2ca93e7602a4"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"sha256": "ce88aca5e2d6cd5ab7533898bc9b246bd159482c4acccb0afe4c451ee88f57fa"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"sha256": "a992d799bc07e8fbf05b894a5b184b11092f0041ee68187e59a23c5395b263e9"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"sha256": "0188799d352e4d49d5ca29d6e197742d02e96a4b0b399df1f478e41b25292eb5"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"sha256": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"sha256": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"sha256": "4a529f57b886260f8d1b109e06e487a936fa1eb5eeb79dbbd9e4e7a05f9ae2e9"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"sha256": "112e0aa642a7f48edf8073eee180b62d5ab6000aa4a6197ea6ffc10d7087beb0"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/probe_initial_dispatch.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/probe_initial_dispatch.py",
|
||||
"sha256": "609250d2d15e31128d0331354babbaed6c27ea165cdfcbe893d14e932237dd1a"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/published-evidence-manifest.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/published-evidence-manifest.json",
|
||||
"sha256": "6ba2c341b496ab7f79f9c5fd33a92831c2f8db25d018a4b4e67d41e0af9c5bc9"
|
||||
},
|
||||
{
|
||||
"path": "intakes/RPF-IN-0009-infd-zlib-native-release-review.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/intakes/RPF-IN-0009-infd-zlib-native-release-review.md",
|
||||
"sha256": "a187eae16bd6eb8b05fdbffc860a7e87b62e726379fde92915de15d6d8bd4290"
|
||||
}
|
||||
]
|
||||
|
|
@ -0,0 +1,205 @@
|
|||
[
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "deploy/lifecycle/admission.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/deploy/lifecycle/admission.candidate.json",
|
||||
"original_sha256": "92382a56b349c3b895e5806e975082527bb99d1a001140e69d857e5b0391fa55",
|
||||
"staged_sha256": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "deploy/lifecycle/kustomization.yaml",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/deploy/lifecycle/kustomization.yaml",
|
||||
"original_sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47",
|
||||
"staged_sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "deploy/lifecycle/registries.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/deploy/lifecycle/registries.candidate.json",
|
||||
"original_sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e",
|
||||
"staged_sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "deploy/lifecycle/service.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/deploy/lifecycle/service.candidate.json",
|
||||
"original_sha256": "38b78b9cbee5ade7750a58d5156ca4c5773352e947acb304ee714b59e749ceb4",
|
||||
"staged_sha256": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "763f30c1433d1ca872b029519ec46ad1b97c47d60b7ea0eea0275a2c6b647dc3"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "741b490bdb315896f05f2e91404c02765517dc1beea81fa590017fccafd299b4"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "040144321c69622c223a8437832a3c5a4a9595fc37774fde5ff0ad676828ebf0"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9b458e2b4d418525987b6cb1b9a160c4b1a2c621625c1b5c571ea5c77e9d4361"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "aa86921fe37fcff382676490f937af2e62bd6472a6b4700c862aaf3ce4ab8225"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "3c76c6a8f95dcb55183583a937a4428b745a5c918643de8f2a2bc11dee846d98"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f586a511c1921490185bab95334f27de6d3cca20b348df20d18bcb9257d7ae35"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "48b0f0baf4efc239111411ad7d1c291f8eceaa0ddf1414dac73d49ccdb3bbe70"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509"
|
||||
}
|
||||
]
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,478 @@
|
|||
[
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "deploy/lifecycle/admission.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/deploy/lifecycle/admission.candidate.json",
|
||||
"original_sha256": "92382a56b349c3b895e5806e975082527bb99d1a001140e69d857e5b0391fa55",
|
||||
"staged_sha256": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "deploy/lifecycle/kustomization.yaml",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/deploy/lifecycle/kustomization.yaml",
|
||||
"original_sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47",
|
||||
"staged_sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "deploy/lifecycle/registries.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/deploy/lifecycle/registries.candidate.json",
|
||||
"original_sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e",
|
||||
"staged_sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "deploy/lifecycle/service.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/deploy/lifecycle/service.candidate.json",
|
||||
"original_sha256": "38b78b9cbee5ade7750a58d5156ca4c5773352e947acb304ee714b59e749ceb4",
|
||||
"staged_sha256": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "c570bade38479af93f08f717fcebb328a0db38e5b58bd0e7983681bc5ae41b7a"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "dabeda33ffe52989337e214dc6e6d3ef5f04797569145faf2ff69024b101ec80"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "2aa9bae40752922264e53382d898e3083b8d229b185329266942bdd397013108"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "750a4386277dc79c3213e6aed17ae5686332bfd587a55e5e87ebf3776a63ab0c"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "7458222049d8df2f01f2ce359b5864ae41cd73054ee59659ca8cd8ac17cf73ac"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "09b0a8ed6c3c7d1e94f5f703a2d5834ca26fc166cfc8f4f9b4511ab70ec16ac9"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "92bbf8a891c7ef78df48430901219d8d07073cba74112a307a6d8bdec509e8dd"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/archive-map.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/archive-map.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "44be75acb94d8125efb9416dea91059aeeb79625d23c7959bdc099a95c26a9ca"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/original-manifest.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/original-manifest.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "7ac1d698cab2dfbde6bc0a84bcadd2c3229d24f4a4a59125fe72b2856fa82e07"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "763f30c1433d1ca872b029519ec46ad1b97c47d60b7ea0eea0275a2c6b647dc3"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "741b490bdb315896f05f2e91404c02765517dc1beea81fa590017fccafd299b4"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "040144321c69622c223a8437832a3c5a4a9595fc37774fde5ff0ad676828ebf0"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9b458e2b4d418525987b6cb1b9a160c4b1a2c621625c1b5c571ea5c77e9d4361"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "aa86921fe37fcff382676490f937af2e62bd6472a6b4700c862aaf3ce4ab8225"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "3c76c6a8f95dcb55183583a937a4428b745a5c918643de8f2a2bc11dee846d98"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f586a511c1921490185bab95334f27de6d3cca20b348df20d18bcb9257d7ae35"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "48b0f0baf4efc239111411ad7d1c291f8eceaa0ddf1414dac73d49ccdb3bbe70"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "8154c90745d860b2984e4616f0bb1c35889b07b7ff8b841e7430db7592a15b7a"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "196e2cef9ba38f075b458f164f05b5df594d188ee84b210744ef94c31f753294"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "15b3fc9c708593adb52d9eb240c1a6b55d5ac43b1637b8047499f15e525e368f"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "0614e2118927180d18f4a3fa833990a38e27340234a952abdb1d2ca93e7602a4"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "ce88aca5e2d6cd5ab7533898bc9b246bd159482c4acccb0afe4c451ee88f57fa"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a992d799bc07e8fbf05b894a5b184b11092f0041ee68187e59a23c5395b263e9"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "0188799d352e4d49d5ca29d6e197742d02e96a4b0b399df1f478e41b25292eb5"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "4a529f57b886260f8d1b109e06e487a936fa1eb5eeb79dbbd9e4e7a05f9ae2e9"
|
||||
},
|
||||
{
|
||||
"repo": "informed-decision",
|
||||
"path": "workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-stage/informed-decision/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"original_sha256": "af785afbf188184b72563c10813663d44117df7cb7394ecb1b9a25cbdfea67a4",
|
||||
"staged_sha256": "112e0aa642a7f48edf8073eee180b62d5ab6000aa4a6197ea6ffc10d7087beb0"
|
||||
}
|
||||
]
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
---
|
||||
id: RPF-IN-0009
|
||||
kind: intake
|
||||
type: intake
|
||||
title: "Platform technical review of distinct INFD zlib native release"
|
||||
repo: railiance-platform
|
||||
lane: supervised
|
||||
status: closed
|
||||
owner: railiance-platform
|
||||
requested_by: the-custodian
|
||||
origin: handoff
|
||||
origin_ref: INFD-WP-0009-T05
|
||||
priority: high
|
||||
created: "2026-10-11"
|
||||
updated: "2026-10-11"
|
||||
tags: [security, cross-owner, review]
|
||||
---
|
||||
|
||||
New bounded Platform technical review of immutable published zlib artifact and separately proposed image-only native release/drill/cutover/recovery. Distinct from completed RPF-IN-0008 source candidate review and purpose R2 authorization. No native action, private database access, credentials, owner source writes, carried-forward approval or T05 closure.
|
||||
|
||||
## Completed initial changes-requested review
|
||||
|
||||
Initial exact67 manifest1e4 was observed at review start, then shared stage changed to68 manifest81adb9e1749d6bd9f19755a2bbd7b501589ea782445537bbbfe925e1d9f8fa47 before snapshot preservation. Review stopped rather than treating that as unchanged frozen source. Observed68 bytes and manifest archived;29 published proof6ba2 hashes verified. Remote keyword dispatch and recorded backup snapshot identity are not plumbed; freshscan helper permits unbound incomplete zero reports. Fresh scan age and DBNextUpdate controls exist but artifact and full inventory coverage must be checked. Completed owner workrecord precedes conditional entry. Refinement remains this same review trial; no technical agreement or native approval issued.
|
||||
|
||||
## Completed refined-source changes-requested review
|
||||
|
||||
Same owner preparation trial reviewed immutable143 manifest `f170b34d8846919b18520264e7ba96e2ac11a3bce7899bc5710fcb0d22f4af29`. Original wiring and incomplete scan proof defects fixed; all143 source hashes/plan file bindings verified,25 synthetic methods pass. Independent remote payload/partial scan repro confirms fixes; separate fixture shows unrelated privileged ephemeral container passes current Pod gate. Post-ready freeform output and recovery authority availability require explicit refinement. Exact previous74 owner-review files plus manifest/map archived before supersession. Source-only review is completed before conditional entry; no technical ACK, approval or native evidence inferred.
|
||||
|
||||
Root selected a NEW human-proposal recovery alternative for further source preparation: independently root-confirmed same accepted receipt retained before release may support manual supervised763/c96 Deployment-only latestDB recovery for at most30minutes after release and before deadline, only exact approved custody/journal/source pins and demonstrable transport-unavailable/502/503/504 plus failed candidate placement. No401/403/revoked/invalidsignature/conflict fallback, no backup/release fallback; inability to query later revocation while unavailable must be disclosed. This is proposed scope awaiting exact code review and NEW founder disposition, not existing authority.
|
||||
|
||||
## Completed final exact-source technical review
|
||||
|
||||
Final immutable481 manifest `3f1ce7ed678a457f73ab6486c7e81ef3360daf4f7ec1196f3031c3ffaace57ec` reviewed in this same IN9 preparation trial. All481 hashes and plan executor/case pins match;36 synthetic tests and12 additional public-artifact/synthetic checks pass. Ephemeral Pod custody, private metadata filtering, original payload wiring and full fresh scan coverage now refuse challenged defects. Bounded supervised outage recovery is expressly NEW proposed founder consent, not old approval: rollback only failed exactcandidate/source, retained authenticated pre-release exact acceptance,30minutes/globaldeadline/UID/config/PVC/journal/source/image pins, no401/403/revocation/conflict/healthy candidate/backup or release fallback. Later revocation unobservable during outage is disclosed; recovered verification proves separate rollback placement, not provider acceptance/taskclosure. Exact prior123 owner files/manifest/map preserved before entry; original67 historical absence remains honest. Completed workrecord precedes formal source agreement. No native action or new approval inferred.
|
||||
|
||||
## Final481 actual API compatibility finding; no ACK issued
|
||||
|
||||
Before returning any agreement, Product identified actual provider shape incompatibility. Owner source lifecycle_review.outcomes returns only review/dispositions, optional reviewNone/not_submitted and optional submissionstate; lifecycle_service wraps it in current PDP authorization. The staged sanitizer instead requires invented topmemo_id and restrictive inventedstates. Independent read-only owner-source inspection confirms it. Prior unissued draft retained explicitly as superseded, not formal acceptance. Additional source correction must use fixed-request/HTTP200 correlation and bounded shape/count-only proof without detailed freeform dispositions or founder-authority inference. Completed sameIN9 changes-requested workrecord precedes entry.
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
"""Pre-open schema/integrity/count proof; stdlib only, never constructs Store."""
|
||||
import argparse
|
||||
from contextlib import closing
|
||||
import hashlib
|
||||
import os
|
||||
import re
|
||||
import stat
|
||||
import json
|
||||
from pathlib import Path
|
||||
import sqlite3
|
||||
|
||||
|
||||
def inspect_readonly(path, *, _closed_snapshot=False):
|
||||
path = Path(path)
|
||||
if not path.is_file() or path.is_symlink():
|
||||
raise ValueError('existing nonsymlink private database required')
|
||||
uri = path.resolve().as_uri() + '?mode=ro' + ('&immutable=1' if _closed_snapshot else '')
|
||||
# sqlite3.Connection context management ends transactions; it does not close.
|
||||
with closing(sqlite3.connect(uri, uri=True, timeout=5)) as db:
|
||||
db.execute('PRAGMA query_only=ON')
|
||||
db.execute('BEGIN')
|
||||
version = db.execute('PRAGMA user_version').fetchone()[0]
|
||||
if version != 5:
|
||||
raise ValueError('pre-open database is not schema5; refuse migration')
|
||||
if db.execute('PRAGMA integrity_check').fetchall() != [('ok',)]:
|
||||
raise ValueError('read-only integrity check refused')
|
||||
lifecycle = {name: db.execute('SELECT COUNT(*) FROM ' + table).fetchone()[0]
|
||||
for name, table in (('records', 'lifecycle_records'),
|
||||
('events', 'lifecycle_events'),
|
||||
('pending', 'lifecycle_pending'))}
|
||||
result = {'schema_version': version, 'lifecycle': lifecycle,
|
||||
'outbox': dict(db.execute('SELECT state,COUNT(*) FROM outbox GROUP BY state')),
|
||||
'submissions': dict(db.execute('SELECT state,COUNT(*) FROM submissions GROUP BY state')),
|
||||
'integrity': 'ok', 'read_only_pre_open': True, 'store_constructed': False}
|
||||
db.rollback()
|
||||
return result
|
||||
|
||||
|
||||
def inspect_closed_snapshot(path, expected_sha256):
|
||||
"""Only a privately retained, frozen main-file snapshot with no WAL frames.
|
||||
|
||||
Caller must establish exclusive snapshot creation/admin exit/no writer, and
|
||||
supply the recorded frozen main digest. Never use for the live database.
|
||||
Immutable SQLite reads ignore stale SHM and never create/change sidecars.
|
||||
Existing sidecars remain custody evidence; nothing is deleted/checkpointed.
|
||||
"""
|
||||
path = Path(path)
|
||||
if re.fullmatch(r'[0-9a-f]{64}', expected_sha256) is None:
|
||||
raise ValueError('exact frozen snapshot digest required')
|
||||
def metadata(target):
|
||||
info = target.lstat()
|
||||
if not stat.S_ISREG(info.st_mode) or stat.S_IMODE(info.st_mode) != 0o600 or info.st_nlink != 1:
|
||||
raise ValueError('private single-link snapshot custody required')
|
||||
return info
|
||||
main = metadata(path)
|
||||
if not 0 < main.st_size <= 512 * 1024**2:
|
||||
raise ValueError('bounded frozen snapshot required')
|
||||
def sidecars():
|
||||
identities = {}
|
||||
for suffix in ('-wal', '-shm'):
|
||||
target = Path(str(path) + suffix)
|
||||
if os.path.lexists(target):
|
||||
info = metadata(target)
|
||||
if info.st_uid != main.st_uid or info.st_gid != main.st_gid:
|
||||
raise ValueError('snapshot sidecar custody changed')
|
||||
if suffix == '-wal' and info.st_size != 0:
|
||||
raise ValueError('snapshot has WAL frames; immutable read refused')
|
||||
identities[suffix] = (info.st_dev, info.st_ino, info.st_size, info.st_mtime_ns)
|
||||
return identities
|
||||
before_sidecars = sidecars()
|
||||
def digest():
|
||||
value = hashlib.sha256()
|
||||
with path.open('rb') as stream:
|
||||
for block in iter(lambda: stream.read(1024**2), b''):
|
||||
value.update(block)
|
||||
return value.hexdigest()
|
||||
if digest() != expected_sha256:
|
||||
raise ValueError('frozen main-file digest changed before inspection')
|
||||
proof = inspect_readonly(path, _closed_snapshot=True)
|
||||
after = metadata(path)
|
||||
if (after.st_dev, after.st_ino, after.st_uid, after.st_gid, after.st_size) != (main.st_dev, main.st_ino, main.st_uid, main.st_gid, main.st_size):
|
||||
raise ValueError('frozen main-file identity changed')
|
||||
if digest() != expected_sha256 or sidecars() != before_sidecars:
|
||||
raise ValueError('frozen snapshot changed during inspection')
|
||||
return proof
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument('--db', type=Path, required=True)
|
||||
args = parser.parse_args()
|
||||
try:
|
||||
print(json.dumps(inspect_readonly(args.db), sort_keys=True))
|
||||
except Exception:
|
||||
raise SystemExit('read-only schema5/integrity/count gate refused; no Store/admin open') from None
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23",
|
||||
"artifact_source_revision": "9b4bb25d325698ae543e7e8a8a3c3592db1f58fc",
|
||||
"scanner": "aquasec/trivy@sha256:62b1e65e8869bc4b4c6aa4fa2b21595256c7c2f6018a9d9ad61caf87187c1969",
|
||||
"full_allseverity_scan": true,
|
||||
"no_suppression": true,
|
||||
"exit_code": null,
|
||||
"completed_at": null,
|
||||
"db_metadata": null,
|
||||
"db_sha256": null,
|
||||
"full_report_sha256": null,
|
||||
"note": "Template is not actual evidence or approval"
|
||||
}
|
||||
|
|
@ -0,0 +1,188 @@
|
|||
"""Supervised receipt bookkeeping, not an authenticated approval provider."""
|
||||
import datetime
|
||||
import fcntl
|
||||
import hashlib
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
from pathlib import Path
|
||||
import stat
|
||||
import uuid
|
||||
|
||||
FOUNDER = {'kind': 'person', 'sub': 'uid=platform-root,ou=people,dc=netkingdom,dc=local'}
|
||||
MEMO_ID = 'infd-20261011-zlib-remediation-r1'
|
||||
PROPOSAL = 'INFD-WP-0009-T05/zlib85091-r1'
|
||||
PHASES = ('drill-backup', 'drill-copy', 'offline-verify', 'cleanup-offline',
|
||||
'cutover-backup', 'cutover-copy', 'release', 'verify', 'rollback', 'rollback-verify')
|
||||
|
||||
|
||||
def require(value, reason):
|
||||
if not value:
|
||||
raise ValueError(reason)
|
||||
|
||||
|
||||
def sha(path):
|
||||
digest = hashlib.sha256()
|
||||
with Path(path).open('rb') as stream:
|
||||
for block in iter(lambda: stream.read(1024**2), b''):
|
||||
digest.update(block)
|
||||
return digest.hexdigest()
|
||||
|
||||
|
||||
def private(path, directory=False):
|
||||
info = Path(path).lstat()
|
||||
require((stat.S_ISDIR(info.st_mode) if directory else stat.S_ISREG(info.st_mode))
|
||||
and info.st_uid == os.getuid() and stat.S_IMODE(info.st_mode) == (0o700 if directory else 0o600)
|
||||
and (directory or info.st_nlink == 1), 'private owned custody required')
|
||||
|
||||
|
||||
def authority(receipt, outcome, memo_sha, source_revision, phase, now=None):
|
||||
"""Root must freshly verify native outcome at fixed ORIGIN outside this helper.
|
||||
|
||||
Receipt files/flags are not signed grants. This function checks the exact
|
||||
supervised receipt relation; existing harness/founder authority remains the
|
||||
actual permission boundary. It never authenticates a caller as human.
|
||||
"""
|
||||
now = now or datetime.datetime.now(datetime.timezone.utc)
|
||||
require(phase in PHASES, 'fixed phase required')
|
||||
require(receipt.get('proposal_id') == PROPOSAL and receipt.get('memo_id') == MEMO_ID
|
||||
and receipt.get('memo_version') == 1 and receipt.get('memo_sha256') == memo_sha
|
||||
and receipt.get('source_revision') == source_revision
|
||||
and receipt.get('activation') == 'APPROVED'
|
||||
and receipt.get('authority_mode') == 'ADMINISTER'
|
||||
and receipt.get('target') == 'realm:kubernetes/railiance01/informed-decision'
|
||||
and receipt.get('verification_method') == 'root-fixed-origin-native-readback'
|
||||
and receipt.get('runtime_authenticated_grant') is False
|
||||
and receipt.get('outcome_query') == '/lifecycle/memos/' + MEMO_ID + '/outcomes?version=1',
|
||||
'exact externally verified supervised receipt required')
|
||||
verified = datetime.datetime.fromisoformat(receipt['verified_at'].replace('Z', '+00:00'))
|
||||
require(verified.tzinfo is not None and 0 <= (now - verified).total_seconds() <= 120,
|
||||
'fresh root native readback required before every phase')
|
||||
deadline = datetime.datetime.fromisoformat('2026-10-12T23:59:59+00:00')
|
||||
require(now < deadline, 'approved execution window expired')
|
||||
if phase == 'release':
|
||||
require((deadline-now).total_seconds() >= 1800, 'reserve thirty minutes for verification and recovery')
|
||||
require(outcome.get('memo_id') == MEMO_ID and outcome.get('review', {}).get('stale') is False
|
||||
and outcome['review'].get('intake_state') == 'ready', 'native review is not ready/current')
|
||||
review_id = outcome['review']['memo_id']
|
||||
require(review_id == receipt.get('review_memo_id'), 'native review identity changed')
|
||||
accepted = [x for x in outcome.get('dispositions', [])
|
||||
if x.get('submission_state') == 'confirmed'
|
||||
and x.get('disposition', {}).get('verb') == 'accept'
|
||||
and x['disposition'].get('memo_version') == 1]
|
||||
require(len(accepted) == 1, 'one confirmed founder acceptance required')
|
||||
accepted = accepted[0]['disposition']
|
||||
require(accepted.get('actor') == FOUNDER and accepted.get('memo_id') == review_id
|
||||
and accepted.get('approval_id') == receipt.get('approval_id')
|
||||
and accepted.get('id') == receipt.get('disposition_id')
|
||||
and accepted.get('at') == receipt.get('accepted_at'), 'exact founder disposition mismatch')
|
||||
require(re.fullmatch(r'[a-f0-9-]{36}', accepted['approval_id']) is not None
|
||||
and re.fullmatch(r'disp-[a-f0-9-]{36}', accepted['id']) is not None
|
||||
and re.fullmatch(r'review-[a-f0-9-]{36}', review_id) is not None,
|
||||
'native disposition identifiers are malformed')
|
||||
accepted_at = datetime.datetime.fromisoformat(accepted['at'].replace('Z', '+00:00'))
|
||||
require(accepted_at.tzinfo is not None and accepted_at <= verified, 'acceptance time not bounded')
|
||||
return {key: receipt[key] for key in ('approval_id', 'disposition_id', 'accepted_at', 'verified_at')}
|
||||
|
||||
|
||||
def fresh_scan(receipt, report, contract, now=None):
|
||||
"""Root supervised scan bookkeeping; actual scanner proof stays retained."""
|
||||
now=now or datetime.datetime.now(datetime.timezone.utc)
|
||||
require(receipt.get('image')=='forgejo.coulomb.social/coulomb/informed-decision@sha256:f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23'
|
||||
and receipt.get('artifact_source_revision')=='9b4bb25d325698ae543e7e8a8a3c3592db1f58fc'
|
||||
and receipt.get('scanner')=='aquasec/trivy@sha256:62b1e65e8869bc4b4c6aa4fa2b21595256c7c2f6018a9d9ad61caf87187c1969'
|
||||
and receipt.get('no_suppression') is True and receipt.get('full_allseverity_scan') is True
|
||||
and receipt.get('exit_code')==0,'exact full immutable artifact scan required')
|
||||
scanned=datetime.datetime.fromisoformat(receipt['completed_at'].replace('Z','+00:00'))
|
||||
metadata=receipt['db_metadata'];updated=datetime.datetime.fromisoformat(metadata['UpdatedAt'].replace('Z','+00:00'));next_update=datetime.datetime.fromisoformat(metadata['NextUpdate'].replace('Z','+00:00'))
|
||||
require(all(t.tzinfo is not None for t in (scanned,updated,next_update))
|
||||
and updated<=scanned<=now<next_update and (now-scanned).total_seconds()<=14400
|
||||
and metadata.get('Version')==2 and re.fullmatch(r'[a-f0-9]{64}',receipt.get('db_sha256','')) is not None,'scan or vulnerability database expired')
|
||||
require(isinstance(report,dict) and isinstance(report.get('Results'),list) and report['Results'],'retained full scan results required')
|
||||
require(report.get('SchemaVersion')==2 and report.get('ArtifactType')=='container_image','full immutable container scan schema required')
|
||||
metadata_report=report.get('Metadata',{});config=metadata_report.get('ImageConfig',{})
|
||||
require(metadata_report.get('ImageID')==contract['image_config_id'] and metadata_report.get('DiffIDs')==contract['diff_ids']
|
||||
and config.get('rootfs')==contract['image_config_rootfs'] and config.get('config',{}).get('Labels')==contract['image_source_labels']
|
||||
and metadata_report.get('OS')==contract['os'],'scan image config layers or source labels differ')
|
||||
classes=[(x.get('Class'),x.get('Type')) for x in report['Results']]
|
||||
require(sorted(classes)==[('lang-pkgs','python-pkg'),('os-pkgs','alpine')],'exact OS and Python scan coverage required')
|
||||
inventory=[]
|
||||
for result in report['Results']:
|
||||
packages=result.get('Packages');expected_count=38 if result['Class']=='os-pkgs' else 6
|
||||
require(isinstance(packages,list) and len(packages)==expected_count,'full package inventory coverage required')
|
||||
for package in packages:
|
||||
require(isinstance(package,dict) and isinstance(package.get('Name'),str) and isinstance(package.get('Version'),str)
|
||||
and isinstance(package.get('Identifier',{}).get('PURL'),str),'package identity absent')
|
||||
inventory.append([result['Class'],result['Type'],package['Name'],package['Version'],package['Identifier']['PURL']])
|
||||
inventory.sort();require(len({tuple(p) for p in inventory})==44 and inventory==contract['inventory']
|
||||
and hashlib.sha256(json.dumps(inventory,sort_keys=True,separators=(',',':')).encode()).hexdigest()==contract['inventory_canonical_sha256'],'immutable inventory differs from published 38 OS and 6 Python packages')
|
||||
require(any(p[0]=='os-pkgs' and p[2]=='zlib' and p[3]=='1.3.2-r1' for p in inventory),'fixed zlib package missing')
|
||||
for result in report['Results']:
|
||||
require(isinstance(result,dict) and isinstance(result.get('Vulnerabilities',[]),(list,type(None))),'full scan result invalid')
|
||||
require(not result.get('Vulnerabilities'),'new finding refuses release and closure')
|
||||
return {'full_report_sha256':receipt['full_report_sha256'],'db_sha256':receipt['db_sha256'],'completed_at':receipt['completed_at'],'next_update':metadata['NextUpdate'],'allseverity_findings':0}
|
||||
|
||||
|
||||
class Journal:
|
||||
def __init__(self, parent, identity):
|
||||
self.parent = Path(parent)
|
||||
private(self.parent, directory=True)
|
||||
self.path = self.parent / 'execution-journal.json'
|
||||
self.lock = os.open(self.parent / 'execution.lock', os.O_CREAT | os.O_NOFOLLOW | os.O_RDWR, 0o600)
|
||||
fcntl.flock(self.lock, fcntl.LOCK_EX | fcntl.LOCK_NB)
|
||||
private(self.parent / 'execution.lock')
|
||||
if self.path.exists():
|
||||
private(self.path)
|
||||
self.data = json.loads(self.path.read_text())
|
||||
require(self.data['identity'] == identity, 'journal case/source identity changed')
|
||||
else:
|
||||
self.data = {'identity': identity, 'phases': {}}
|
||||
self.save()
|
||||
|
||||
def save(self):
|
||||
temporary = self.parent / 'execution-journal.new'
|
||||
fd = os.open(temporary, os.O_CREAT | os.O_EXCL | os.O_NOFOLLOW | os.O_WRONLY, 0o600)
|
||||
try:
|
||||
with os.fdopen(fd, 'w') as stream:
|
||||
json.dump(self.data, stream, indent=2)
|
||||
stream.write('\n')
|
||||
stream.flush()
|
||||
os.fsync(stream.fileno())
|
||||
os.replace(temporary, self.path)
|
||||
directory = os.open(self.parent, os.O_DIRECTORY | os.O_RDONLY)
|
||||
try:
|
||||
os.fsync(directory)
|
||||
finally:
|
||||
os.close(directory)
|
||||
except BaseException:
|
||||
# Retain evidence rather than overwriting an uncertain durable intent.
|
||||
raise
|
||||
|
||||
def start(self, phase, approval):
|
||||
require(phase not in self.data['phases'], 'already attempted phase; no retry')
|
||||
predecessors = dict(zip(PHASES[1:8], PHASES[:7]))
|
||||
predecessors['rollback-verify'] = 'rollback'
|
||||
if phase in predecessors:
|
||||
require(self.data['phases'].get(predecessors[phase], {}).get('state') == 'COMPLETE',
|
||||
'preceding phase is not verified complete')
|
||||
if phase == 'rollback':
|
||||
require('release' in self.data['phases'], 'rollback requires a recorded release attempt')
|
||||
self.data['phases'][phase] = {'state': 'RUNNING', 'approval': approval,
|
||||
'attempt_id': str(uuid.uuid4()),
|
||||
'started_at': datetime.datetime.now(datetime.timezone.utc).isoformat()}
|
||||
self.save()
|
||||
|
||||
def note(self, phase, key, value):
|
||||
require(self.data['phases'][phase]['state'] == 'RUNNING', 'phase intent missing')
|
||||
self.data['phases'][phase][key] = value
|
||||
self.save()
|
||||
|
||||
def finish(self, phase, result):
|
||||
entry = self.data['phases'][phase]
|
||||
require(entry['state'] == 'RUNNING', 'phase intent missing')
|
||||
entry['result'] = result
|
||||
entry['state'] = 'COMPLETE' if result.get('all_checks_pass') is True else 'UNCERTAIN'
|
||||
self.save()
|
||||
|
||||
def close(self):
|
||||
os.close(self.lock)
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
{
|
||||
"kind": "informed-decision.supervised-mechanical-release-plan",
|
||||
"version": 1,
|
||||
"proposal_id": "INFD-WP-0009-T05/zlib85091-r1",
|
||||
"trial_id": "infd-zlib-20261011-r1",
|
||||
"state": "prepared-awaiting-independent-owner-acknowledgments",
|
||||
"executor_files": {
|
||||
"actuator.py": "741b490bdb315896f05f2e91404c02765517dc1beea81fa590017fccafd299b4",
|
||||
"authority_journal.py": "040144321c69622c223a8437832a3c5a4a9595fc37774fde5ff0ad676828ebf0",
|
||||
"native_program.py": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20",
|
||||
"receipt_safety.py": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
"case_files": {
|
||||
"scan-receipt.json": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a",
|
||||
"source-commit-proof.json": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b",
|
||||
"candidate-deployment.json": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95",
|
||||
"artifact-comparison.json": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4",
|
||||
"rollback-deployment.json": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e",
|
||||
"sqlite_readonly.py": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509",
|
||||
"published-verification.json": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e",
|
||||
"sealed-native-dependencies.json": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369",
|
||||
"sealed-live-deployment.json": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e",
|
||||
"native-preflight.json": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9",
|
||||
"installed-zlib-proof.json": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68",
|
||||
"runtime-receipt.json": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889",
|
||||
"change_guard.py": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201",
|
||||
"check_installed.py": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad",
|
||||
"candidate-runtime.json": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
"owner_source_files": {
|
||||
"deploy/lifecycle/admission.candidate.json": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529",
|
||||
"deploy/lifecycle/service.candidate.json": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278",
|
||||
"deploy/lifecycle/kustomization.yaml": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47",
|
||||
"deploy/lifecycle/registries.candidate.json": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
"candidate_image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23",
|
||||
"prior_image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a",
|
||||
"source_revision": "must-be-exact-final-owner-HEAD-with-approved-four-Git-blobs",
|
||||
"phases": [
|
||||
"drill-backup",
|
||||
"drill-copy",
|
||||
"offline-verify",
|
||||
"cleanup-offline",
|
||||
"cutover-backup",
|
||||
"cutover-copy",
|
||||
"release",
|
||||
"verify",
|
||||
"rollback",
|
||||
"rollback-verify"
|
||||
],
|
||||
"authorization": "fresh externally authenticated root fixed-origin native readback before each phase; exact confirmed platform-root disposition and current packet SHA/source commit; receipt bookkeeping is not an autonomous signed grant",
|
||||
"execute_by": "2026-10-12T23:59:59Z",
|
||||
"raw_output_withheld": true,
|
||||
"native_data_or_workload_action_executed": false,
|
||||
"deadline_semantics": "All phases including verification/recovery must begin before execute_by. No extension or automatic emergency grant; beyond deadline stop and obtain a fresh founder decision. Complete the bounded drill and rollout early enough to allow recovery within the window.",
|
||||
"source_memo_version": 1,
|
||||
"native_review_memo_version": 1,
|
||||
"published_artifact_verified": true
|
||||
}
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
{
|
||||
"apiVersion": "v1",
|
||||
"kind": "ConfigMap",
|
||||
"metadata": {
|
||||
"name": "informed-decision-workload-registry",
|
||||
"namespace": "informed-decision",
|
||||
"annotations": {
|
||||
"informed-decision.coulomb.social/admission": "proposal; INFD-WP-0007 concrete rollout approval required"
|
||||
}
|
||||
},
|
||||
"data": {
|
||||
"lifecycle-callers.json": "{\n \"system:serviceaccount:state-hub:state-hub\": {\n \"tenant\": \"tenant:platform\"\n }\n}\n",
|
||||
"intake-submitters.json": "{\n \"system:serviceaccount:state-hub:state-hub\": {\n \"submitter_id\": \"state-hub\",\n \"memo_classes\": [\n \"decision-record\"\n ],\n \"review_groups\": [\n \"net-kingdom-admins\"\n ],\n \"daily_limit\": 50\n }\n}\n",
|
||||
"review-groups.json": "{\n \"net-kingdom-admins\": {\n \"subject\": \"uid=platform-root,ou=people,dc=netkingdom,dc=local\",\n \"display_name\": \"Platform reviewer\"\n }\n}\n"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
id: RPF-IN-0009
|
||||
kind: intake
|
||||
type: intake
|
||||
title: "Platform technical review of distinct INFD zlib native release"
|
||||
repo: railiance-platform
|
||||
lane: supervised
|
||||
status: closed
|
||||
owner: railiance-platform
|
||||
requested_by: the-custodian
|
||||
origin: handoff
|
||||
origin_ref: INFD-WP-0009-T05
|
||||
priority: high
|
||||
created: "2026-10-11"
|
||||
updated: "2026-10-11"
|
||||
tags: [security, cross-owner, review]
|
||||
---
|
||||
|
||||
New bounded Platform technical review of immutable published zlib artifact and separately proposed image-only native release/drill/cutover/recovery. Distinct from completed RPF-IN-0008 source candidate review and purpose R2 authorization. No native action, private database access, credentials, owner source writes, carried-forward approval or T05 closure.
|
||||
|
||||
## Completed initial changes-requested review
|
||||
|
||||
Initial exact67 manifest1e4 was observed at review start, then shared stage changed to68 manifest81adb9e1749d6bd9f19755a2bbd7b501589ea782445537bbbfe925e1d9f8fa47 before snapshot preservation. Review stopped rather than treating that as unchanged frozen source. Observed68 bytes and manifest archived;29 published proof6ba2 hashes verified. Remote keyword dispatch and recorded backup snapshot identity are not plumbed; freshscan helper permits unbound incomplete zero reports. Fresh scan age and DBNextUpdate controls exist but artifact and full inventory coverage must be checked. Completed owner workrecord precedes conditional entry. Refinement remains this same review trial; no technical agreement or native approval issued.
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
{
|
||||
"base_image_config_id": "sha256:f34de21379c4f50ea0361ca1d8296c8e72f989499ad288016b81204997ae4779",
|
||||
"candidate_local_image_config_id": "sha256:622becc3ebd97cb66b6e7c36f35bf931a7decd9464b65851123c1cc8c998d75b",
|
||||
"candidate_registry_digest": null,
|
||||
"base_layers_preserved": 9,
|
||||
"new_layers": 2,
|
||||
"effective_runtime_config_identical": true,
|
||||
"raw_config_bytes_identical": false,
|
||||
"serialization_note": "Legacy base explicitly serialized empty/false/null defaults; candidate Docker-save config omits equivalent known defaults. Exact closed default normalization only; runtime fields unchanged.",
|
||||
"labels_before": {
|
||||
"org.opencontainers.image.base.digest": "sha256:7f5c6cb29c9f70a026bfe30e72934274ddc69261676cf6d476f81dd32812d173",
|
||||
"org.opencontainers.image.revision": "3e4bcb26f8eeaa8c64345c565477b5ac8ccbb168",
|
||||
"social.coulomb.release.scope": "INFD-WP-0009-T04/purpose-overlay-v1",
|
||||
"social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62"
|
||||
},
|
||||
"labels_after": {
|
||||
"org.opencontainers.image.base.digest": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a",
|
||||
"org.opencontainers.image.revision": "9b4bb25d325698ae543e7e8a8a3c3592db1f58fc",
|
||||
"social.coulomb.release.scope": "INFD-WP-0009-T05/zlib-85091-r1",
|
||||
"social.coulomb.source.context.sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d",
|
||||
"social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62"
|
||||
},
|
||||
"final_changed_files": {
|
||||
"lib/apk/db/installed": {
|
||||
"before": [
|
||||
"file",
|
||||
420,
|
||||
0,
|
||||
0,
|
||||
"6383ea3806247e8dbf9ebee8cb30eb8eca63a8ea59662a793127d6a61b988d70"
|
||||
],
|
||||
"after": [
|
||||
"file",
|
||||
420,
|
||||
0,
|
||||
0,
|
||||
"f590762196710e25c0e9f72da0642cad8a5dcba0aa9e58a0cbaa65684d15c001"
|
||||
]
|
||||
},
|
||||
"usr/lib/libz.so.1.3.2": {
|
||||
"before": [
|
||||
"file",
|
||||
493,
|
||||
0,
|
||||
0,
|
||||
"a1e2c03dcdedba98a06a00cadfb67a0e0b1cd93986860ec0c5ce66e789c44e57"
|
||||
],
|
||||
"after": [
|
||||
"file",
|
||||
493,
|
||||
0,
|
||||
0,
|
||||
"ecc8b9dfc45eb7fa29b410ffaca6257873890de53b80fe91735737b49067c5f2"
|
||||
]
|
||||
}
|
||||
},
|
||||
"directory_metadata_compared": true,
|
||||
"directory_count_base": 313,
|
||||
"directory_count_candidate": 313,
|
||||
"directory_metadata_delta": {},
|
||||
"sbom_package_count_base": 44,
|
||||
"sbom_package_count_candidate": 44,
|
||||
"sbom_only_delta": {
|
||||
"zlib": [
|
||||
"1.3.2-r0",
|
||||
"1.3.2-r1"
|
||||
]
|
||||
},
|
||||
"full_scan_baseline_findings": 1,
|
||||
"full_scan_candidate_allseverity_findings": 0,
|
||||
"db_snapshot_same": true,
|
||||
"native_workload_changed": false
|
||||
}
|
||||
|
|
@ -0,0 +1,519 @@
|
|||
"""Synthetic custody/transport tests. No native data, Docker or cluster action."""
|
||||
import copy
|
||||
import datetime
|
||||
import io
|
||||
import json
|
||||
import os
|
||||
from pathlib import Path
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
import unittest
|
||||
from unittest.mock import patch
|
||||
from contextlib import redirect_stdout
|
||||
|
||||
import actuator
|
||||
from authority_journal import Journal, authority, fresh_scan
|
||||
from native_program import PROGRAM
|
||||
from receipt_safety import counts
|
||||
|
||||
CASE = Path(__file__).resolve().parent.parent
|
||||
NOW = datetime.datetime(2026, 10, 11, 2, 0, tzinfo=datetime.timezone.utc)
|
||||
REVISION = 'e' * 40
|
||||
COUNT = {'schema_version': 5, 'integrity': 'ok', 'read_only_pre_open': True, 'store_constructed': False,
|
||||
'lifecycle': {'records': 3, 'events': 8, 'pending': 1},
|
||||
'outbox': {'pending': 2, 'delivered': 10}, 'submissions': {'confirmed': 1, 'unresolved': 1}}
|
||||
|
||||
|
||||
def accepted():
|
||||
approval = '11111111-1111-4111-8111-111111111111'
|
||||
review = 'review-22222222-2222-4222-8222-222222222222'
|
||||
disposition = 'disp-33333333-3333-4333-8333-333333333333'
|
||||
receipt = {'proposal_id': 'INFD-WP-0009-T05/zlib85091-r1',
|
||||
'memo_id': 'infd-20261011-zlib-remediation-r1', 'memo_version': 1,
|
||||
'memo_sha256': 'a' * 64, 'source_revision': REVISION, 'activation': 'APPROVED',
|
||||
'authority_mode': 'ADMINISTER', 'target': 'realm:kubernetes/railiance01/informed-decision',
|
||||
'verification_method': 'root-fixed-origin-native-readback', 'runtime_authenticated_grant': False, 'outcome_query': '/lifecycle/memos/infd-20261011-zlib-remediation-r1/outcomes?version=1',
|
||||
'verified_at': '2026-10-11T02:00:00Z', 'accepted_at': '2026-10-11T01:59:00Z',
|
||||
'review_memo_id': review, 'approval_id': approval, 'disposition_id': disposition}
|
||||
outcome = {'memo_id': receipt['memo_id'], 'review': {'memo_id': review, 'stale': False, 'intake_state': 'ready'},
|
||||
'dispositions': [{'approval_id': None, 'submission_state': 'confirmed',
|
||||
'disposition': {'verb': 'accept', 'memo_version': 1, 'memo_id': review,
|
||||
'approval_id': approval, 'id': disposition,
|
||||
'actor': {'kind': 'person', 'sub': 'uid=platform-root,ou=people,dc=netkingdom,dc=local'},
|
||||
'at': receipt['accepted_at']}}]}
|
||||
return receipt, outcome
|
||||
|
||||
|
||||
class AuthorityAndCustody(unittest.TestCase):
|
||||
def test_exact_nested_founder_receipt_not_top_level_approval(self):
|
||||
receipt, outcome = accepted()
|
||||
result = authority(receipt, outcome, 'a' * 64, REVISION, 'drill-copy', NOW)
|
||||
self.assertEqual(result['approval_id'], receipt['approval_id'])
|
||||
|
||||
def test_pending_stale_wrong_actor_version_and_binding_refuse(self):
|
||||
mutations = [lambda r, o: r.update(activation='PENDING'),
|
||||
lambda r, o: r.update(memo_sha256='changed'),
|
||||
lambda r, o: r.update(source_revision='changed'),
|
||||
lambda r, o: r.update(target='other'),
|
||||
lambda r, o: r.update(verified_at='2026-10-11T01:00:00Z'),
|
||||
lambda r, o: r.update(verification_method='caller-asserted'),
|
||||
lambda r, o: r.update(runtime_authenticated_grant=True),
|
||||
lambda r, o: o['review'].update(stale=True),
|
||||
lambda r, o: o['review'].update(intake_state='pending'),
|
||||
lambda r, o: o['dispositions'][0].update(submission_state='unresolved'),
|
||||
lambda r, o: o['dispositions'][0]['disposition'].update(memo_version=3),
|
||||
lambda r, o: o['dispositions'][0]['disposition'].update(actor={'kind': 'agent', 'sub': 'platform-root'}),
|
||||
lambda r, o: o['dispositions'].append(copy.deepcopy(o['dispositions'][0]))]
|
||||
for mutate in mutations:
|
||||
with self.subTest(mutate=mutate):
|
||||
r, o = accepted()
|
||||
mutate(r, o)
|
||||
with self.assertRaises(ValueError):
|
||||
authority(r, o, 'a' * 64, REVISION, 'release', NOW)
|
||||
|
||||
def test_expired_window_and_unknown_phase_refuse(self):
|
||||
r, o = accepted()
|
||||
with self.assertRaises(ValueError):
|
||||
authority(r, o, 'a' * 64, REVISION, 'arbitrary', NOW)
|
||||
late = datetime.datetime(2026, 10, 13, tzinfo=datetime.timezone.utc)
|
||||
r['verified_at'] = late.isoformat()
|
||||
with self.assertRaises(ValueError):
|
||||
authority(r, o, 'a' * 64, REVISION, 'rollback', late)
|
||||
|
||||
def test_durable_intent_precedes_dispatch_and_never_retries(self):
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
parent = Path(directory)
|
||||
os.chmod(parent, 0o700)
|
||||
journal = Journal(parent, {'case': 'fixture'})
|
||||
journal.start('drill-backup', {'approval_id': 'fixture'})
|
||||
self.assertEqual(json.loads(journal.path.read_text())['phases']['drill-backup']['state'], 'RUNNING')
|
||||
journal.close() # simulated crash before result
|
||||
recovered = Journal(parent, {'case': 'fixture'})
|
||||
with self.assertRaises(ValueError):
|
||||
recovered.start('drill-backup', {})
|
||||
with self.assertRaises(ValueError):
|
||||
recovered.start('drill-backup', {})
|
||||
recovered.close()
|
||||
|
||||
def test_phase_order_and_uncertain_release_allows_only_distinct_recovery(self):
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
os.chmod(directory, 0o700)
|
||||
j = Journal(directory, {'case': 'fixture'})
|
||||
with self.assertRaises(ValueError):
|
||||
j.start('release', {})
|
||||
for phase in actuator.PHASES[:6]:
|
||||
j.start(phase, {})
|
||||
j.finish(phase, {'all_checks_pass': True})
|
||||
j.start('release', {})
|
||||
j.finish('release', {'all_checks_pass': False})
|
||||
with self.assertRaises(ValueError):
|
||||
j.start('release', {})
|
||||
with self.assertRaises(ValueError):
|
||||
j.start('verify', {})
|
||||
j.start('rollback', {})
|
||||
j.finish('rollback', {'all_checks_pass': True})
|
||||
j.close()
|
||||
|
||||
def test_secret_or_unknown_child_output_is_withheld(self):
|
||||
for body in ('not-json', '{"all_checks_pass":true,"token":"private-value"}',
|
||||
'{"all_checks_pass":true,"snapshot_readonly":{"schema_version":5}}'):
|
||||
with self.assertRaises(ValueError):
|
||||
actuator.json_result(subprocess.CompletedProcess([], 0, body, ''))
|
||||
wrong = copy.deepcopy(COUNT)
|
||||
wrong['outbox'] = {'private-row-value': 1}
|
||||
with self.assertRaises(ValueError):
|
||||
counts(wrong)
|
||||
counts(COUNT) # blocked/unresolved counts are not required to be zero.
|
||||
|
||||
def test_binary_copy_is_bounded_private_and_never_echoed(self):
|
||||
blob = b'synthetic private fixture bytes'
|
||||
digest = __import__('hashlib').sha256(blob).hexdigest()
|
||||
metadata = {'all_checks_pass': True, 'snapshot_file': 'drill.sqlite', 'snapshot_bytes': len(blob),
|
||||
'snapshot_sha256': digest, 'snapshot_readonly': COUNT,
|
||||
'pod_name': 'fixture-pod', 'pod_uid': 'fixture-uid'}
|
||||
journal = type('FixtureJournal', (), {'data': {'phases': {'drill-backup': {'result': metadata}}}})()
|
||||
real_popen = subprocess.Popen
|
||||
for extra in (b'', b'oversized'):
|
||||
with self.subTest(extra=extra), tempfile.TemporaryDirectory() as folder:
|
||||
os.chmod(folder, 0o700)
|
||||
output = io.StringIO()
|
||||
|
||||
def child(*args, **kwargs):
|
||||
return real_popen([sys.executable, '-c', 'import sys;sys.stdout.buffer.write(' + repr(blob + extra) + ')'],
|
||||
stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
|
||||
|
||||
with patch.object(actuator, 'CUSTODY', Path(folder)), patch.object(actuator, 'remote', return_value=metadata), \
|
||||
patch('subprocess.Popen', side_effect=child), redirect_stdout(output):
|
||||
if extra:
|
||||
with self.assertRaises(ValueError):
|
||||
actuator.copy_snapshot('drill-copy', REVISION, {}, journal)
|
||||
else:
|
||||
result = actuator.copy_snapshot('drill-copy', REVISION, {}, journal)
|
||||
self.assertTrue(result['off_cluster_private_copy_verified'])
|
||||
self.assertEqual((Path(folder) / 'drill.sqlite').read_bytes(), blob)
|
||||
self.assertEqual(output.getvalue(), '')
|
||||
self.assertEqual((Path(folder) / 'drill.sqlite').stat().st_mode & 0o777, 0o600)
|
||||
|
||||
def test_recreated_offline_volume_cannot_be_deleted(self):
|
||||
identity = {'Name': actuator.VOLUME, 'Labels': {'nonce': 'old'}, 'CreatedAt': 'old'}
|
||||
journal = type('FixtureJournal', (), {'data': {'phases': {
|
||||
'offline-verify': {'result': {'created_volume_identity': identity}}}}})()
|
||||
inspected = [{**identity, 'CreatedAt': 'recreated'}]
|
||||
with patch.object(actuator, 'docker', return_value=subprocess.CompletedProcess([], 0, json.dumps(inspected), '')) as mocked:
|
||||
with self.assertRaises(ValueError):
|
||||
actuator.cleanup_offline(journal)
|
||||
self.assertEqual(mocked.call_count, 1)
|
||||
|
||||
def test_offline_post_admin_integrity_and_original_hash_are_rechecked(self):
|
||||
for defect in ('none', 'post-integrity', 'original-hash'):
|
||||
with self.subTest(defect=defect), tempfile.TemporaryDirectory() as directory:
|
||||
folder=Path(directory);os.chmod(folder,0o700)
|
||||
snapshot=folder/'drill.sqlite';snapshot.write_bytes(b'private synthetic snapshot');os.chmod(snapshot,0o600)
|
||||
digest=actuator.sha(snapshot)
|
||||
prior={'snapshot_sha256':digest,'snapshot_readonly':COUNT}
|
||||
journal=type('FixtureJournal',(),{'data':{'phases':{'drill-copy':{'result':prior},'offline-verify':{'attempt_id':'nonce'}}},'note':lambda *args:None})()
|
||||
reads=[]
|
||||
volume={'Name':actuator.VOLUME,'Labels':{'informed-decision.case':'infd-zlib-20261011-r1','informed-decision.use':'offline-restore-only','informed-decision.attempt':'nonce'},'Driver':'local','Scope':'local','CreatedAt':'fixture','Options':None}
|
||||
def docker(argv, body=None, **kwargs):
|
||||
if argv[0]=='info':body=json.dumps('bnt-lap001')
|
||||
elif argv[:2]==['volume','ls']:body=''
|
||||
elif argv[:2]==['volume','create']:body=actuator.VOLUME
|
||||
elif argv[:2]==['volume','inspect']:body=json.dumps([volume])
|
||||
elif 'informed-decision-admin' in argv:
|
||||
body=json.dumps({key:COUNT[key] for key in ('schema_version','lifecycle','outbox','submissions')})
|
||||
if defect=='original-hash':snapshot.write_bytes(b'changed synthetic original')
|
||||
elif '--entrypoint' in argv and 'python' in argv:
|
||||
reads.append(argv);proof=copy.deepcopy(COUNT)
|
||||
if len(reads)==2 and defect=='post-integrity':proof['integrity']='corrupt'
|
||||
body=json.dumps(proof)
|
||||
else:raise AssertionError('unexpected offline command')
|
||||
return subprocess.CompletedProcess(argv,0,body,'')
|
||||
with patch.object(actuator,'CUSTODY',folder),patch.object(actuator,'CASE',CASE),patch.object(actuator,'docker',side_effect=docker),patch('subprocess.run',return_value=subprocess.CompletedProcess([],0,'{"all_checks_pass":true,"private_copy_verified":true}','')):
|
||||
if defect=='none':
|
||||
result=actuator.offline_verify(journal)
|
||||
self.assertEqual(result['offline_post_admin_readonly'],COUNT)
|
||||
self.assertTrue(result['original_snapshot_hash_unchanged'])
|
||||
else:
|
||||
with self.assertRaises(ValueError):actuator.offline_verify(journal)
|
||||
self.assertEqual(len(reads),2)
|
||||
|
||||
def test_fresh_full_scan_db_expiry_and_new_findings_refuse(self):
|
||||
receipt={'image':actuator.IMAGE,'artifact_source_revision':'9b4bb25d325698ae543e7e8a8a3c3592db1f58fc','scanner':'aquasec/trivy@sha256:62b1e65e8869bc4b4c6aa4fa2b21595256c7c2f6018a9d9ad61caf87187c1969','no_suppression':True,'full_allseverity_scan':True,'exit_code':0,'completed_at':'2026-10-11T01:59:00Z','db_metadata':{'UpdatedAt':'2026-10-10T19:00:00Z','NextUpdate':'2026-10-11T19:00:00Z','Version':2},'db_sha256':'a'*64,'full_report_sha256':'b'*64}
|
||||
contract=json.loads((CASE/'fresh-scan-contract.json').read_text())
|
||||
report=json.loads((CASE/'fresh-scan-report-fixture.json').read_text())
|
||||
self.assertEqual(fresh_scan(receipt,report,contract,NOW)['allseverity_findings'],0)
|
||||
mutations=[lambda r,p:r.update(no_suppression=False),lambda r,p:r.update(image='foreign'),lambda r,p:r.update(scanner='other'),lambda r,p:r.update(completed_at='2026-10-10T21:00:00Z'),lambda r,p:r['db_metadata'].update(NextUpdate='2026-10-11T01:59:00Z'),lambda r,p:p['Results'][0].update(Vulnerabilities=[{'Severity':'LOW'}]),lambda r,p:p.update(Results=[]),lambda r,p:p.update(Results=[{}]),lambda r,p:p['Results'].pop(),lambda r,p:p['Results'][0]['Packages'].pop(),lambda r,p:p['Results'][0]['Packages'][0].update(Version='old'),lambda r,p:p['Metadata'].update(ImageID='other'),lambda r,p:p['Metadata']['DiffIDs'].pop(),lambda r,p:p['Metadata']['ImageConfig']['config']['Labels'].update(**{'org.opencontainers.image.revision':'other'}),lambda r,p:p.update(SchemaVersion=1),lambda r,p:p.update(ArtifactType='filesystem')]
|
||||
for mutate in mutations:
|
||||
r,p=copy.deepcopy(receipt),copy.deepcopy(report);mutate(r,p)
|
||||
with self.assertRaises(ValueError):fresh_scan(r,p,contract,NOW)
|
||||
|
||||
|
||||
class FixedNativeProgram(unittest.TestCase):
|
||||
def fixture(self):
|
||||
sealed = json.loads((CASE / 'sealed-live-deployment.json').read_text())
|
||||
live = copy.deepcopy(sealed)
|
||||
live['metadata'].update(generation=42)
|
||||
live['status'] = {'readyReplicas': 1, 'updatedReplicas': 1, 'observedGeneration': 42}
|
||||
dependencies = json.loads((CASE / 'sealed-native-dependencies.json').read_text())
|
||||
cm = copy.deepcopy(dependencies['configmap'])
|
||||
cm.pop('canonical_data_sha256')
|
||||
service = json.loads((CASE / 'candidate-deployment.json').read_text())
|
||||
source_service = json.loads((Path('/home/worsch/informed-decision/deploy/lifecycle/service.candidate.json')).read_text())
|
||||
cm['data'] = next(x for x in source_service['items'] if x['kind'] == 'ConfigMap')['data']
|
||||
pvc = copy.deepcopy(dependencies['pvc'])
|
||||
pvc['status'] = {'phase': 'Bound'}
|
||||
app = {'metadata': {'uid': '499868f2-eabc-4df4-ae31-b89ce58d750d', 'resourceVersion': '17'},
|
||||
'spec': {'source': {'repoURL': 'https://forgejo.coulomb.social/coulomb/informed-decision.git',
|
||||
'path': 'deploy/lifecycle', 'targetRevision': 'c96b0c6d881e855d1d158003c6de90ef390262e2'},
|
||||
'destination': {'namespace': 'informed-decision', 'server': 'https://kubernetes.default.svc'}}}
|
||||
objects = {'deployment': live, 'configmap': cm, 'pvc': pvc, 'application': app}
|
||||
payload = {'phase': 'release', 'source_revision': REVISION, 'approval': {}, 'sealed': sealed,
|
||||
'dependencies': dependencies, 'candidate': service,
|
||||
'rollback': json.loads((CASE / 'rollback-deployment.json').read_text()),
|
||||
'readonly': (CASE / 'sqlite_readonly.py').read_text(),'purpose_checks':(CASE/'check_installed.py').read_text(),
|
||||
'installed_zlib': json.loads((CASE / 'installed-zlib-proof.json').read_text()), 'receipt_safety': (Path(__file__).parent / 'receipt_safety.py').read_text()}
|
||||
return objects, payload
|
||||
|
||||
def execute_fake(self, objects, payload, ambiguous=False, schema_refused=False):
|
||||
writes = []
|
||||
calls = []
|
||||
|
||||
def fake(argv, input=None, **kwargs):
|
||||
calls.append(argv)
|
||||
if argv[:2] == ['kubectl', 'get']:
|
||||
kind = argv[2]
|
||||
if kind in objects:
|
||||
body = objects[kind]
|
||||
elif kind == 'pods':
|
||||
body = {'items': [{'metadata': {'name': 'fixture-pod', 'uid': 'c4cb1550-feda-4097-9de4-d891a657b662',
|
||||
'ownerReferences': [{'kind': 'ReplicaSet', 'name': 'fixture-rs', 'uid': 'rs-uid'}]},
|
||||
'spec': objects['deployment']['spec']['template']['spec'],
|
||||
'status': {'phase': 'Running', 'containerStatuses': [{'name':'informed-decision','ready': True,'imageID':objects['deployment']['spec']['template']['spec']['containers'][0]['image']}] }}]}
|
||||
elif kind == 'replicaset':
|
||||
body = {'metadata': {'uid': 'rs-uid', 'ownerReferences': [
|
||||
{'kind': 'Deployment', 'uid': payload['sealed']['metadata']['uid']}]}}
|
||||
elif kind == 'nodes':
|
||||
body = {'items': [{'metadata': {'name': 'fixture-node'}, 'status': {
|
||||
'addresses': [{'address': '92.205.62.239'}], 'allocatable': {'cpu': '4'},
|
||||
'conditions': [{'type': key, 'status': 'True' if key == 'Ready' else 'False'}
|
||||
for key in ('Ready', 'MemoryPressure', 'DiskPressure', 'PIDPressure')]}}]}
|
||||
else:
|
||||
raise AssertionError('unexpected fixed metadata route')
|
||||
return subprocess.CompletedProcess(argv, 0, json.dumps(body), '')
|
||||
if argv[:2] == ['kubectl', 'exec']:
|
||||
if schema_refused:
|
||||
return subprocess.CompletedProcess(argv, 1, '', 'withheld')
|
||||
return subprocess.CompletedProcess(argv, 0, json.dumps({
|
||||
'all_checks_pass': True, 'live_readonly_schema_integrity_counts': COUNT}), '')
|
||||
if argv[:2] == ['kubectl', 'apply']:
|
||||
admitted = copy.deepcopy(payload['sealed'])
|
||||
admitted['spec']['template']['spec']['containers'][0]['image'] = (actuator.IMAGE if payload['phase']=='release' else payload['sealed']['spec']['template']['spec']['containers'][0]['image'])
|
||||
return subprocess.CompletedProcess(argv, 0, json.dumps(admitted), '')
|
||||
if argv[:2] == ['kubectl', 'describe']:
|
||||
return subprocess.CompletedProcess(argv, 0, 'Allocated resources:\n cpu 3460m (86%)\n', '')
|
||||
if argv[:2] == ['kubectl', 'diff']:
|
||||
return subprocess.CompletedProcess(argv, 1, '-image: base\n+image: candidate\n', '')
|
||||
if argv[:2] == ['kubectl', 'patch']:
|
||||
if '--dry-run=server' not in argv:
|
||||
writes.append(json.loads(input))
|
||||
if ambiguous:
|
||||
return subprocess.CompletedProcess(argv, 1, '', 'withheld')
|
||||
return subprocess.CompletedProcess(argv, 0, 'application.argoproj.io/informed-decision\n', '')
|
||||
raise AssertionError('unexpected command')
|
||||
|
||||
source = PROGRAM.replace('__PAYLOAD__', repr(json.dumps(payload))).replace(
|
||||
'__GUARD__', repr((CASE / 'change_guard.py').read_text()))
|
||||
output = io.StringIO()
|
||||
with patch('subprocess.run', side_effect=fake), redirect_stdout(output):
|
||||
try:
|
||||
exec(compile(source, 'fixed-native-fixture', 'exec'), {'__name__': '__fixture__'})
|
||||
except (ValueError, SystemExit):
|
||||
pass
|
||||
receipt = json.loads(output.getvalue()) if output.getvalue() else {'all_checks_pass': False}
|
||||
return receipt, writes, calls
|
||||
|
||||
def test_only_existing_application_operation_and_deployment_are_requested(self):
|
||||
objects, payload = self.fixture()
|
||||
receipt, writes, calls = self.execute_fake(objects, payload)
|
||||
self.assertTrue(receipt['all_checks_pass'])
|
||||
self.assertFalse(receipt['rollout_verified'])
|
||||
self.assertEqual(len(writes), 1)
|
||||
operation = writes[0][-1]['value']
|
||||
self.assertFalse(operation['sync']['prune'])
|
||||
self.assertEqual(operation['sync']['resources'], [
|
||||
{'group': 'apps', 'kind': 'Deployment', 'name': 'informed-decision', 'namespace': 'informed-decision'}])
|
||||
self.assertTrue(any('--dry-run=server' in argv and argv[:2] == ['kubectl', 'patch'] for argv in calls))
|
||||
self.assertEqual(writes[0][0]['path'], '/metadata/uid')
|
||||
|
||||
def test_source_overrides_automation_and_custody_drift_stop_before_write(self):
|
||||
mutations = [lambda o: o['application']['metadata'].update(uid='recreated'),
|
||||
lambda o: o['application']['spec'].update(syncPolicy={'automated': {}}),
|
||||
lambda o: o['application']['spec']['source'].update(kustomize={'images': ['other']}),
|
||||
lambda o: o['application']['spec'].update(sources=[{}]),
|
||||
lambda o: o['configmap']['metadata'].update(uid='recreated'),
|
||||
lambda o: o['pvc']['spec'].update(volumeName='replaced'),
|
||||
lambda o: o['deployment']['status'].update(readyReplicas=0)]
|
||||
for mutate in mutations:
|
||||
with self.subTest(mutate=mutate):
|
||||
objects, payload = self.fixture()
|
||||
mutate(objects)
|
||||
receipt, writes, calls = self.execute_fake(objects, payload)
|
||||
self.assertFalse(receipt['all_checks_pass'])
|
||||
self.assertEqual(writes, [])
|
||||
|
||||
def test_preopen_schema_refusal_prevents_image_operation(self):
|
||||
objects, payload = self.fixture()
|
||||
receipt, writes, calls = self.execute_fake(objects, payload, schema_refused=True)
|
||||
self.assertFalse(receipt['all_checks_pass'])
|
||||
self.assertEqual(writes, [])
|
||||
|
||||
|
||||
def test_rollback_unready_candidate_never_reads_pod_or_database(self):
|
||||
objects, payload = self.fixture()
|
||||
payload['phase'] = 'rollback'
|
||||
objects['deployment']['status'].update(readyReplicas=0, updatedReplicas=0)
|
||||
objects['deployment']['spec']['template']['spec']['containers'][0]['image'] = actuator.IMAGE
|
||||
objects['application']['spec']['source']['targetRevision'] = REVISION
|
||||
receipt, writes, calls = self.execute_fake(objects, payload, schema_refused=True)
|
||||
self.assertTrue(receipt['all_checks_pass'])
|
||||
self.assertFalse(receipt['rollout_verified'])
|
||||
self.assertEqual(len(writes), 1)
|
||||
self.assertFalse(any(argv[:2] == ['kubectl', 'exec'] or argv[:3] == ['kubectl', 'get', 'pods'] for argv in calls))
|
||||
self.assertEqual(writes[0][-1]['value']['sync']['revision'], 'c96b0c6d881e855d1d158003c6de90ef390262e2')
|
||||
|
||||
def test_rollback_still_refuses_custody_or_nonpair_image_drift(self):
|
||||
for defect in ('cm', 'pvc', 'image'):
|
||||
with self.subTest(defect=defect):
|
||||
objects, payload = self.fixture();payload['phase'] = 'rollback'
|
||||
objects['deployment']['status']['readyReplicas'] = 0
|
||||
if defect == 'cm':objects['configmap']['metadata']['uid'] = 'recreated'
|
||||
elif defect == 'pvc':objects['pvc']['spec']['volumeName'] = 'replaced'
|
||||
else:objects['deployment']['spec']['template']['spec']['containers'][0]['image'] = 'foreign-image'
|
||||
receipt, writes, calls = self.execute_fake(objects, payload)
|
||||
self.assertFalse(receipt['all_checks_pass']);self.assertEqual(writes, [])
|
||||
|
||||
def test_recovery_verification_is_separate_ready_old_image_schema_proof(self):
|
||||
objects, payload = self.fixture();payload['phase'] = 'rollback-verify'
|
||||
resource={'group':'apps','kind':'Deployment','name':'informed-decision','namespace':'informed-decision'}
|
||||
target='c96b0c6d881e855d1d158003c6de90ef390262e2'
|
||||
payload['operation_intent']={'state':'COMPLETE','started_at':'2026-10-11T01:00:00Z','result':{'operation_requested':True,'source_revision':target,'prune':False,'resources':[resource]}}
|
||||
objects['application']['status']={'operationState':{'phase':'Succeeded','startedAt':'2026-10-11T01:00:01Z','finishedAt':'2026-10-11T01:01:00Z','operation':{'initiatedBy':{'username':'custodian-codex'},'sync':{'revision':target,'resources':[resource]}},'syncResult':{'revision':target,'resources':[{**resource,'status':'Synced'}]}}}
|
||||
receipt, writes, calls = self.execute_fake(objects, payload)
|
||||
self.assertTrue(receipt['all_checks_pass']);self.assertTrue(receipt['recovery_verification'])
|
||||
self.assertEqual(writes, [])
|
||||
self.assertTrue(any(argv[:2]==['kubectl','exec'] for argv in calls))
|
||||
objects['deployment']['status']['readyReplicas'] = 0
|
||||
receipt, writes, calls = self.execute_fake(objects,payload)
|
||||
self.assertFalse(receipt['all_checks_pass'])
|
||||
|
||||
def test_ambiguous_patch_is_never_retried(self):
|
||||
objects, payload = self.fixture()
|
||||
receipt, writes, calls = self.execute_fake(objects, payload, ambiguous=True)
|
||||
self.assertFalse(receipt['all_checks_pass'])
|
||||
self.assertEqual(len(writes), 1)
|
||||
|
||||
def test_false_omitempty_needs_bound_current_request_and_exact_completion(self):
|
||||
objects,payload=self.fixture();payload['phase']='rollback-verify'
|
||||
resource={'group':'apps','kind':'Deployment','name':'informed-decision','namespace':'informed-decision'}
|
||||
target='c96b0c6d881e855d1d158003c6de90ef390262e2'
|
||||
payload['operation_intent']={'state':'COMPLETE','started_at':'2026-10-11T01:00:00Z','result':{'operation_requested':True,'source_revision':target,'prune':False,'resources':[resource]}}
|
||||
objects['application']['status']={'operationState':{'phase':'Succeeded','startedAt':'2026-10-11T01:00:01Z','finishedAt':'2026-10-11T01:01:00Z','operation':{'initiatedBy':{'username':'custodian-codex'},'sync':{'revision':target,'resources':[resource]}},'syncResult':{'revision':target,'resources':[{**resource,'status':'Synced'}]}}}
|
||||
self.assertTrue(self.execute_fake(objects,payload)[0]['all_checks_pass'])
|
||||
mutations=[lambda o,p:o['application']['status']['operationState']['operation']['sync'].update(prune=True),
|
||||
lambda o,p:o['application']['status']['operationState']['operation']['sync'].update(prune=None),
|
||||
lambda o,p:o['application']['status']['operationState'].update(startedAt='2026-10-11T00:59:00Z'),
|
||||
lambda o,p:o['application']['status']['operationState']['operation'].update(initiatedBy={'username':'other'}),
|
||||
lambda o,p:o['application']['status']['operationState']['syncResult'].update(revision='foreign'),
|
||||
lambda o,p:o['application']['status']['operationState']['syncResult']['resources'][0].update(status='Pruned'),
|
||||
lambda o,p:p['operation_intent']['result'].update(prune=True),
|
||||
lambda o,p:p.update(operation_intent=None)]
|
||||
for mutate in mutations:
|
||||
o,p=copy.deepcopy(objects),copy.deepcopy(payload);mutate(o,p)
|
||||
receipt,writes,calls=self.execute_fake(o,p)
|
||||
self.assertFalse(receipt['all_checks_pass']);self.assertEqual(writes,[])
|
||||
|
||||
def test_optimized_executor_refuses_before_any_input(self):
|
||||
result=subprocess.run([sys.executable,'-O',str(Path(__file__).parent/'actuator.py'),'--phase','release','--root-authority-receipt','/missing','--root-native-outcome','/missing','--source-revision',REVISION],capture_output=True,text=True)
|
||||
self.assertNotEqual(result.returncode,0)
|
||||
self.assertIn('optimized interpreter refused',result.stderr)
|
||||
|
||||
|
||||
class FullCliDispatch(unittest.TestCase):
|
||||
def invoke(self,phase,corrupt_source=False):
|
||||
import hashlib,shutil
|
||||
import authority_journal
|
||||
realpath=Path;called=[];output=io.StringIO()
|
||||
with tempfile.TemporaryDirectory() as folder:
|
||||
base=Path(folder);custody=base/'private';custody.mkdir(mode=0o700)
|
||||
empty=custody/'empty-docker-config';empty.mkdir(mode=0o700)
|
||||
owner=base/'owner';owner.mkdir();case=owner/'case';case.mkdir();execution=case/'execution';execution.mkdir()
|
||||
for name in ('actuator.py','authority_journal.py','native_program.py','receipt_safety.py'):
|
||||
shutil.copyfile(Path(__file__).parent/name,execution/name)
|
||||
(case/'memo.json').write_text('{}')
|
||||
for name in ('sealed-live-deployment.json','sealed-native-dependencies.json','candidate-deployment.json','rollback-deployment.json','check_installed.py','sqlite_readonly.py','change_guard.py','installed-zlib-proof.json','fresh-scan-contract.json'):
|
||||
shutil.copyfile(CASE/name,case/name)
|
||||
names=('deploy/lifecycle/admission.candidate.json','deploy/lifecycle/service.candidate.json','deploy/lifecycle/kustomization.yaml','deploy/lifecycle/registries.candidate.json')
|
||||
for name in names:
|
||||
target=owner/name;target.parent.mkdir(parents=True,exist_ok=True);target.write_text('sourcefixture')
|
||||
plan={'state':'prepared-unapproved','published_artifact_verified':True,'proposal_id':'INFD-WP-0009-T05/zlib85091-r1','executor_files':{n:actuator.sha(execution/n) for n in ('actuator.py','authority_journal.py','native_program.py','receipt_safety.py')},'case_files':{p.name:actuator.sha(p) for p in case.iterdir() if p.is_file() and p.name!='memo.json'},'owner_source_files':{n:actuator.sha(owner/n) for n in names}}
|
||||
(execution/'execution-plan.json').write_text(json.dumps(plan))
|
||||
receipt,outcome=accepted();receipt.update(native_outcome_sha256=hashlib.sha256(json.dumps(outcome).encode()).hexdigest(),executor_plan_sha256=actuator.sha(execution/'execution-plan.json'))
|
||||
mapping={}
|
||||
for fixed,data in [('/tmp/security-infd-zlib-root-authority.json',receipt),('/tmp/security-infd-zlib-native-outcome-latest.json',outcome),('/tmp/security-infd-zlib-fresh-scan-receipt.json',{'fixture':True}),('/tmp/security-infd-zlib-fresh-scan-full.json',{'fixture':True})]:
|
||||
target=base/Path(fixed).name;target.write_text(json.dumps(data));target.chmod(0o600);mapping[fixed]=target
|
||||
scanreceipt=mapping['/tmp/security-infd-zlib-fresh-scan-receipt.json'];scanreceipt.write_text(json.dumps({'full_report_sha256':actuator.sha(mapping['/tmp/security-infd-zlib-fresh-scan-full.json'])}))
|
||||
identity={'proposal':plan['proposal_id'],'source_revision':REVISION,'memo_sha256':actuator.sha(case/'memo.json'),'plan_sha256':actuator.sha(execution/'execution-plan.json')}
|
||||
blob=b'private synthetic full-cli snapshot';metadata={'all_checks_pass':True,'snapshot_file':'drill.sqlite','snapshot_bytes':len(blob),'snapshot_sha256':hashlib.sha256(blob).hexdigest(),'snapshot_readonly':COUNT,'pod_name':'fixture-pod','pod_uid':'fixture-poduid'}
|
||||
j=Journal(custody,identity)
|
||||
predecessors=list(actuator.PHASES[:actuator.PHASES.index(phase)])
|
||||
for predecessor in predecessors:
|
||||
j.start(predecessor,{})
|
||||
result=metadata if predecessor=='drill-backup' else {'all_checks_pass':True}
|
||||
if predecessor=='release':result={'all_checks_pass':True,'operation_requested':True,'prune':False,'source_revision':REVISION,'resources':[{'group':'apps','kind':'Deployment','name':'informed-decision','namespace':'informed-decision'}]}
|
||||
j.finish(predecessor,result)
|
||||
j.close()
|
||||
if corrupt_source:(owner/names[0]).write_text('changed')
|
||||
def mapped(value):return mapping.get(str(value),realpath(value))
|
||||
def run(argv,body=None,**kwargs):
|
||||
if argv[:4]==['git','-C',str(owner),'rev-parse']:return subprocess.CompletedProcess(argv,0,REVISION+'\n','')
|
||||
if argv[:4]==['git','-C',str(base),'check-ignore']:return subprocess.CompletedProcess(argv,0,'ignored','')
|
||||
if argv[:2]==['ssh','railiance01']:
|
||||
import ast
|
||||
parsed=ast.parse(body);node=next(x for x in parsed.body if isinstance(x,ast.Assign) and any(isinstance(t,ast.Name) and t.id=='payload' for t in x.targets));payload=json.loads(ast.literal_eval(node.value.args[0]));called.append(payload)
|
||||
self.assertEqual(json.loads(j.path.read_text())['phases'][phase]['state'],'RUNNING')
|
||||
if phase=='drill-copy':self.assertEqual(payload['snapshot_identity'],metadata)
|
||||
if phase=='verify':self.assertEqual(payload['operation_intent']['state'],'COMPLETE');self.assertFalse(payload['operation_intent']['result']['prune'])
|
||||
result=metadata if phase=='drill-copy' else {'all_checks_pass':True,'phase':phase}
|
||||
return subprocess.CompletedProcess(argv,0,json.dumps(result),'')
|
||||
raise AssertionError('unexpected CLI transport')
|
||||
def git_show(argv,**kwargs):
|
||||
self.assertEqual(argv[:4],['git','-C',str(owner),'show']);data=(owner/argv[4].split(':',1)[1]).read_bytes();return subprocess.CompletedProcess(argv,0,data,b'')
|
||||
real_popen=subprocess.Popen
|
||||
def binary(*args,**kwargs):return real_popen([sys.executable,'-c','import sys;sys.stdout.buffer.write('+repr(blob)+')'],stdout=subprocess.PIPE,stderr=subprocess.DEVNULL)
|
||||
argv=['actuator.py','--phase',phase,'--root-authority-receipt','/tmp/security-infd-zlib-root-authority.json','--root-native-outcome','/tmp/security-infd-zlib-native-outcome-latest.json','--root-fresh-scan-receipt','/tmp/security-infd-zlib-fresh-scan-receipt.json','--source-revision',REVISION]
|
||||
with patch.object(actuator,'ROOT',execution),patch.object(actuator,'CASE',case),patch.object(actuator,'OWNER',owner),patch.object(actuator,'CUSTODIAN',base),patch.object(actuator,'CUSTODY',custody),patch.object(actuator,'Path',side_effect=mapped),patch.object(actuator,'run',side_effect=run),patch('subprocess.run',side_effect=git_show),patch('subprocess.Popen',side_effect=binary),patch.object(authority_journal,'authority',return_value={'fixture':True}),patch.object(authority_journal,'fresh_scan',return_value={'fixture':True}),patch('sys.argv',argv),redirect_stdout(output):
|
||||
if corrupt_source:
|
||||
with self.assertRaises(ValueError):actuator.main()
|
||||
else:actuator.main()
|
||||
state=json.loads(j.path.read_text())['phases'].get(phase)
|
||||
return called,state,output.getvalue()
|
||||
|
||||
def test_main_cli_copy_binds_snapshot_and_retains_private_bytes(self):
|
||||
calls,state,output=self.invoke('drill-copy');self.assertEqual(len(calls),2);self.assertEqual(state['state'],'COMPLETE');self.assertNotIn('private synthetic',output)
|
||||
|
||||
def test_main_cli_verify_binds_completed_release_intent(self):
|
||||
calls,state,output=self.invoke('verify');self.assertEqual(len(calls),1);self.assertEqual(state['state'],'COMPLETE')
|
||||
|
||||
def test_main_cli_release_dispatches_only_after_durable_phase(self):
|
||||
calls,state,output=self.invoke('release');self.assertEqual(len(calls),1);self.assertEqual(state['state'],'COMPLETE')
|
||||
|
||||
def test_main_cli_source_hash_refuses_before_journal_or_transport(self):
|
||||
calls,state,output=self.invoke('release',corrupt_source=True);self.assertEqual(calls,[]);self.assertIsNone(state);self.assertEqual(output,'')
|
||||
|
||||
|
||||
class PacketBindingAndBodyLimit(unittest.TestCase):
|
||||
def test_lossless_gzip_bundle_retains_exact_source_hashes(self):
|
||||
import gzip,base64,hashlib
|
||||
bundle=json.loads((CASE/'execution-bundle.json').read_text())
|
||||
for group in ('files','case_evidence'):
|
||||
for relative,item in bundle[group].items():
|
||||
data=gzip.decompress(base64.b64decode(item['content_base64'],validate=True))
|
||||
self.assertEqual(len(data),item['uncompressed_bytes']);self.assertEqual(hashlib.sha256(data).hexdigest(),item['sha256'])
|
||||
self.assertEqual(data,(CASE/relative).read_bytes())
|
||||
item=next(iter(bundle['files'].values()));changed=bytearray(base64.b64decode(item['content_base64']));changed[-1]^=1
|
||||
with self.assertRaises((OSError,EOFError)):gzip.decompress(changed)
|
||||
|
||||
def test_actual_source_http_256kib_limit_before_register_side_effect(self):
|
||||
import os
|
||||
script="""import io,json,sys
|
||||
sys.dont_write_bytecode=True
|
||||
sys.path.insert(0,'/home/worsch/informed-decision')
|
||||
from informed_decision.lifecycle_http import LifecycleAPI,MAX_BODY
|
||||
from informed_decision.lifecycle_service import Caller
|
||||
from informed_decision.lifecycle_service import LifecycleError
|
||||
from informed_decision.intake import validate_submission,SubmitterGrant
|
||||
from pathlib import Path
|
||||
root=Path(sys.argv[1]);commands=json.loads((root/'lifecycle-commands.json').read_text());envelope=json.loads((root/'intake.json').read_text())
|
||||
validate_submission(envelope,submitter_id='state-hub',grant=SubmitterGrant('state-hub',frozenset({'decision-record'}),frozenset({'net-kingdom-admins'})))
|
||||
class Service:
|
||||
calls=0
|
||||
def _caller(self,caller):pass
|
||||
def register(self,*args,**kwargs):self.calls+=1;return 'fixture-event'
|
||||
service=Service();api=LifecycleAPI(service,lambda token:object.__new__(Caller))
|
||||
body=json.dumps(commands[0]['register']).encode();assert len(body)<240*1024
|
||||
base={'REQUEST_METHOD':'POST','PATH_INFO':'/v1/decisions','QUERY_STRING':'','CONTENT_TYPE':'application/json','HTTP_AUTHORIZATION':'Bearer synthetic-fixture','HTTP_IDEMPOTENCY_KEY':'fixture'}
|
||||
status,result=api.dispatch({**base,'CONTENT_LENGTH':str(len(body)),'wsgi.input':io.BytesIO(body)});assert status==200 and service.calls==1
|
||||
oversize=b' '+body+b' '*(MAX_BODY+1-len(body)-1)
|
||||
try:api.dispatch({**base,'CONTENT_LENGTH':str(len(oversize)),'wsgi.input':io.BytesIO(oversize)})
|
||||
except LifecycleError as e:assert e.status==413
|
||||
else:raise AssertionError('oversize accepted')
|
||||
assert service.calls==1
|
||||
print(json.dumps({'synthetic_body_limit_verified':True,'intake_validated':True,'register_bytes':len(body)}))
|
||||
"""
|
||||
result=subprocess.run([sys.executable,'-c',script,str(CASE)],capture_output=True,text=True,env={**os.environ,'PYTHONDONTWRITEBYTECODE':'1'})
|
||||
self.assertEqual(result.returncode,0,result.stderr);self.assertTrue(json.loads(result.stdout)['synthetic_body_limit_verified'])
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
import copy,json,time
|
||||
from datetime import datetime,timezone
|
||||
from informed_decision.policy import PolicyClient,CONTRACT,submitted_digest
|
||||
pin='sha256:'+'b'*64
|
||||
req={'id':'image-purpose-fixture','tenant':'tenant:platform','subject':{'id':'synthetic','type':'service','tenant':'tenant:platform'},'resource':{'id':'memo:fixture','type':'memo','system':'informed-decision','tenant':'tenant:platform'},'action':'register','context':{}}
|
||||
class Transport:
|
||||
def request(self,*args,**kwargs):
|
||||
now=time.time(); stamp=lambda t:datetime.fromtimestamp(t,timezone.utc).isoformat()
|
||||
b={**copy.deepcopy({k:req[k] for k in ('tenant','subject','action','resource','context')}),'request_digest':'sha256:'+'e'*64,'submitted_request_digest':submitted_digest(req)}
|
||||
if self.purpose!='ABSENT':b['purpose']=self.purpose
|
||||
d={'id':'synthetic-decision','contract_version':CONTRACT,'request_id':req['id'],'effect':'allow','matched_policy_version':'v1','subject':req['subject'],'resource':req['resource'],'binding':b,'lifetime':{'kind':'ttl','not_before':stamp(now-1),'expires_at':stamp(now+60)},'provenance':{'policy_package':'fixture','policy_version':'v1','policy_package_digest':pin,'registry_snapshot_digest':'sha256:'+'c'*64,'evaluator':'flex-auth/fixture','decision_time':stamp(now)}}
|
||||
return 200,d
|
||||
checks=[]
|
||||
for purpose in ('ABSENT','','readback','enforcement','unknown',None,False,0,[],{}):
|
||||
t=Transport();t.purpose=purpose
|
||||
c=PolicyClient('https://fixture.invalid',lambda:'synthetic-only',package='fixture',version='v1',package_digest=pin,transport=t)
|
||||
o=c.check(req)
|
||||
if purpose in ('ABSENT',''):assert o.outcome=='allow';o.require_current(time.time())
|
||||
else:assert o.outcome=='invalid_decision' and o.decision_json is None
|
||||
checks.append(str(purpose))
|
||||
print(json.dumps({'installed_image_purpose_variants':len(checks),'binding_forms_allowed':2,'advisory_or_malformed_refused':8,'synthetic_only':True,'native_provider':False}))
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
{
|
||||
"kind": "informed-decision.supervised-release-proposal",
|
||||
"version": 1,
|
||||
"proposal_id": "INFD-WP-0009-T05/zlib85091-r1",
|
||||
"trial_id": "infd-zlib-20261011-r1",
|
||||
"state": "prepared-unapproved",
|
||||
"memo_id": "infd-20261011-zlib-remediation-r1",
|
||||
"memo_version": 1,
|
||||
"task": "INFD-WP-0009-T05",
|
||||
"candidate_image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23",
|
||||
"artifact_source_revision": "9b4bb25d325698ae543e7e8a8a3c3592db1f58fc",
|
||||
"prior_image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a",
|
||||
"prior_application_revision": "c96b0c6d881e855d1d158003c6de90ef390262e2",
|
||||
"source_revision": null,
|
||||
"published_artifact_verified": true,
|
||||
"native_actions_executed": false,
|
||||
"approval_id": null,
|
||||
"authority_mode": "ADMINISTER",
|
||||
"target": "realm:kubernetes/railiance01/informed-decision",
|
||||
"cost_estimate_eur": 0,
|
||||
"risk": "Private same-schema backup copies and brief Recreate availability gap. Failed or ambiguous phases retained; no replay. Rollback changes Deployment image/source only, retains latest database.",
|
||||
"execute_by": "2026-10-12T23:59:59Z",
|
||||
"release_must_start_by": "2026-10-12T23:29:59Z",
|
||||
"max_snapshot_bytes": 536870912,
|
||||
"maximum_new_snapshot_payload_bytes_each_site": 1073741824,
|
||||
"local_extra_disposable_clone_max_bytes": 536870912,
|
||||
"private_metadata_and_sqlite_sidecars_additional_headroom_bytes": 16777216,
|
||||
"unbound_inputs": [
|
||||
"exact committed owner rendering revision retained in root supervised receipt",
|
||||
"Product and Platform final acknowledgments",
|
||||
"confirmed founder exact new disposition"
|
||||
],
|
||||
"published_verification_sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e",
|
||||
"native_readonly_preflight_sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9",
|
||||
"executor_plan_sha256": "750a4386277dc79c3213e6aed17ae5686332bfd587a55e5e87ebf3776a63ab0c",
|
||||
"execution_bundle_sha256": "09b0a8ed6c3c7d1e94f5f703a2d5834ca26fc166cfc8f4f9b4511ab70ec16ac9",
|
||||
"rollback_preflight_sha256": "0188799d352e4d49d5ca29d6e197742d02e96a4b0b399df1f478e41b25292eb5",
|
||||
"post_ready_native_provider_probe": "canonical lifecycle.outcomes SOURCE1 through existing admitted StateHub dispatcher; credentials stay inside Pod; bounded metadata correlated to verified candidate image/Pod/source"
|
||||
}
|
||||
|
|
@ -0,0 +1,393 @@
|
|||
"""Synthetic custody/transport tests. No native data, Docker or cluster action."""
|
||||
import copy
|
||||
import datetime
|
||||
import io
|
||||
import json
|
||||
import os
|
||||
from pathlib import Path
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
import unittest
|
||||
from unittest.mock import patch
|
||||
from contextlib import redirect_stdout
|
||||
|
||||
import actuator
|
||||
from authority_journal import Journal, authority
|
||||
from native_program import PROGRAM
|
||||
from receipt_safety import counts
|
||||
|
||||
CASE = Path(__file__).resolve().parent.parent
|
||||
NOW = datetime.datetime(2026, 10, 11, 2, 0, tzinfo=datetime.timezone.utc)
|
||||
REVISION = 'e' * 40
|
||||
COUNT = {'schema_version': 5, 'integrity': 'ok', 'read_only_pre_open': True, 'store_constructed': False,
|
||||
'lifecycle': {'records': 3, 'events': 8, 'pending': 1},
|
||||
'outbox': {'pending': 2, 'delivered': 10}, 'submissions': {'confirmed': 1, 'unresolved': 1}}
|
||||
|
||||
|
||||
def accepted():
|
||||
approval = '11111111-1111-4111-8111-111111111111'
|
||||
review = 'review-22222222-2222-4222-8222-222222222222'
|
||||
disposition = 'disp-33333333-3333-4333-8333-333333333333'
|
||||
receipt = {'proposal_id': 'INFD-WP-0009-T05/zlib85091-r1',
|
||||
'memo_id': 'infd-20261011-zlib-remediation-r1', 'memo_version': 1,
|
||||
'memo_sha256': 'a' * 64, 'source_revision': REVISION, 'activation': 'APPROVED',
|
||||
'authority_mode': 'ADMINISTER', 'target': 'realm:kubernetes/railiance01/informed-decision',
|
||||
'verification_method': 'root-fixed-origin-native-readback', 'runtime_authenticated_grant': False, 'outcome_query': '/lifecycle/memos/infd-20261011-zlib-remediation-r1/outcomes?version=1',
|
||||
'verified_at': '2026-10-11T02:00:00Z', 'accepted_at': '2026-10-11T01:59:00Z',
|
||||
'review_memo_id': review, 'approval_id': approval, 'disposition_id': disposition}
|
||||
outcome = {'memo_id': receipt['memo_id'], 'review': {'memo_id': review, 'stale': False, 'intake_state': 'ready'},
|
||||
'dispositions': [{'approval_id': None, 'submission_state': 'confirmed',
|
||||
'disposition': {'verb': 'accept', 'memo_version': 1, 'memo_id': review,
|
||||
'approval_id': approval, 'id': disposition,
|
||||
'actor': {'kind': 'person', 'sub': 'uid=platform-root,ou=people,dc=netkingdom,dc=local'},
|
||||
'at': receipt['accepted_at']}}]}
|
||||
return receipt, outcome
|
||||
|
||||
|
||||
class AuthorityAndCustody(unittest.TestCase):
|
||||
def test_exact_nested_founder_receipt_not_top_level_approval(self):
|
||||
receipt, outcome = accepted()
|
||||
result = authority(receipt, outcome, 'a' * 64, REVISION, 'drill-copy', NOW)
|
||||
self.assertEqual(result['approval_id'], receipt['approval_id'])
|
||||
|
||||
def test_pending_stale_wrong_actor_version_and_binding_refuse(self):
|
||||
mutations = [lambda r, o: r.update(activation='PENDING'),
|
||||
lambda r, o: r.update(memo_sha256='changed'),
|
||||
lambda r, o: r.update(source_revision='changed'),
|
||||
lambda r, o: r.update(target='other'),
|
||||
lambda r, o: r.update(verified_at='2026-10-11T01:00:00Z'),
|
||||
lambda r, o: r.update(verification_method='caller-asserted'),
|
||||
lambda r, o: r.update(runtime_authenticated_grant=True),
|
||||
lambda r, o: o['review'].update(stale=True),
|
||||
lambda r, o: o['review'].update(intake_state='pending'),
|
||||
lambda r, o: o['dispositions'][0].update(submission_state='unresolved'),
|
||||
lambda r, o: o['dispositions'][0]['disposition'].update(memo_version=3),
|
||||
lambda r, o: o['dispositions'][0]['disposition'].update(actor={'kind': 'agent', 'sub': 'platform-root'}),
|
||||
lambda r, o: o['dispositions'].append(copy.deepcopy(o['dispositions'][0]))]
|
||||
for mutate in mutations:
|
||||
with self.subTest(mutate=mutate):
|
||||
r, o = accepted()
|
||||
mutate(r, o)
|
||||
with self.assertRaises(ValueError):
|
||||
authority(r, o, 'a' * 64, REVISION, 'release', NOW)
|
||||
|
||||
def test_expired_window_and_unknown_phase_refuse(self):
|
||||
r, o = accepted()
|
||||
with self.assertRaises(ValueError):
|
||||
authority(r, o, 'a' * 64, REVISION, 'arbitrary', NOW)
|
||||
late = datetime.datetime(2026, 10, 13, tzinfo=datetime.timezone.utc)
|
||||
r['verified_at'] = late.isoformat()
|
||||
with self.assertRaises(ValueError):
|
||||
authority(r, o, 'a' * 64, REVISION, 'rollback', late)
|
||||
|
||||
def test_durable_intent_precedes_dispatch_and_never_retries(self):
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
parent = Path(directory)
|
||||
os.chmod(parent, 0o700)
|
||||
journal = Journal(parent, {'case': 'fixture'})
|
||||
journal.start('drill-backup', {'approval_id': 'fixture'})
|
||||
self.assertEqual(json.loads(journal.path.read_text())['phases']['drill-backup']['state'], 'RUNNING')
|
||||
journal.close() # simulated crash before result
|
||||
recovered = Journal(parent, {'case': 'fixture'})
|
||||
with self.assertRaises(ValueError):
|
||||
recovered.start('drill-backup', {})
|
||||
with self.assertRaises(ValueError):
|
||||
recovered.start('drill-backup', {})
|
||||
recovered.close()
|
||||
|
||||
def test_phase_order_and_uncertain_release_allows_only_distinct_recovery(self):
|
||||
with tempfile.TemporaryDirectory() as directory:
|
||||
os.chmod(directory, 0o700)
|
||||
j = Journal(directory, {'case': 'fixture'})
|
||||
with self.assertRaises(ValueError):
|
||||
j.start('release', {})
|
||||
for phase in actuator.PHASES[:6]:
|
||||
j.start(phase, {})
|
||||
j.finish(phase, {'all_checks_pass': True})
|
||||
j.start('release', {})
|
||||
j.finish('release', {'all_checks_pass': False})
|
||||
with self.assertRaises(ValueError):
|
||||
j.start('release', {})
|
||||
with self.assertRaises(ValueError):
|
||||
j.start('verify', {})
|
||||
j.start('rollback', {})
|
||||
j.finish('rollback', {'all_checks_pass': True})
|
||||
j.close()
|
||||
|
||||
def test_secret_or_unknown_child_output_is_withheld(self):
|
||||
for body in ('not-json', '{"all_checks_pass":true,"token":"private-value"}',
|
||||
'{"all_checks_pass":true,"snapshot_readonly":{"schema_version":5}}'):
|
||||
with self.assertRaises(ValueError):
|
||||
actuator.json_result(subprocess.CompletedProcess([], 0, body, ''))
|
||||
wrong = copy.deepcopy(COUNT)
|
||||
wrong['outbox'] = {'private-row-value': 1}
|
||||
with self.assertRaises(ValueError):
|
||||
counts(wrong)
|
||||
counts(COUNT) # blocked/unresolved counts are not required to be zero.
|
||||
|
||||
def test_binary_copy_is_bounded_private_and_never_echoed(self):
|
||||
blob = b'synthetic private fixture bytes'
|
||||
digest = __import__('hashlib').sha256(blob).hexdigest()
|
||||
metadata = {'all_checks_pass': True, 'snapshot_file': 'drill.sqlite', 'snapshot_bytes': len(blob),
|
||||
'snapshot_sha256': digest, 'snapshot_readonly': COUNT,
|
||||
'pod_name': 'fixture-pod', 'pod_uid': 'fixture-uid'}
|
||||
journal = type('FixtureJournal', (), {'data': {'phases': {'drill-backup': {'result': metadata}}}})()
|
||||
real_popen = subprocess.Popen
|
||||
for extra in (b'', b'oversized'):
|
||||
with self.subTest(extra=extra), tempfile.TemporaryDirectory() as folder:
|
||||
os.chmod(folder, 0o700)
|
||||
output = io.StringIO()
|
||||
|
||||
def child(*args, **kwargs):
|
||||
return real_popen([sys.executable, '-c', 'import sys;sys.stdout.buffer.write(' + repr(blob + extra) + ')'],
|
||||
stdout=subprocess.PIPE, stderr=subprocess.DEVNULL)
|
||||
|
||||
with patch.object(actuator, 'CUSTODY', Path(folder)), patch.object(actuator, 'remote', return_value=metadata), \
|
||||
patch('subprocess.Popen', side_effect=child), redirect_stdout(output):
|
||||
if extra:
|
||||
with self.assertRaises(ValueError):
|
||||
actuator.copy_snapshot('drill-copy', REVISION, {}, journal)
|
||||
else:
|
||||
result = actuator.copy_snapshot('drill-copy', REVISION, {}, journal)
|
||||
self.assertTrue(result['off_cluster_private_copy_verified'])
|
||||
self.assertEqual((Path(folder) / 'drill.sqlite').read_bytes(), blob)
|
||||
self.assertEqual(output.getvalue(), '')
|
||||
self.assertEqual((Path(folder) / 'drill.sqlite').stat().st_mode & 0o777, 0o600)
|
||||
|
||||
def test_recreated_offline_volume_cannot_be_deleted(self):
|
||||
identity = {'Name': actuator.VOLUME, 'Labels': {'nonce': 'old'}, 'CreatedAt': 'old'}
|
||||
journal = type('FixtureJournal', (), {'data': {'phases': {
|
||||
'offline-verify': {'result': {'created_volume_identity': identity}}}}})()
|
||||
inspected = [{**identity, 'CreatedAt': 'recreated'}]
|
||||
with patch.object(actuator, 'docker', return_value=subprocess.CompletedProcess([], 0, json.dumps(inspected), '')) as mocked:
|
||||
with self.assertRaises(ValueError):
|
||||
actuator.cleanup_offline(journal)
|
||||
self.assertEqual(mocked.call_count, 1)
|
||||
|
||||
def test_offline_post_admin_integrity_and_original_hash_are_rechecked(self):
|
||||
for defect in ('none', 'post-integrity', 'original-hash'):
|
||||
with self.subTest(defect=defect), tempfile.TemporaryDirectory() as directory:
|
||||
folder=Path(directory);os.chmod(folder,0o700)
|
||||
snapshot=folder/'drill.sqlite';snapshot.write_bytes(b'private synthetic snapshot');os.chmod(snapshot,0o600)
|
||||
digest=actuator.sha(snapshot)
|
||||
prior={'snapshot_sha256':digest,'snapshot_readonly':COUNT}
|
||||
journal=type('FixtureJournal',(),{'data':{'phases':{'drill-copy':{'result':prior},'offline-verify':{'attempt_id':'nonce'}}},'note':lambda *args:None})()
|
||||
reads=[]
|
||||
volume={'Name':actuator.VOLUME,'Labels':{'informed-decision.case':'infd-zlib-20261011-r1','informed-decision.use':'offline-restore-only','informed-decision.attempt':'nonce'},'Driver':'local','Scope':'local','CreatedAt':'fixture','Options':None}
|
||||
def docker(argv, body=None, **kwargs):
|
||||
if argv[0]=='info':body=json.dumps('bnt-lap001')
|
||||
elif argv[:2]==['volume','ls']:body=''
|
||||
elif argv[:2]==['volume','create']:body=actuator.VOLUME
|
||||
elif argv[:2]==['volume','inspect']:body=json.dumps([volume])
|
||||
elif 'informed-decision-admin' in argv:
|
||||
body=json.dumps({key:COUNT[key] for key in ('schema_version','lifecycle','outbox','submissions')})
|
||||
if defect=='original-hash':snapshot.write_bytes(b'changed synthetic original')
|
||||
elif '--entrypoint' in argv and 'python' in argv:
|
||||
reads.append(argv);proof=copy.deepcopy(COUNT)
|
||||
if len(reads)==2 and defect=='post-integrity':proof['integrity']='corrupt'
|
||||
body=json.dumps(proof)
|
||||
else:raise AssertionError('unexpected offline command')
|
||||
return subprocess.CompletedProcess(argv,0,body,'')
|
||||
with patch.object(actuator,'CUSTODY',folder),patch.object(actuator,'CASE',CASE),patch.object(actuator,'docker',side_effect=docker),patch('subprocess.run',return_value=subprocess.CompletedProcess([],0,'{"all_checks_pass":true,"private_copy_verified":true}','')):
|
||||
if defect=='none':
|
||||
result=actuator.offline_verify(journal)
|
||||
self.assertEqual(result['offline_post_admin_readonly'],COUNT)
|
||||
self.assertTrue(result['original_snapshot_hash_unchanged'])
|
||||
else:
|
||||
with self.assertRaises(ValueError):actuator.offline_verify(journal)
|
||||
self.assertEqual(len(reads),2)
|
||||
|
||||
|
||||
class FixedNativeProgram(unittest.TestCase):
|
||||
def fixture(self):
|
||||
sealed = json.loads((CASE / 'sealed-live-deployment.json').read_text())
|
||||
live = copy.deepcopy(sealed)
|
||||
live['metadata'].update(generation=42)
|
||||
live['status'] = {'readyReplicas': 1, 'updatedReplicas': 1, 'observedGeneration': 42}
|
||||
dependencies = json.loads((CASE / 'sealed-native-dependencies.json').read_text())
|
||||
cm = copy.deepcopy(dependencies['configmap'])
|
||||
cm.pop('canonical_data_sha256')
|
||||
service = json.loads((CASE / 'candidate-deployment.json').read_text())
|
||||
source_service = json.loads((Path('/home/worsch/informed-decision/deploy/lifecycle/service.candidate.json')).read_text())
|
||||
cm['data'] = next(x for x in source_service['items'] if x['kind'] == 'ConfigMap')['data']
|
||||
pvc = copy.deepcopy(dependencies['pvc'])
|
||||
pvc['status'] = {'phase': 'Bound'}
|
||||
app = {'metadata': {'uid': '499868f2-eabc-4df4-ae31-b89ce58d750d', 'resourceVersion': '17'},
|
||||
'spec': {'source': {'repoURL': 'https://forgejo.coulomb.social/coulomb/informed-decision.git',
|
||||
'path': 'deploy/lifecycle', 'targetRevision': 'c96b0c6d881e855d1d158003c6de90ef390262e2'},
|
||||
'destination': {'namespace': 'informed-decision', 'server': 'https://kubernetes.default.svc'}}}
|
||||
objects = {'deployment': live, 'configmap': cm, 'pvc': pvc, 'application': app}
|
||||
payload = {'phase': 'release', 'source_revision': REVISION, 'approval': {}, 'sealed': sealed,
|
||||
'dependencies': dependencies, 'candidate': service,
|
||||
'rollback': json.loads((CASE / 'rollback-deployment.json').read_text()),
|
||||
'readonly': (CASE / 'sqlite_readonly.py').read_text(),'purpose_checks':(CASE/'check_installed.py').read_text(),
|
||||
'installed_zlib': json.loads((CASE / 'installed-zlib-proof.json').read_text()), 'receipt_safety': (Path(__file__).parent / 'receipt_safety.py').read_text()}
|
||||
return objects, payload
|
||||
|
||||
def execute_fake(self, objects, payload, ambiguous=False, schema_refused=False):
|
||||
writes = []
|
||||
calls = []
|
||||
|
||||
def fake(argv, input=None, **kwargs):
|
||||
calls.append(argv)
|
||||
if argv[:2] == ['kubectl', 'get']:
|
||||
kind = argv[2]
|
||||
if kind in objects:
|
||||
body = objects[kind]
|
||||
elif kind == 'pods':
|
||||
body = {'items': [{'metadata': {'name': 'fixture-pod', 'uid': 'c4cb1550-feda-4097-9de4-d891a657b662',
|
||||
'ownerReferences': [{'kind': 'ReplicaSet', 'name': 'fixture-rs', 'uid': 'rs-uid'}]},
|
||||
'spec': objects['deployment']['spec']['template']['spec'],
|
||||
'status': {'phase': 'Running', 'containerStatuses': [{'name':'informed-decision','ready': True,'imageID':objects['deployment']['spec']['template']['spec']['containers'][0]['image']}] }}]}
|
||||
elif kind == 'replicaset':
|
||||
body = {'metadata': {'uid': 'rs-uid', 'ownerReferences': [
|
||||
{'kind': 'Deployment', 'uid': payload['sealed']['metadata']['uid']}]}}
|
||||
elif kind == 'nodes':
|
||||
body = {'items': [{'metadata': {'name': 'fixture-node'}, 'status': {
|
||||
'addresses': [{'address': '92.205.62.239'}], 'allocatable': {'cpu': '4'},
|
||||
'conditions': [{'type': key, 'status': 'True' if key == 'Ready' else 'False'}
|
||||
for key in ('Ready', 'MemoryPressure', 'DiskPressure', 'PIDPressure')]}}]}
|
||||
else:
|
||||
raise AssertionError('unexpected fixed metadata route')
|
||||
return subprocess.CompletedProcess(argv, 0, json.dumps(body), '')
|
||||
if argv[:2] == ['kubectl', 'exec']:
|
||||
if schema_refused:
|
||||
return subprocess.CompletedProcess(argv, 1, '', 'withheld')
|
||||
return subprocess.CompletedProcess(argv, 0, json.dumps({
|
||||
'all_checks_pass': True, 'live_readonly_schema_integrity_counts': COUNT}), '')
|
||||
if argv[:2] == ['kubectl', 'apply']:
|
||||
admitted = copy.deepcopy(payload['sealed'])
|
||||
admitted['spec']['template']['spec']['containers'][0]['image'] = (actuator.IMAGE if payload['phase']=='release' else payload['sealed']['spec']['template']['spec']['containers'][0]['image'])
|
||||
return subprocess.CompletedProcess(argv, 0, json.dumps(admitted), '')
|
||||
if argv[:2] == ['kubectl', 'describe']:
|
||||
return subprocess.CompletedProcess(argv, 0, 'Allocated resources:\n cpu 3460m (86%)\n', '')
|
||||
if argv[:2] == ['kubectl', 'diff']:
|
||||
return subprocess.CompletedProcess(argv, 1, '-image: base\n+image: candidate\n', '')
|
||||
if argv[:2] == ['kubectl', 'patch']:
|
||||
if '--dry-run=server' not in argv:
|
||||
writes.append(json.loads(input))
|
||||
if ambiguous:
|
||||
return subprocess.CompletedProcess(argv, 1, '', 'withheld')
|
||||
return subprocess.CompletedProcess(argv, 0, 'application.argoproj.io/informed-decision\n', '')
|
||||
raise AssertionError('unexpected command')
|
||||
|
||||
source = PROGRAM.replace('__PAYLOAD__', repr(json.dumps(payload))).replace(
|
||||
'__GUARD__', repr((CASE / 'change_guard.py').read_text()))
|
||||
output = io.StringIO()
|
||||
with patch('subprocess.run', side_effect=fake), redirect_stdout(output):
|
||||
try:
|
||||
exec(compile(source, 'fixed-native-fixture', 'exec'), {'__name__': '__fixture__'})
|
||||
except (ValueError, SystemExit):
|
||||
pass
|
||||
receipt = json.loads(output.getvalue()) if output.getvalue() else {'all_checks_pass': False}
|
||||
return receipt, writes, calls
|
||||
|
||||
def test_only_existing_application_operation_and_deployment_are_requested(self):
|
||||
objects, payload = self.fixture()
|
||||
receipt, writes, calls = self.execute_fake(objects, payload)
|
||||
self.assertTrue(receipt['all_checks_pass'])
|
||||
self.assertFalse(receipt['rollout_verified'])
|
||||
self.assertEqual(len(writes), 1)
|
||||
operation = writes[0][-1]['value']
|
||||
self.assertFalse(operation['sync']['prune'])
|
||||
self.assertEqual(operation['sync']['resources'], [
|
||||
{'group': 'apps', 'kind': 'Deployment', 'name': 'informed-decision', 'namespace': 'informed-decision'}])
|
||||
self.assertTrue(any('--dry-run=server' in argv and argv[:2] == ['kubectl', 'patch'] for argv in calls))
|
||||
self.assertEqual(writes[0][0]['path'], '/metadata/uid')
|
||||
|
||||
def test_source_overrides_automation_and_custody_drift_stop_before_write(self):
|
||||
mutations = [lambda o: o['application']['metadata'].update(uid='recreated'),
|
||||
lambda o: o['application']['spec'].update(syncPolicy={'automated': {}}),
|
||||
lambda o: o['application']['spec']['source'].update(kustomize={'images': ['other']}),
|
||||
lambda o: o['application']['spec'].update(sources=[{}]),
|
||||
lambda o: o['configmap']['metadata'].update(uid='recreated'),
|
||||
lambda o: o['pvc']['spec'].update(volumeName='replaced'),
|
||||
lambda o: o['deployment']['status'].update(readyReplicas=0)]
|
||||
for mutate in mutations:
|
||||
with self.subTest(mutate=mutate):
|
||||
objects, payload = self.fixture()
|
||||
mutate(objects)
|
||||
receipt, writes, calls = self.execute_fake(objects, payload)
|
||||
self.assertFalse(receipt['all_checks_pass'])
|
||||
self.assertEqual(writes, [])
|
||||
|
||||
def test_preopen_schema_refusal_prevents_image_operation(self):
|
||||
objects, payload = self.fixture()
|
||||
receipt, writes, calls = self.execute_fake(objects, payload, schema_refused=True)
|
||||
self.assertFalse(receipt['all_checks_pass'])
|
||||
self.assertEqual(writes, [])
|
||||
|
||||
|
||||
def test_rollback_unready_candidate_never_reads_pod_or_database(self):
|
||||
objects, payload = self.fixture()
|
||||
payload['phase'] = 'rollback'
|
||||
objects['deployment']['status'].update(readyReplicas=0, updatedReplicas=0)
|
||||
objects['deployment']['spec']['template']['spec']['containers'][0]['image'] = actuator.IMAGE
|
||||
objects['application']['spec']['source']['targetRevision'] = REVISION
|
||||
receipt, writes, calls = self.execute_fake(objects, payload, schema_refused=True)
|
||||
self.assertTrue(receipt['all_checks_pass'])
|
||||
self.assertFalse(receipt['rollout_verified'])
|
||||
self.assertEqual(len(writes), 1)
|
||||
self.assertFalse(any(argv[:2] == ['kubectl', 'exec'] or argv[:3] == ['kubectl', 'get', 'pods'] for argv in calls))
|
||||
self.assertEqual(writes[0][-1]['value']['sync']['revision'], 'c96b0c6d881e855d1d158003c6de90ef390262e2')
|
||||
|
||||
def test_rollback_still_refuses_custody_or_nonpair_image_drift(self):
|
||||
for defect in ('cm', 'pvc', 'image'):
|
||||
with self.subTest(defect=defect):
|
||||
objects, payload = self.fixture();payload['phase'] = 'rollback'
|
||||
objects['deployment']['status']['readyReplicas'] = 0
|
||||
if defect == 'cm':objects['configmap']['metadata']['uid'] = 'recreated'
|
||||
elif defect == 'pvc':objects['pvc']['spec']['volumeName'] = 'replaced'
|
||||
else:objects['deployment']['spec']['template']['spec']['containers'][0]['image'] = 'foreign-image'
|
||||
receipt, writes, calls = self.execute_fake(objects, payload)
|
||||
self.assertFalse(receipt['all_checks_pass']);self.assertEqual(writes, [])
|
||||
|
||||
def test_recovery_verification_is_separate_ready_old_image_schema_proof(self):
|
||||
objects, payload = self.fixture();payload['phase'] = 'rollback-verify'
|
||||
resource={'group':'apps','kind':'Deployment','name':'informed-decision','namespace':'informed-decision'}
|
||||
target='c96b0c6d881e855d1d158003c6de90ef390262e2'
|
||||
payload['operation_intent']={'state':'COMPLETE','started_at':'2026-10-11T01:00:00Z','result':{'operation_requested':True,'source_revision':target,'prune':False,'resources':[resource]}}
|
||||
objects['application']['status']={'operationState':{'phase':'Succeeded','startedAt':'2026-10-11T01:00:01Z','finishedAt':'2026-10-11T01:01:00Z','operation':{'initiatedBy':{'username':'custodian-codex'},'sync':{'revision':target,'resources':[resource]}},'syncResult':{'revision':target,'resources':[{**resource,'status':'Synced'}]}}}
|
||||
receipt, writes, calls = self.execute_fake(objects, payload)
|
||||
self.assertTrue(receipt['all_checks_pass']);self.assertTrue(receipt['recovery_verification'])
|
||||
self.assertEqual(writes, [])
|
||||
self.assertTrue(any(argv[:2]==['kubectl','exec'] for argv in calls))
|
||||
objects['deployment']['status']['readyReplicas'] = 0
|
||||
receipt, writes, calls = self.execute_fake(objects,payload)
|
||||
self.assertFalse(receipt['all_checks_pass'])
|
||||
|
||||
def test_ambiguous_patch_is_never_retried(self):
|
||||
objects, payload = self.fixture()
|
||||
receipt, writes, calls = self.execute_fake(objects, payload, ambiguous=True)
|
||||
self.assertFalse(receipt['all_checks_pass'])
|
||||
self.assertEqual(len(writes), 1)
|
||||
|
||||
def test_false_omitempty_needs_bound_current_request_and_exact_completion(self):
|
||||
objects,payload=self.fixture();payload['phase']='rollback-verify'
|
||||
resource={'group':'apps','kind':'Deployment','name':'informed-decision','namespace':'informed-decision'}
|
||||
target='c96b0c6d881e855d1d158003c6de90ef390262e2'
|
||||
payload['operation_intent']={'state':'COMPLETE','started_at':'2026-10-11T01:00:00Z','result':{'operation_requested':True,'source_revision':target,'prune':False,'resources':[resource]}}
|
||||
objects['application']['status']={'operationState':{'phase':'Succeeded','startedAt':'2026-10-11T01:00:01Z','finishedAt':'2026-10-11T01:01:00Z','operation':{'initiatedBy':{'username':'custodian-codex'},'sync':{'revision':target,'resources':[resource]}},'syncResult':{'revision':target,'resources':[{**resource,'status':'Synced'}]}}}
|
||||
self.assertTrue(self.execute_fake(objects,payload)[0]['all_checks_pass'])
|
||||
mutations=[lambda o,p:o['application']['status']['operationState']['operation']['sync'].update(prune=True),
|
||||
lambda o,p:o['application']['status']['operationState']['operation']['sync'].update(prune=None),
|
||||
lambda o,p:o['application']['status']['operationState'].update(startedAt='2026-10-11T00:59:00Z'),
|
||||
lambda o,p:o['application']['status']['operationState']['operation'].update(initiatedBy={'username':'other'}),
|
||||
lambda o,p:o['application']['status']['operationState']['syncResult'].update(revision='foreign'),
|
||||
lambda o,p:o['application']['status']['operationState']['syncResult']['resources'][0].update(status='Pruned'),
|
||||
lambda o,p:p['operation_intent']['result'].update(prune=True),
|
||||
lambda o,p:p.update(operation_intent=None)]
|
||||
for mutate in mutations:
|
||||
o,p=copy.deepcopy(objects),copy.deepcopy(payload);mutate(o,p)
|
||||
receipt,writes,calls=self.execute_fake(o,p)
|
||||
self.assertFalse(receipt['all_checks_pass']);self.assertEqual(writes,[])
|
||||
|
||||
def test_optimized_executor_refuses_before_any_input(self):
|
||||
result=subprocess.run([sys.executable,'-O',str(Path(__file__).parent/'actuator.py'),'--phase','release','--root-authority-receipt','/missing','--root-native-outcome','/missing','--source-revision',REVISION],capture_output=True,text=True)
|
||||
self.assertNotEqual(result.returncode,0)
|
||||
self.assertIn('optimized interpreter refused',result.stderr)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
||||
|
|
@ -0,0 +1,863 @@
|
|||
[
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/mapping.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/mapping.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "796dbbff5c7ca61af2c84c2f2ad3de23b56f67210a30bded23a1ff5db806d26f"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/original-manifest.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/original-manifest.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "60507a1000a216623a3d53b21e64c6f4569b1aa064781d3ac672a9fa130e813c"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-review.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-review.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "e24b3fdae42721342a26ebe34caf57c2d21153ff855e584a0c4ebd3eb9adb349"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/mapping.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/mapping.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "dac8209ec57adc6df16673079f88a60cc56e89294de9389bc219ea19fdf51b5e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/original-manifest.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/original-manifest.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "81adb9e1749d6bd9f19755a2bbd7b501589ea782445537bbbfe925e1d9f8fa47"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "c570bade38479af93f08f717fcebb328a0db38e5b58bd0e7983681bc5ae41b7a"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "dabeda33ffe52989337e214dc6e6d3ef5f04797569145faf2ff69024b101ec80"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "2aa9bae40752922264e53382d898e3083b8d229b185329266942bdd397013108"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "750a4386277dc79c3213e6aed17ae5686332bfd587a55e5e87ebf3776a63ab0c"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "7458222049d8df2f01f2ce359b5864ae41cd73054ee59659ca8cd8ac17cf73ac"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "09b0a8ed6c3c7d1e94f5f703a2d5834ca26fc166cfc8f4f9b4511ab70ec16ac9"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "92bbf8a891c7ef78df48430901219d8d07073cba74112a307a6d8bdec509e8dd"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/archive-map.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/archive-map.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "44be75acb94d8125efb9416dea91059aeeb79625d23c7959bdc099a95c26a9ca"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/original-manifest.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/original-manifest.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "7ac1d698cab2dfbde6bc0a84bcadd2c3229d24f4a4a59125fe72b2856fa82e07"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "763f30c1433d1ca872b029519ec46ad1b97c47d60b7ea0eea0275a2c6b647dc3"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "741b490bdb315896f05f2e91404c02765517dc1beea81fa590017fccafd299b4"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "040144321c69622c223a8437832a3c5a4a9595fc37774fde5ff0ad676828ebf0"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9b458e2b4d418525987b6cb1b9a160c4b1a2c621625c1b5c571ea5c77e9d4361"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "aa86921fe37fcff382676490f937af2e62bd6472a6b4700c862aaf3ce4ab8225"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "3c76c6a8f95dcb55183583a937a4428b745a5c918643de8f2a2bc11dee846d98"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f586a511c1921490185bab95334f27de6d3cca20b348df20d18bcb9257d7ae35"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "48b0f0baf4efc239111411ad7d1c291f8eceaa0ddf1414dac73d49ccdb3bbe70"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "8154c90745d860b2984e4616f0bb1c35889b07b7ff8b841e7430db7592a15b7a"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "196e2cef9ba38f075b458f164f05b5df594d188ee84b210744ef94c31f753294"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "15b3fc9c708593adb52d9eb240c1a6b55d5ac43b1637b8047499f15e525e368f"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "0614e2118927180d18f4a3fa833990a38e27340234a952abdb1d2ca93e7602a4"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "ce88aca5e2d6cd5ab7533898bc9b246bd159482c4acccb0afe4c451ee88f57fa"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a992d799bc07e8fbf05b894a5b184b11092f0041ee68187e59a23c5395b263e9"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "0188799d352e4d49d5ca29d6e197742d02e96a4b0b399df1f478e41b25292eb5"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "4a529f57b886260f8d1b109e06e487a936fa1eb5eeb79dbbd9e4e7a05f9ae2e9"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "112e0aa642a7f48edf8073eee180b62d5ab6000aa4a6197ea6ffc10d7087beb0"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/probe_initial_dispatch.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/probe_initial_dispatch.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "609250d2d15e31128d0331354babbaed6c27ea165cdfcbe893d14e932237dd1a"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/published-evidence-manifest.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/published-evidence-manifest.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6ba2c341b496ab7f79f9c5fd33a92831c2f8db25d018a4b4e67d41e0af9c5bc9"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/intakes/RPF-IN-0009-infd-zlib-native-release-review.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/intakes/RPF-IN-0009-infd-zlib-native-release-review.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a187eae16bd6eb8b05fdbffc860a7e87b62e726379fde92915de15d6d8bd4290"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/probe_refined_boundaries.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/probe_refined_boundaries.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "5ab431b060c2417df920c6268a9f39181b0164fc887b5dc3359c4c1d70270ebd"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/refined-changes-requested-review.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/refined-changes-requested-review.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "354db3948f878ad14f790b02658739d0b620acfdebe0bcfd492667846e457fdf"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/mapping.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/mapping.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "4f6633dbbfd522465da60156b811a1dc29ebad645752d4b1fd72b5f49afaefae"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/original-manifest.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/original-manifest.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f170b34d8846919b18520264e7ba96e2ac11a3bce7899bc5710fcb0d22f4af29"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "c570bade38479af93f08f717fcebb328a0db38e5b58bd0e7983681bc5ae41b7a"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "eb58dee98934fef0fd916c7807eea1d600d71ee35cda9b9fbbc5564e42560461"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9441650c58e156a485810290ec86028b1a21655960e8196cc60d710f51b51788"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "fd38385e3687ec6f9886d5025b394463c252b8198b0426c56f95740139eb7e9b"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a1d29ea6822be12817b2d60109cec44b061d167f147b10f9aa352529e1a4c475"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "2ba25f7d3efbb1095e0a0dd7bbb577f76af05c425cb928f9a1c7bc52ea9f532b"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-contract.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-contract.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b13806a7e1464454e3817e1e62b56b0fa07fe2fddbd94d7fdc530e2c3dd9e3d2"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "92bbf8a891c7ef78df48430901219d8d07073cba74112a307a6d8bdec509e8dd"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-report-fixture.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-report-fixture.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "30607043a4ca44e42024b63659ae10993c14c7a04e7c5685255ccafe4d3fb55c"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6f173d6b257e9f0e4f360390e5846380eba7ecd5cadfd55c22b998bd7e7de844"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "508f9bf9f11a35b8fc494e1d66e8f11aa0338df4aa9d7115a80e2dabdae81b55"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "ec470183fd6a6a315ec0e35d5841eb1e26cf04d58c5b3fdc13b6f34b1621f62d"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "3c903dd82c13273cb61f590b258b059c32e0fd515d7c176ce4fec3e68a77bc7b"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight-full.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight-full.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "3b6b67a0b4d51ef791e775b528b64aa5a6f14eff629737e67baee7e2f6f60762"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "ce88aca5e2d6cd5ab7533898bc9b246bd159482c4acccb0afe4c451ee88f57fa"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/preparation-failure-history.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/preparation-failure-history.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "51b9983d2a806240f562dcb951955fc8360c181e6d08a8dfdcba95361c6dd596"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "29de1dbddce09008a50516ec43b100bc2a1e08ace86a748a259fe5695e937453"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight-full.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight-full.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "0188799d352e4d49d5ca29d6e197742d02e96a4b0b399df1f478e41b25292eb5"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "4c3c3166205808e81326ccdae1b56afef757b0ceb4e6c96a17bf384317aeee4a"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "ecddcb00127774a17d5cf553417c60d1b6fb753b6eb91a49dabb7fc52678595e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "112e0aa642a7f48edf8073eee180b62d5ab6000aa4a6197ea6ffc10d7087beb0"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "intakes/RPF-IN-0009-infd-zlib-native-release-review.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-final-review-stage/railiance-platform/intakes/RPF-IN-0009-infd-zlib-native-release-review.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "d162fda35ac46502f14cea91d7d614ce5041e15eae0d4705ede4bf9efc18b36a"
|
||||
}
|
||||
]
|
||||
|
|
@ -0,0 +1,170 @@
|
|||
{
|
||||
"scanner": "aquasec/trivy@sha256:62b1e65e8869bc4b4c6aa4fa2b21595256c7c2f6018a9d9ad61caf87187c1969",
|
||||
"db_sha256": "03cacb40452ceb74afdfca072cb82f79ee884dfac006ef24a4dfdad133b0f917",
|
||||
"db_metadata": {
|
||||
"Version": 2,
|
||||
"NextUpdate": "2026-10-11T18:59:50.889010572Z",
|
||||
"UpdatedAt": "2026-10-10T18:59:50.889010923Z",
|
||||
"DownloadedAt": "2026-10-10T23:32:32.380033131Z"
|
||||
},
|
||||
"same_fresh_db_both_images": true,
|
||||
"no_suppression": true,
|
||||
"records": [
|
||||
{
|
||||
"archive": "base-image.tar",
|
||||
"format": "json",
|
||||
"started_utc": "2026-10-11T09:38:34.774672+00:00",
|
||||
"exit_code": 0,
|
||||
"command": [
|
||||
"docker",
|
||||
"--config",
|
||||
"/tmp/infd-purpose-published-verification/empty-docker-config",
|
||||
"--host",
|
||||
"unix:///var/run/docker.sock",
|
||||
"run",
|
||||
"--rm",
|
||||
"--network",
|
||||
"none",
|
||||
"--cpus",
|
||||
"1",
|
||||
"--memory",
|
||||
"1g",
|
||||
"-v",
|
||||
"/tmp/infd-zlib-published-9b4bb25d:/artifact",
|
||||
"-v",
|
||||
"/tmp/infd-zlib-published-scan-cache:/cache",
|
||||
"aquasec/trivy@sha256:62b1e65e8869bc4b4c6aa4fa2b21595256c7c2f6018a9d9ad61caf87187c1969",
|
||||
"image",
|
||||
"--input",
|
||||
"/artifact/base-image.tar",
|
||||
"--cache-dir",
|
||||
"/cache",
|
||||
"--skip-db-update",
|
||||
"--skip-java-db-update",
|
||||
"--scanners",
|
||||
"vuln",
|
||||
"--format",
|
||||
"json",
|
||||
"--output",
|
||||
"/artifact/base-trivy-full.json"
|
||||
]
|
||||
},
|
||||
{
|
||||
"archive": "base-image.tar",
|
||||
"format": "cyclonedx",
|
||||
"started_utc": "2026-10-11T09:38:38.856254+00:00",
|
||||
"exit_code": 0,
|
||||
"command": [
|
||||
"docker",
|
||||
"--config",
|
||||
"/tmp/infd-purpose-published-verification/empty-docker-config",
|
||||
"--host",
|
||||
"unix:///var/run/docker.sock",
|
||||
"run",
|
||||
"--rm",
|
||||
"--network",
|
||||
"none",
|
||||
"--cpus",
|
||||
"1",
|
||||
"--memory",
|
||||
"1g",
|
||||
"-v",
|
||||
"/tmp/infd-zlib-published-9b4bb25d:/artifact",
|
||||
"-v",
|
||||
"/tmp/infd-zlib-published-scan-cache:/cache",
|
||||
"aquasec/trivy@sha256:62b1e65e8869bc4b4c6aa4fa2b21595256c7c2f6018a9d9ad61caf87187c1969",
|
||||
"image",
|
||||
"--input",
|
||||
"/artifact/base-image.tar",
|
||||
"--cache-dir",
|
||||
"/cache",
|
||||
"--skip-db-update",
|
||||
"--skip-java-db-update",
|
||||
"--scanners",
|
||||
"vuln",
|
||||
"--format",
|
||||
"cyclonedx",
|
||||
"--output",
|
||||
"/artifact/base-sbom.cdx.json"
|
||||
]
|
||||
},
|
||||
{
|
||||
"archive": "image.tar",
|
||||
"format": "json",
|
||||
"started_utc": "2026-10-11T09:38:39.729798+00:00",
|
||||
"exit_code": 0,
|
||||
"command": [
|
||||
"docker",
|
||||
"--config",
|
||||
"/tmp/infd-purpose-published-verification/empty-docker-config",
|
||||
"--host",
|
||||
"unix:///var/run/docker.sock",
|
||||
"run",
|
||||
"--rm",
|
||||
"--network",
|
||||
"none",
|
||||
"--cpus",
|
||||
"1",
|
||||
"--memory",
|
||||
"1g",
|
||||
"-v",
|
||||
"/tmp/infd-zlib-published-9b4bb25d:/artifact",
|
||||
"-v",
|
||||
"/tmp/infd-zlib-published-scan-cache:/cache",
|
||||
"aquasec/trivy@sha256:62b1e65e8869bc4b4c6aa4fa2b21595256c7c2f6018a9d9ad61caf87187c1969",
|
||||
"image",
|
||||
"--input",
|
||||
"/artifact/image.tar",
|
||||
"--cache-dir",
|
||||
"/cache",
|
||||
"--skip-db-update",
|
||||
"--skip-java-db-update",
|
||||
"--scanners",
|
||||
"vuln",
|
||||
"--format",
|
||||
"json",
|
||||
"--output",
|
||||
"/artifact/trivy-full.json"
|
||||
]
|
||||
},
|
||||
{
|
||||
"archive": "image.tar",
|
||||
"format": "cyclonedx",
|
||||
"started_utc": "2026-10-11T09:38:40.675048+00:00",
|
||||
"exit_code": 0,
|
||||
"command": [
|
||||
"docker",
|
||||
"--config",
|
||||
"/tmp/infd-purpose-published-verification/empty-docker-config",
|
||||
"--host",
|
||||
"unix:///var/run/docker.sock",
|
||||
"run",
|
||||
"--rm",
|
||||
"--network",
|
||||
"none",
|
||||
"--cpus",
|
||||
"1",
|
||||
"--memory",
|
||||
"1g",
|
||||
"-v",
|
||||
"/tmp/infd-zlib-published-9b4bb25d:/artifact",
|
||||
"-v",
|
||||
"/tmp/infd-zlib-published-scan-cache:/cache",
|
||||
"aquasec/trivy@sha256:62b1e65e8869bc4b4c6aa4fa2b21595256c7c2f6018a9d9ad61caf87187c1969",
|
||||
"image",
|
||||
"--input",
|
||||
"/artifact/image.tar",
|
||||
"--cache-dir",
|
||||
"/cache",
|
||||
"--skip-db-update",
|
||||
"--skip-java-db-update",
|
||||
"--scanners",
|
||||
"vuln",
|
||||
"--format",
|
||||
"cyclonedx",
|
||||
"--output",
|
||||
"/artifact/sbom.cdx.json"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,7 @@
|
|||
{
|
||||
"revision": "9b4bb25d325698ae543e7e8a8a3c3592db1f58fc",
|
||||
"reviewed_manifest_sha256": "724aa4777eb1c8976d868e5f504473f4b6d58f13d750d87aefa5c8d5ca0747ec",
|
||||
"reviewed_paths": 74,
|
||||
"mismatches": [],
|
||||
"owner_read_only_git_show": true
|
||||
}
|
||||
|
|
@ -0,0 +1,358 @@
|
|||
{
|
||||
"image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23",
|
||||
"image_config_id": "sha256:622becc3ebd97cb66b6e7c36f35bf931a7decd9464b65851123c1cc8c998d75b",
|
||||
"diff_ids": [
|
||||
"sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c",
|
||||
"sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd",
|
||||
"sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366",
|
||||
"sha256:4098ad033525263f92a8a9c51865596025d47018e078c0b1f7d9cd5663fc1ffe",
|
||||
"sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1",
|
||||
"sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c",
|
||||
"sha256:361430a1113969743b99e237b20f023d5497493bcf96fb91af99ac0a0dbc4a59",
|
||||
"sha256:cfc5939674d67f60b4411c24dfcde5622b712eeb7376cd0941a2751da80a6b02",
|
||||
"sha256:21ff9188cb29ca95fe9be11355f70ab5586e8499e33b52a253d953fb3b75aea3",
|
||||
"sha256:115811e30e0bde3e5a482191a32028a4323bacde928f17e808760ad2899407d6",
|
||||
"sha256:08f4420173dc9f73d520ab9f1a08adeb802ab64d1e1a2f419af11ba2302b05ea"
|
||||
],
|
||||
"image_config_rootfs": {
|
||||
"type": "layers",
|
||||
"diff_ids": [
|
||||
"sha256:34884abbe92863fce933ed7c39c0e045631af0ed86d5cc0dfbdf9fdca426ce3c",
|
||||
"sha256:3ca4be2c6e9ac0223715355253725381000486c2b45bfcb22cf571b6a85a12dd",
|
||||
"sha256:e5ccda0fbf6b54d343e024156d876553ba57d3926d7196584b3a1ce4df016366",
|
||||
"sha256:4098ad033525263f92a8a9c51865596025d47018e078c0b1f7d9cd5663fc1ffe",
|
||||
"sha256:f9b4a8a412a0c07a489e46fb5db41f9d0dc84d4ec38a4e2c6ab9531f44e0d9f1",
|
||||
"sha256:648451a0dda84ad04681e32b5ecc7cd5d3a4f0ad84f783e9598d72bc69620d5c",
|
||||
"sha256:361430a1113969743b99e237b20f023d5497493bcf96fb91af99ac0a0dbc4a59",
|
||||
"sha256:cfc5939674d67f60b4411c24dfcde5622b712eeb7376cd0941a2751da80a6b02",
|
||||
"sha256:21ff9188cb29ca95fe9be11355f70ab5586e8499e33b52a253d953fb3b75aea3",
|
||||
"sha256:115811e30e0bde3e5a482191a32028a4323bacde928f17e808760ad2899407d6",
|
||||
"sha256:08f4420173dc9f73d520ab9f1a08adeb802ab64d1e1a2f419af11ba2302b05ea"
|
||||
]
|
||||
},
|
||||
"image_source_labels": {
|
||||
"org.opencontainers.image.base.digest": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a",
|
||||
"org.opencontainers.image.revision": "9b4bb25d325698ae543e7e8a8a3c3592db1f58fc",
|
||||
"social.coulomb.release.scope": "INFD-WP-0009-T05/zlib-85091-r1",
|
||||
"social.coulomb.source.context.sha256": "c554e62a84af340cba15d469a4568f6d0c40923e580b08ed7565e22702b1207d",
|
||||
"social.coulomb.source.policy.sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62"
|
||||
},
|
||||
"os": {
|
||||
"Family": "alpine",
|
||||
"Name": "3.24.1"
|
||||
},
|
||||
"inventory": [
|
||||
[
|
||||
"lang-pkgs",
|
||||
"python-pkg",
|
||||
"PyJWT",
|
||||
"2.15.1",
|
||||
"pkg:pypi/pyjwt@2.15.1"
|
||||
],
|
||||
[
|
||||
"lang-pkgs",
|
||||
"python-pkg",
|
||||
"cffi",
|
||||
"2.1.1",
|
||||
"pkg:pypi/cffi@2.1.1"
|
||||
],
|
||||
[
|
||||
"lang-pkgs",
|
||||
"python-pkg",
|
||||
"cryptography",
|
||||
"50.0.1",
|
||||
"pkg:pypi/cryptography@50.0.1"
|
||||
],
|
||||
[
|
||||
"lang-pkgs",
|
||||
"python-pkg",
|
||||
"informed-decision",
|
||||
"0.2.0",
|
||||
"pkg:pypi/informed-decision@0.2.0"
|
||||
],
|
||||
[
|
||||
"lang-pkgs",
|
||||
"python-pkg",
|
||||
"pycparser",
|
||||
"3.0",
|
||||
"pkg:pypi/pycparser@3.0"
|
||||
],
|
||||
[
|
||||
"lang-pkgs",
|
||||
"python-pkg",
|
||||
"waitress",
|
||||
"3.0.2",
|
||||
"pkg:pypi/waitress@3.0.2"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
".python-rundeps",
|
||||
"20260901.001029",
|
||||
"pkg:apk/alpine/.python-rundeps@20260901.001029?arch=noarch&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"alpine-baselayout",
|
||||
"3.7.2-r1",
|
||||
"pkg:apk/alpine/alpine-baselayout@3.7.2-r1?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"alpine-baselayout-data",
|
||||
"3.7.2-r1",
|
||||
"pkg:apk/alpine/alpine-baselayout-data@3.7.2-r1?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"alpine-keys",
|
||||
"2.6-r0",
|
||||
"pkg:apk/alpine/alpine-keys@2.6-r0?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"alpine-release",
|
||||
"3.24.1-r0",
|
||||
"pkg:apk/alpine/alpine-release@3.24.1-r0?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"apk-tools",
|
||||
"3.0.6-r0",
|
||||
"pkg:apk/alpine/apk-tools@3.0.6-r0?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"busybox",
|
||||
"1.37.0-r31",
|
||||
"pkg:apk/alpine/busybox@1.37.0-r31?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"busybox-binsh",
|
||||
"1.37.0-r31",
|
||||
"pkg:apk/alpine/busybox-binsh@1.37.0-r31?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"ca-certificates",
|
||||
"20260611-r0",
|
||||
"pkg:apk/alpine/ca-certificates@20260611-r0?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"ca-certificates-bundle",
|
||||
"20260611-r0",
|
||||
"pkg:apk/alpine/ca-certificates-bundle@20260611-r0?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"gdbm",
|
||||
"1.26-r0",
|
||||
"pkg:apk/alpine/gdbm@1.26-r0?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"keyutils-libs",
|
||||
"1.6.3-r4",
|
||||
"pkg:apk/alpine/keyutils-libs@1.6.3-r4?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"krb5-conf",
|
||||
"1.0-r2",
|
||||
"pkg:apk/alpine/krb5-conf@1.0-r2?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"krb5-libs",
|
||||
"1.22.2-r1",
|
||||
"pkg:apk/alpine/krb5-libs@1.22.2-r1?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"libapk",
|
||||
"3.0.6-r0",
|
||||
"pkg:apk/alpine/libapk@3.0.6-r0?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"libbz2",
|
||||
"1.0.8-r6",
|
||||
"pkg:apk/alpine/libbz2@1.0.8-r6?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"libcom_err",
|
||||
"1.47.4-r0",
|
||||
"pkg:apk/alpine/libcom_err@1.47.4-r0?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"libcrypto3",
|
||||
"3.5.8-r0",
|
||||
"pkg:apk/alpine/libcrypto3@3.5.8-r0?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"libffi",
|
||||
"3.5.2-r1",
|
||||
"pkg:apk/alpine/libffi@3.5.2-r1?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"libintl",
|
||||
"1.0-r0",
|
||||
"pkg:apk/alpine/libintl@1.0-r0?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"libncursesw",
|
||||
"6.6_p20260516-r0",
|
||||
"pkg:apk/alpine/libncursesw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"libnsl",
|
||||
"2.0.1-r2",
|
||||
"pkg:apk/alpine/libnsl@2.0.1-r2?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"libpanelw",
|
||||
"6.6_p20260516-r0",
|
||||
"pkg:apk/alpine/libpanelw@6.6_p20260516-r0?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"libssl3",
|
||||
"3.5.8-r0",
|
||||
"pkg:apk/alpine/libssl3@3.5.8-r0?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"libtirpc",
|
||||
"1.3.5-r1",
|
||||
"pkg:apk/alpine/libtirpc@1.3.5-r1?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"libtirpc-conf",
|
||||
"1.3.5-r1",
|
||||
"pkg:apk/alpine/libtirpc-conf@1.3.5-r1?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"libuuid",
|
||||
"2.42.3-r1",
|
||||
"pkg:apk/alpine/libuuid@2.42.3-r1?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"libverto",
|
||||
"0.3.2-r2",
|
||||
"pkg:apk/alpine/libverto@0.3.2-r2?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"musl",
|
||||
"1.2.6-r2",
|
||||
"pkg:apk/alpine/musl@1.2.6-r2?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"musl-utils",
|
||||
"1.2.6-r2",
|
||||
"pkg:apk/alpine/musl-utils@1.2.6-r2?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"ncurses-terminfo-base",
|
||||
"6.6_p20260516-r0",
|
||||
"pkg:apk/alpine/ncurses-terminfo-base@6.6_p20260516-r0?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"readline",
|
||||
"8.3.3-r1",
|
||||
"pkg:apk/alpine/readline@8.3.3-r1?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"scanelf",
|
||||
"1.3.9-r1",
|
||||
"pkg:apk/alpine/scanelf@1.3.9-r1?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"sqlite-libs",
|
||||
"3.53.4-r0",
|
||||
"pkg:apk/alpine/sqlite-libs@3.53.4-r0?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"ssl_client",
|
||||
"1.37.0-r31",
|
||||
"pkg:apk/alpine/ssl_client@1.37.0-r31?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"tzdata",
|
||||
"2026c-r0",
|
||||
"pkg:apk/alpine/tzdata@2026c-r0?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"xz-libs",
|
||||
"5.8.3-r0",
|
||||
"pkg:apk/alpine/xz-libs@5.8.3-r0?arch=x86_64&distro=3.24.1"
|
||||
],
|
||||
[
|
||||
"os-pkgs",
|
||||
"alpine",
|
||||
"zlib",
|
||||
"1.3.2-r1",
|
||||
"pkg:apk/alpine/zlib@1.3.2-r1?arch=x86_64&distro=3.24.1"
|
||||
]
|
||||
],
|
||||
"inventory_canonical_sha256": "1fd5bfb2d7c04a7316a283adbea0f54f04f0c5acbb218b11e0c5677bfe87c464",
|
||||
"published_fullreport_sha256": "2ff68e765b9c65292611d5a969202a7654637168edefcedac5d2c7634009edae",
|
||||
"publication_manifest_sha256": "6ba2c341b496ab7f79f9c5fd33a92831c2f8db25d018a4b4e67d41e0af9c5bc9",
|
||||
"scope": "Exact immutable published archive identity and inventory; findings must be checked anew on fresh DB."
|
||||
}
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
"""Read-only exact Deployment and admission boundaries; no mutation authority."""
|
||||
import copy
|
||||
import hashlib
|
||||
import json
|
||||
|
||||
BASE = 'forgejo.coulomb.social/coulomb/informed-decision@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a'
|
||||
CANDIDATE = 'forgejo.coulomb.social/coulomb/informed-decision@sha256:f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23'
|
||||
|
||||
|
||||
def dependency_projection(configmap, pvc):
|
||||
if (configmap.get('kind') != 'ConfigMap' or configmap.get('immutable') is not True
|
||||
or configmap['metadata']['namespace'] != 'informed-decision'
|
||||
or configmap['metadata']['name'] != 'informed-decision-runtime-6c221878d051'
|
||||
or set(configmap.get('data', {})) != {'runtime.json'}
|
||||
or configmap.get('binaryData')):
|
||||
raise ValueError('unexpected immutable runtime config identity')
|
||||
if (pvc.get('kind') != 'PersistentVolumeClaim'
|
||||
or pvc['metadata']['namespace'] != 'informed-decision'
|
||||
or pvc['metadata']['name'] != 'informed-decision-data'
|
||||
or pvc.get('status', {}).get('phase') != 'Bound'
|
||||
or not pvc.get('spec', {}).get('volumeName')):
|
||||
raise ValueError('unexpected bound PVC custody')
|
||||
config = projection(configmap)
|
||||
config.pop('data')
|
||||
config['canonical_data_sha256'] = hashlib.sha256(json.dumps(
|
||||
configmap['data'], sort_keys=True, separators=(',', ':')).encode()).hexdigest()
|
||||
return {'configmap': config, 'pvc': projection(pvc), 'pvc_phase': 'Bound'}
|
||||
|
||||
|
||||
def check_dependencies(configmap, pvc, sealed):
|
||||
if dependency_projection(configmap, pvc) != sealed:
|
||||
raise ValueError('runtime config or PVC identity/custody changed')
|
||||
|
||||
|
||||
def projection(value):
|
||||
value = copy.deepcopy(value)
|
||||
value.pop('status', None)
|
||||
for key in ('resourceVersion', 'generation', 'creationTimestamp', 'managedFields'):
|
||||
value['metadata'].pop(key, None)
|
||||
for key in ('kubectl.kubernetes.io/last-applied-configuration', 'deployment.kubernetes.io/revision'):
|
||||
value['metadata'].get('annotations', {}).pop(key, None)
|
||||
return value
|
||||
|
||||
|
||||
def check_current(current, sealed):
|
||||
if projection(current) != sealed:
|
||||
raise ValueError('sealed live UID or configuration changed')
|
||||
|
||||
|
||||
def check_admitted(admitted, sealed):
|
||||
expected = copy.deepcopy(sealed)
|
||||
containers = expected['spec']['template']['spec']['containers']
|
||||
if len(containers) != 1 or containers[0]['name'] != 'informed-decision' or containers[0]['image'] != BASE:
|
||||
raise ValueError('unexpected baseline container identity')
|
||||
containers[0]['image'] = CANDIDATE
|
||||
if projection(admitted) != expected:
|
||||
raise ValueError('admission changed configuration beyond the sole image pin')
|
||||
|
||||
|
||||
def transport_result(exit_code, output):
|
||||
import json
|
||||
try:
|
||||
value = json.loads(output)
|
||||
except (ValueError, TypeError):
|
||||
return {'all_checks_pass': False, 'reason': 'invalid transport result'}
|
||||
if exit_code != 0 or not isinstance(value, dict) or value.get('all_checks_pass') is not True:
|
||||
return {'all_checks_pass': False, 'reason': 'read-only preflight refused'}
|
||||
return value
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
{
|
||||
"review_id": "RPF-REVIEW-20261011-INFD-ZLIB-NATIVE-R3",
|
||||
"work_record": "RPF-IN-0009",
|
||||
"role": "railiance-platform technical owner only",
|
||||
"status": "unissued-draft-superseded-before-ack-by-actual-provider-contract-finding",
|
||||
"release_manifest_sha256": "3f1ce7ed678a457f73ab6486c7e81ef3360daf4f7ec1196f3031c3ffaace57ec",
|
||||
"release_paths": 481,
|
||||
"published_manifest_sha256": "6ba2c341b496ab7f79f9c5fd33a92831c2f8db25d018a4b4e67d41e0af9c5bc9",
|
||||
"actual_candidate_image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23",
|
||||
"rollback_image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a",
|
||||
"rollback_source": "c96b0c6d881e855d1d158003c6de90ef390262e2",
|
||||
"artifact_source_revision": "9b4bb25d325698ae543e7e8a8a3c3592db1f58fc",
|
||||
"validation": {
|
||||
"release_manifest_sha256": "3f1ce7ed678a457f73ab6486c7e81ef3360daf4f7ec1196f3031c3ffaace57ec",
|
||||
"all481_hashes_and_plan_bindings_match": true,
|
||||
"synthetic_test_methods_independently_passed": 36,
|
||||
"additional_checks_passed": 12,
|
||||
"additional_checks": [
|
||||
"actual ephemeral custody refuses before native effect",
|
||||
"actual public full report matches exact scan contract",
|
||||
"incomplete/wrongconfig/truncated/LOW reports refuse",
|
||||
"boolean HTTPstatus/foreignattempt/healthycandidate/403/31minute recovery refusals",
|
||||
"actual provider command mocked response private fields withheld"
|
||||
],
|
||||
"public_scan_report_only": true,
|
||||
"native_or_private_database_access": false
|
||||
},
|
||||
"reviewed_boundaries": [
|
||||
"Exact four render hashes plus executor/case/memo hashes checked before authority/journal/dispatch; root records actual final owner revision before human post.",
|
||||
"NEW founder confirmed exact source1/companionreview1 nested disposition only; each normal phase fresh fixed-origin readback, original purpose R2 never authorizes this task.",
|
||||
"New custody/journal/attempt-linked snapshot identity; protected bounded binary transfer and isolated UID0 initializer/UID10001 clone before fresh cutover; no old approved journals/helpers altered.",
|
||||
"One existing Deployment image only via manual Argo Application UID/RV/source CAS, explicit falseprune and exact namespace/source/resource/result; missing false status allowed only current completed explicitfalse request plus controller completion/time/initiator binding.",
|
||||
"Deployment/immutable config/PVC full seals and actual Pod exact controlled fields/owner chain/UID/GID/image/Ready; ephemeral containers refuse before effect.",
|
||||
"Same immutable artifact full exact622config/11diffIDs/source labels/44PURLs/38OS6Python/zlibr1 zeroallseverity freshscan before release+verify; four-hour age and DBNextUpdate expiry mandatory, new finding retained/refuses.",
|
||||
"Native installed module/zlib/data/health proof and synthetic purpose checks remain separate from canonical current postReady native outcomes/PDP preservation proof; typed bounded metadata excludes notes/reasons/private payloads."
|
||||
],
|
||||
"new_proposed_manual_recovery_consent": {
|
||||
"requires_new_exact_founder_acceptance": true,
|
||||
"scope": "763/c96 image/source only, latest database retained, this trial only",
|
||||
"window": "at most30minutes after actual release attempt and before2026-10-12T23:59:59Z; rechecked immediately before native patch",
|
||||
"authority": "independently root-confirmed exact acceptance privately cached before release and hash anchored to immutable journal; supervised bookkeeping only, no autonomous/signed grant",
|
||||
"triggers": "fresh transport-unavailable or502/503/504 evidence AND actual failed exactf558/source placement",
|
||||
"forbidden": [
|
||||
"backup fallback",
|
||||
"release fallback",
|
||||
"401",
|
||||
"403",
|
||||
"explicitrevoked",
|
||||
"currentconflict",
|
||||
"identity/scope mismatch",
|
||||
"healthy candidate",
|
||||
"foreign trial/source/UID",
|
||||
"customer or future trial reuse"
|
||||
],
|
||||
"revocation_limitation": "Later revocation cannot be queried while INFD unavailable; explicit new human consent must cover bounded supervised exception.",
|
||||
"verification": "Separate COMPLETE rollback intent/original outage anchor +actual763Ready1/current same-schema data; no provider acceptance or T05 closure inferred."
|
||||
},
|
||||
"history": {
|
||||
"previous_owner_manifest_sha256": "aa941510645a655190c967adb4a04f89dfae9c625981a27552dea8a27216df7f",
|
||||
"previous123_fullfiles_manifest_map_immutable_archive": true,
|
||||
"path": "changes-requested-aa941510",
|
||||
"original67_fullsnapshot_absence_remains_disclosed": true
|
||||
},
|
||||
"remaining_before_native_action": [
|
||||
"Final narrow two-owner ACK/row19 reference rebinding and exact committed source/fourblob proof must be retained before human post.",
|
||||
"Fresh new founder disposition for the complete proposal, including explicitly bounded manual recovery exception.",
|
||||
"Current root native authority, exact fresh owner admission/custody/headroom and current full immutableartifact scan must pass at execution; old zero report expiresOct11T18:59:50Z and is not valid untilOct12 deadline."
|
||||
],
|
||||
"scope_limits": {
|
||||
"human_approval": false,
|
||||
"native_execution": false,
|
||||
"backup_restore_or_private_database_access": false,
|
||||
"credentials_read": false,
|
||||
"owner_source_write": false,
|
||||
"push": false,
|
||||
"T05_complete": false,
|
||||
"risk_closed": false,
|
||||
"autonomous_authority": false,
|
||||
"other_owner_role": false,
|
||||
"technical_agreement_issued": false
|
||||
},
|
||||
"provider_command_actual_contract_verified": false,
|
||||
"reason_not_issued": "Native lifecycle outcomes lacks invented top-level memo_id and actual optional states differ; synthetic sentinel metadata fixture did not establish actual API compatibility."
|
||||
}
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
"""Synthetic/read-only public artifact probes; no main, provider, native or database access."""
|
||||
import copy,datetime,importlib.util,json,sys
|
||||
from pathlib import Path
|
||||
root=Path(sys.argv[1]);sys.path.insert(0,str(root));import test_execution as tests
|
||||
from authority_journal import fresh_scan,recovery_authority
|
||||
results={}
|
||||
fixture=tests.FixedNativeProgram();objects,payload=fixture.fixture();objects["pod_ephemeral_fixture"]=[{"name":"unrelated","image":"unrelated:mutable","securityContext":{"privileged":True}}]
|
||||
# Maker fake transport has dedicated actual Pod-field injection; test checks before exec/effect.
|
||||
fixture.test_actual_pod_ephemeral_container_refuses_before_native_effect();results["actual_ephemeral_custody_refusal"]=True
|
||||
case=root.parent;pub=Path(sys.argv[2]);contract=json.loads((case/"fresh-scan-contract.json").read_text());receipt=json.loads((case/"fresh-scan-receipt-template.json").read_text());scan=json.loads((pub/"scan-receipt.json").read_text());receipt.update(completed_at="2026-10-11T09:40:00Z",db_metadata=scan["db_metadata"],db_sha256=scan["db_sha256"],full_report_sha256="a"*64,exit_code=0)
|
||||
report=json.loads((pub/"trivy-full.json").read_text());fresh_scan(receipt,report,contract,datetime.datetime(2026,10,11,10,tzinfo=datetime.timezone.utc));results["actual_published_full_report_matches_contract"]=True
|
||||
for label,mutate in [("empty",lambda x:x.update(Results=[{}])),("wrong_config",lambda x:x["Metadata"].update(ImageID="sha256:"+"f"*64)),("truncated",lambda x:x["Results"][0]["Packages"].pop()),("low_finding",lambda x:x["Results"][0].update(Vulnerabilities=[{"Severity":"LOW"}]))]:
|
||||
r=copy.deepcopy(report);mutate(r)
|
||||
try:fresh_scan(receipt,r,contract,datetime.datetime(2026,10,11,10,tzinfo=datetime.timezone.utc))
|
||||
except (ValueError,KeyError):results["scan_"+label+"_refused"]=True
|
||||
fixture=tests.OutcomeMetadataAndOutage();probe,cache,journal,sealed,deps=fixture.recovery_fixture()
|
||||
for label,mutate in [("boolean_status",lambda p:p.update(native_probe_status=True)),("foreign_release",lambda p:p.update(release_attempt_id="other")),("healthy_candidate",lambda p:p["failed_candidate"].update(ready_replicas=1)),("fresh_403",lambda p:p.update(native_probe_status=403))]:
|
||||
r=copy.deepcopy(probe);mutate(r)
|
||||
try:recovery_authority(r,cache,journal,"a"*64,tests.REVISION,sealed,deps,"rollback",tests.NOW)
|
||||
except ValueError:results["recovery_"+label+"_refused"]=True
|
||||
try:recovery_authority(probe,cache,journal,"a"*64,tests.REVISION,sealed,deps,"rollback",tests.NOW+datetime.timedelta(minutes=31))
|
||||
except ValueError:results["recovery_31min_refused"]=True
|
||||
metadata=tests.OutcomeMetadataAndOutage();metadata.test_actual_command_mocked_opener_never_prints_private_fields();results["provider_command_synthetic_private_output_withheld"]=True
|
||||
print(json.dumps(results,sort_keys=True))
|
||||
if len(results)!=12 or not all(results.values()):raise SystemExit(1)
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
# Requested decision
|
||||
|
||||
Approve the exact new T05 zlib-only image release and protected same-schema compatibility drill, after final independent Product and Platform acknowledgments. This packet is prepared and unapproved; fresh rollback server dry-run passed with exactly the baseline image and empty diff. Root retains exact final owner source revision and independent acknowledgments before asking for native founder disposition. The prior T04 approval is excluded.
|
||||
|
||||
The admitted owner CI published immutable image f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23 from source9b4bb25d325698ae543e7e8a8a3c3592db1f58fc. Its actual full scan reports zero findings across44packages. The same scan DB finds oneMEDIUM on currentimage763c. Signed official Alpine zlib1.3.2-r1 is the sole package change; actual published filesystem proof shows onlylibz andAPKinstalleddatabase changes, zero313directorymetadata changes, retainedninebaselayers and unchanged36applicationfiles/purposepolicy/config/credentials/audience/resources. Registry-to-daemon config serialization differs under closed verified normalization, without runtime change.
|
||||
|
||||
The exact ordered protected drill and release are specified in native-backup-restore-protocol.md and hash-bound execution bundle. New backup paths, isolated clone and journal are distinct from old evidence. Real private data will enter only approved private custody and the isolated no-network clone; content never enters public evidence. Failed/uncertain phase states remain durable and cannot be retried. Prior T04 failed copy/verify are preserved.
|
||||
|
||||
After schema5/integrity/exactclonecounts pass and clone cleanup succeeds, fresh cutover backup/copy precedes the exact manual image-only Deployment sync. Current baseline is healthygeneration25/image763c/Applicationc96. ImmutableCM6c/PVC/Podconfiguration/PDP origins remain sealed. FreshnodeCPU3460of4000m supports unchangedRecreate, with another check before effect. Brief availability interruption expected.
|
||||
|
||||
Rollback restores Deploymentimage763c andApplicationc96 while retaining latestschema5database; no old snapshot restoration. Separate installed/native health/custody/PDP-gated readback and actual native image rescan precede T05 closure. Allphase starts expireOct12 23:59:59Z; release reserves30minutesforverificationandrecovery. Afterexpiry a newfounderdecision is required. EUR0newrecurringinfrastructure, boundedprivate storage andunpricedattendedtime. No newdoctrine/autopilot/credentialgrant is authorized.
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
"""Run only inside existing admitted StateHub Pod AFTER verified candidate Ready.
|
||||
|
||||
The fixed existing dispatcher loads its internal credential; root never reads
|
||||
it. HTTP success proves canonical lifecycle.outcomes PDP gate returned, not an
|
||||
advisory verdict emission or a substitute for separate evidence obligations.
|
||||
Root records this bounded metadata receipt with verified PodUID/image/source.
|
||||
This preparation only writes source; no request is made here.
|
||||
"""
|
||||
import datetime,json,urllib.request,urllib.error
|
||||
from api.services.memo_dispatch import ORIGIN,NoRedirect,token_file
|
||||
id='infd-20261011-zlib-remediation-r1'
|
||||
req=urllib.request.Request(ORIGIN+'/v1/decisions/'+id+'/outcomes?version=1',headers={'Authorization':'Bearer '+token_file('/var/run/secrets/state-hub/informed-decision/lifecycle-token')})
|
||||
opener=urllib.request.build_opener(urllib.request.ProxyHandler({}),NoRedirect())
|
||||
try:
|
||||
with opener.open(req,timeout=15) as response:
|
||||
raw=response.read(1048577)
|
||||
if len(raw)>1048576:raise ValueError('oversize')
|
||||
r=json.loads(raw)
|
||||
print(json.dumps({'memo_id':id,'source_memo_version':1,'observed_at':datetime.datetime.now(datetime.timezone.utc).isoformat(),'native_authenticated_canonical_lifecycle_outcomes':True,'native_provider_path_returned':True,'credential_material_output':False,'review':r.get('review'),'disposition_count':len(r.get('dispositions',[])),'dispositions':[{k:d.get(k) for k in ('id','approval_id','submission_state','disposition','approved_at','decided_at')} for d in r.get('dispositions',[])]}))
|
||||
except Exception as e:print(json.dumps({'memo_id':id,'status':'unverified','error_class':type(e).__name__}));raise SystemExit(1)
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
---
|
||||
id: RPF-IN-0009
|
||||
kind: intake
|
||||
type: intake
|
||||
title: "Platform technical review of distinct INFD zlib native release"
|
||||
repo: railiance-platform
|
||||
lane: supervised
|
||||
status: closed
|
||||
owner: railiance-platform
|
||||
requested_by: the-custodian
|
||||
origin: handoff
|
||||
origin_ref: INFD-WP-0009-T05
|
||||
priority: high
|
||||
created: "2026-10-11"
|
||||
updated: "2026-10-11"
|
||||
tags: [security, cross-owner, review]
|
||||
---
|
||||
|
||||
New bounded Platform technical review of immutable published zlib artifact and separately proposed image-only native release/drill/cutover/recovery. Distinct from completed RPF-IN-0008 source candidate review and purpose R2 authorization. No native action, private database access, credentials, owner source writes, carried-forward approval or T05 closure.
|
||||
|
||||
## Completed initial changes-requested review
|
||||
|
||||
Initial exact67 manifest1e4 was observed at review start, then shared stage changed to68 manifest81adb9e1749d6bd9f19755a2bbd7b501589ea782445537bbbfe925e1d9f8fa47 before snapshot preservation. Review stopped rather than treating that as unchanged frozen source. Observed68 bytes and manifest archived;29 published proof6ba2 hashes verified. Remote keyword dispatch and recorded backup snapshot identity are not plumbed; freshscan helper permits unbound incomplete zero reports. Fresh scan age and DBNextUpdate controls exist but artifact and full inventory coverage must be checked. Completed owner workrecord precedes conditional entry. Refinement remains this same review trial; no technical agreement or native approval issued.
|
||||
|
||||
## Completed refined-source changes-requested review
|
||||
|
||||
Same owner preparation trial reviewed immutable143 manifest `f170b34d8846919b18520264e7ba96e2ac11a3bce7899bc5710fcb0d22f4af29`. Original wiring and incomplete scan proof defects fixed; all143 source hashes/plan file bindings verified,25 synthetic methods pass. Independent remote payload/partial scan repro confirms fixes; separate fixture shows unrelated privileged ephemeral container passes current Pod gate. Post-ready freeform output and recovery authority availability require explicit refinement. Exact previous74 owner-review files plus manifest/map archived before supersession. Source-only review is completed before conditional entry; no technical ACK, approval or native evidence inferred.
|
||||
|
||||
Root selected a NEW human-proposal recovery alternative for further source preparation: independently root-confirmed same accepted receipt retained before release may support manual supervised763/c96 Deployment-only latestDB recovery for at most30minutes after release and before deadline, only exact approved custody/journal/source pins and demonstrable transport-unavailable/502/503/504 plus failed candidate placement. No401/403/revoked/invalidsignature/conflict fallback, no backup/release fallback; inability to query later revocation while unavailable must be disclosed. This is proposed scope awaiting exact code review and NEW founder disposition, not existing authority.
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"release_manifest_sha256": "3f1ce7ed678a457f73ab6486c7e81ef3360daf4f7ec1196f3031c3ffaace57ec",
|
||||
"all481_hashes_and_plan_bindings_match": true,
|
||||
"synthetic_test_methods_independently_passed": 36,
|
||||
"additional_checks_passed": 12,
|
||||
"additional_checks": [
|
||||
"actual ephemeral custody refuses before native effect",
|
||||
"actual public full report matches exact scan contract",
|
||||
"incomplete/wrongconfig/truncated/LOW reports refuse",
|
||||
"boolean HTTPstatus/foreignattempt/healthycandidate/403/31minute recovery refusals",
|
||||
"actual provider command mocked response private fields withheld"
|
||||
],
|
||||
"public_scan_report_only": true,
|
||||
"native_or_private_database_access": false
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,362 @@
|
|||
"""One fixed supervised phase; never run this during source preparation."""
|
||||
import argparse
|
||||
import hashlib
|
||||
import json
|
||||
import os
|
||||
from pathlib import Path
|
||||
import re
|
||||
import selectors
|
||||
import stat
|
||||
import subprocess
|
||||
import sys
|
||||
import time
|
||||
|
||||
if sys.flags.optimize:
|
||||
raise SystemExit('optimized interpreter refused')
|
||||
|
||||
PHASES = ('drill-backup', 'drill-copy', 'offline-verify', 'cleanup-offline',
|
||||
'cutover-backup', 'cutover-copy', 'release', 'verify', 'rollback', 'rollback-verify')
|
||||
|
||||
|
||||
def require(value, reason):
|
||||
if not value:
|
||||
raise ValueError(reason)
|
||||
|
||||
|
||||
def sha(path):
|
||||
digest = hashlib.sha256()
|
||||
with Path(path).open('rb') as stream:
|
||||
for block in iter(lambda: stream.read(1024**2), b''):
|
||||
digest.update(block)
|
||||
return digest.hexdigest()
|
||||
|
||||
|
||||
def private(path, directory=False):
|
||||
info = Path(path).lstat()
|
||||
require((stat.S_ISDIR(info.st_mode) if directory else stat.S_ISREG(info.st_mode))
|
||||
and info.st_uid == os.getuid() and stat.S_IMODE(info.st_mode) == (0o700 if directory else 0o600)
|
||||
and (directory or info.st_nlink == 1), 'private owned custody required')
|
||||
|
||||
ROOT = Path(__file__).resolve().parent
|
||||
CASE = ROOT.parent
|
||||
OWNER = Path('/home/worsch/informed-decision')
|
||||
CUSTODIAN = Path('/home/worsch/the-custodian')
|
||||
CUSTODY = CUSTODIAN / '.private-backups/20261011-infd-zlib-r1'
|
||||
SOCKET = 'unix:///var/run/docker.sock'
|
||||
IMAGE = 'forgejo.coulomb.social/coulomb/informed-decision@sha256:f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23'
|
||||
VOLUME = 'infd-zlib-r1-restore-20261011'
|
||||
MAX_BYTES = 512 * 1024**2
|
||||
|
||||
|
||||
def run(argv, body=None, timeout=90):
|
||||
return subprocess.run(argv, input=body, text=True, capture_output=True, timeout=timeout)
|
||||
|
||||
|
||||
def json_result(result):
|
||||
try:
|
||||
value = json.loads(result.stdout)
|
||||
except (ValueError, TypeError):
|
||||
raise ValueError('safe phase receipt unavailable; outcome uncertain') from None
|
||||
require(result.returncode == 0 and isinstance(value, dict) and value.get('all_checks_pass') is True,
|
||||
'phase did not verify complete; raw output withheld; no retry')
|
||||
permitted = {'phase', 'all_checks_pass', 'raw_output_withheld', 'native_approval_verified_by_root',
|
||||
'native_authenticated_grant', 'source_readonly_baseline', 'snapshot_readonly',
|
||||
'snapshot_sha256', 'snapshot_bytes', 'snapshot_file', 'native_parent_private',
|
||||
'native_uid', 'pod_name', 'pod_uid', 'live_readonly_schema_integrity_counts',
|
||||
'live_counts_may_include_concurrent_commits', 'operation_requested', 'source_revision',
|
||||
'resources', 'prune', 'rollout_verified', 'latest_live_database_retained',
|
||||
'client_diff_sha256', 'native_rollout_verified', 'current_schema5_database_retained',
|
||||
'private_copy_verified', 'installed_purpose_checks', 'policy_sha256',
|
||||
'policy_mode', 'policy_uid', 'installed_zlib_files', 'zlib_package', 'health_statuses', 'native_provider_probe', 'recovery_verification'}
|
||||
require(set(value) <= permitted, 'unexpected output fields withheld')
|
||||
from receipt_safety import counts
|
||||
for name in ('source_readonly_baseline', 'snapshot_readonly', 'live_readonly_schema_integrity_counts'):
|
||||
if name in value:
|
||||
counts(value[name])
|
||||
for name in ('snapshot_sha256', 'client_diff_sha256'):
|
||||
if name in value:
|
||||
require(re.fullmatch(r'[a-f0-9]{64}', value[name]) is not None, 'invalid output digest withheld')
|
||||
if 'snapshot_bytes' in value:
|
||||
require(type(value['snapshot_bytes']) is int and 0 < value['snapshot_bytes'] <= MAX_BYTES,
|
||||
'invalid output size withheld')
|
||||
if 'snapshot_file' in value:
|
||||
require(value['snapshot_file'] in ('drill.sqlite', 'cutover.sqlite'), 'invalid output file withheld')
|
||||
return value
|
||||
|
||||
|
||||
def docker(argv, body=None, timeout=120):
|
||||
return run(['docker', '--config', str(CUSTODY / 'empty-docker-config'), '--host', SOCKET] + argv,
|
||||
body=body, timeout=timeout)
|
||||
|
||||
|
||||
def remote(phase, revision, approved):
|
||||
# Fixed module imported only after main verifies every executor source hash.
|
||||
from native_program import PROGRAM
|
||||
payload = {'phase': phase, 'source_revision': revision, 'approval': approved,
|
||||
'sealed': json.loads((CASE / 'sealed-live-deployment.json').read_text()),
|
||||
'dependencies': json.loads((CASE / 'sealed-native-dependencies.json').read_text()),
|
||||
'candidate': json.loads((CASE / 'candidate-deployment.json').read_text()),
|
||||
'rollback': json.loads((CASE / 'rollback-deployment.json').read_text()),
|
||||
'receipt_safety': (ROOT / 'receipt_safety.py').read_text(),
|
||||
'purpose_checks': (CASE / 'check_installed.py').read_text(),
|
||||
'installed_zlib': json.loads((CASE / 'installed-zlib-proof.json').read_text()), 'readonly': (CASE / 'sqlite_readonly.py').read_text()}
|
||||
script = PROGRAM.replace('__PAYLOAD__', repr(json.dumps(payload))).replace(
|
||||
'__GUARD__', repr((CASE / 'change_guard.py').read_text()))
|
||||
return json_result(run(['ssh', 'railiance01', 'python3 -'], script, timeout=200))
|
||||
|
||||
|
||||
def copy_snapshot(phase, revision, approved, journal):
|
||||
metadata = remote(phase, revision, approved)
|
||||
backup_phase = 'drill-backup' if phase == 'drill-copy' else 'cutover-backup'
|
||||
prior = journal.data['phases'][backup_phase]['result']
|
||||
for key in ('snapshot_sha256', 'snapshot_bytes', 'snapshot_file', 'snapshot_readonly'):
|
||||
require(metadata[key] == prior[key], 'closed frozen snapshot changed')
|
||||
name = metadata['snapshot_file']
|
||||
require(name in ('drill.sqlite', 'cutover.sqlite') and 0 < metadata['snapshot_bytes'] <= MAX_BYTES,
|
||||
'fixed bounded snapshot required')
|
||||
pod = metadata['pod_name']
|
||||
require(re.fullmatch(r'[a-z0-9]([-a-z0-9]*[a-z0-9])?', pod) is not None, 'fixed owner pod name required')
|
||||
local = CUSTODY / name
|
||||
fd = os.open(local, os.O_WRONLY | os.O_CREAT | os.O_EXCL | os.O_NOFOLLOW, 0o600)
|
||||
# Binary snapshot stdout goes only to a private file, never tool/chat/log output.
|
||||
# Snapshot schema/count metadata was validated before opening this destination.
|
||||
with os.fdopen(fd, 'wb') as destination:
|
||||
command = ('kubectl exec -n informed-decision ' + pod +
|
||||
' -c informed-decision -- cat /data/private/zlib85091-r1/' + name)
|
||||
transfer = subprocess.Popen(['ssh', 'railiance01', command], stdout=subprocess.PIPE,
|
||||
stderr=subprocess.DEVNULL)
|
||||
selector = selectors.DefaultSelector()
|
||||
selector.register(transfer.stdout, selectors.EVENT_READ)
|
||||
deadline = time.monotonic() + 150
|
||||
received = 0
|
||||
try:
|
||||
while True:
|
||||
remaining = deadline - time.monotonic()
|
||||
require(remaining > 0 and selector.select(remaining), 'private transfer timed out')
|
||||
block = os.read(transfer.stdout.fileno(), 1024**2)
|
||||
if not block:
|
||||
break
|
||||
received += len(block)
|
||||
require(received <= metadata['snapshot_bytes'] and received <= MAX_BYTES,
|
||||
'private copy exceeds frozen snapshot size')
|
||||
destination.write(block)
|
||||
transfer.wait(timeout=max(1, deadline - time.monotonic()))
|
||||
finally:
|
||||
selector.close()
|
||||
transfer.stdout.close()
|
||||
if transfer.poll() is None:
|
||||
transfer.kill()
|
||||
transfer.wait()
|
||||
destination.flush()
|
||||
os.fsync(destination.fileno())
|
||||
private(local)
|
||||
require(transfer.returncode == 0 and local.stat().st_size == metadata['snapshot_bytes']
|
||||
and sha(local) == metadata['snapshot_sha256'], 'private copy incomplete/uncertain; retain, no retry')
|
||||
# Re-read identity/hash after transfer. This is verification, not a write retry.
|
||||
after = remote(phase, revision, approved)
|
||||
require(after['pod_uid'] == metadata['pod_uid'] and after['snapshot_sha256'] == metadata['snapshot_sha256'],
|
||||
'source identity/snapshot changed during transfer')
|
||||
return {**metadata, 'off_cluster_private_copy_verified': True, 'snapshot_contents_output': False}
|
||||
|
||||
|
||||
def offline_verify(journal):
|
||||
from receipt_safety import counts
|
||||
snapshot = CUSTODY / 'drill.sqlite'
|
||||
private(snapshot)
|
||||
previous = journal.data['phases']['drill-copy']['result']
|
||||
require(sha(snapshot) == previous['snapshot_sha256'], 'protected snapshot bytes changed')
|
||||
identity = docker(['info', '--format', '{{json .Name}}'])
|
||||
require(identity.returncode == 0 and json.loads(identity.stdout) == 'bnt-lap001',
|
||||
'local offline Docker engine identity changed')
|
||||
listed = docker(['volume', 'ls', '--format', '{{.Name}}'])
|
||||
require(listed.returncode == 0 and VOLUME not in listed.stdout.splitlines(),
|
||||
'disposable volume absence not verified')
|
||||
nonce = journal.data['phases']['offline-verify']['attempt_id']
|
||||
labels = {'informed-decision.case': 'infd-zlib-20261011-r1',
|
||||
'informed-decision.use': 'offline-restore-only', 'informed-decision.attempt': nonce}
|
||||
created = docker(['volume', 'create', '--driver', 'local', '--label', 'informed-decision.case=infd-zlib-20261011-r1',
|
||||
'--label', 'informed-decision.attempt=' + nonce,
|
||||
'--label', 'informed-decision.use=offline-restore-only', VOLUME])
|
||||
require(created.returncode == 0 and created.stdout.strip() == VOLUME, 'volume creation uncertain; no retry')
|
||||
inspected = docker(['volume', 'inspect', VOLUME])
|
||||
require(inspected.returncode == 0, 'new volume identity unavailable')
|
||||
volume = json.loads(inspected.stdout)
|
||||
require(len(volume) == 1 and volume[0]['Name'] == VOLUME and volume[0].get('Labels') == labels
|
||||
and volume[0].get('Driver') == 'local' and not volume[0].get('Options')
|
||||
and volume[0].get('Scope') == 'local', 'new isolated volume identity changed')
|
||||
identity = {key: volume[0][key] for key in ('Name', 'Labels', 'Driver', 'Scope', 'CreatedAt')}
|
||||
journal.note('offline-verify', 'created_volume_identity', identity)
|
||||
# One-time UID0/CAP_CHOWN initialization is isolated to the NEW named volume.
|
||||
# No host/live PVC/config/token mount exists; this detail needs packet review.
|
||||
initializer = """import hashlib,os,stat,sys
|
||||
if sys.flags.optimize:raise RuntimeError('optimized interpreter refused')
|
||||
folder='/restore';expected=EXPECTED
|
||||
if os.listdir(folder):raise ValueError('new empty private volume required')
|
||||
os.chmod(folder,0o700)
|
||||
fd=os.open(folder+'/review.sqlite',os.O_CREAT|os.O_EXCL|os.O_NOFOLLOW|os.O_WRONLY,0o600)
|
||||
digest=hashlib.sha256();size=0
|
||||
with os.fdopen(fd,'wb') as target:
|
||||
while True:
|
||||
block=sys.stdin.buffer.read(1024**2)
|
||||
if not block:break
|
||||
size+=len(block)
|
||||
if size>512*1024**2:raise ValueError('private restore size exceeds bound')
|
||||
target.write(block);digest.update(block)
|
||||
target.flush();os.fsync(target.fileno())
|
||||
if digest.hexdigest()!=expected:raise ValueError('private copied snapshot differs')
|
||||
os.chown(folder+'/review.sqlite',10001,10001);os.chown(folder,10001,10001)
|
||||
print('{"all_checks_pass":true,"private_copy_verified":true}')
|
||||
""".replace('EXPECTED', repr(previous['snapshot_sha256']))
|
||||
with snapshot.open('rb') as source:
|
||||
argv = ['docker', '--config', str(CUSTODY / 'empty-docker-config'), '--host', SOCKET,
|
||||
'run', '--rm', '-i', '--network', 'none', '--read-only', '--cpus', '1', '--memory', '128m',
|
||||
'--user', '0:0', '--cap-drop', 'ALL', '--cap-add', 'CHOWN',
|
||||
'--security-opt', 'no-new-privileges', '--mount', 'type=volume,src=' + VOLUME + ',dst=/restore',
|
||||
'--entrypoint', 'python', IMAGE, '-c', initializer]
|
||||
copied = subprocess.run(argv, stdin=source, text=True, capture_output=True, timeout=150)
|
||||
json_result(copied)
|
||||
options = ['run', '--rm', '-i', '--network', 'none', '--read-only', '--cpus', '1', '--memory', '128m',
|
||||
'--user', '10001:10001', '--cap-drop', 'ALL', '--security-opt', 'no-new-privileges',
|
||||
'--mount', 'type=volume,src=' + VOLUME + ',dst=/restore']
|
||||
readonly = docker(options + ['--entrypoint', 'python', IMAGE, '-', '--db', '/restore/review.sqlite'],
|
||||
(CASE / 'sqlite_readonly.py').read_text())
|
||||
require(readonly.returncode == 0, 'offline pre-open schema/integrity gate refused; never open Store')
|
||||
checked = counts(json.loads(readonly.stdout))
|
||||
require(checked == previous['snapshot_readonly'], 'frozen snapshot/clone readonly counts differ')
|
||||
admin = docker(options + ['--entrypoint', 'informed-decision-admin', IMAGE,
|
||||
'inspect', '--db', '/restore/review.sqlite'])
|
||||
require(admin.returncode == 0, 'offline admin result uncertain')
|
||||
admin_counts = json.loads(admin.stdout)
|
||||
require(admin_counts == {key: checked[key] for key in ('schema_version', 'lifecycle', 'outbox', 'submissions')},
|
||||
'offline admin changed frozen snapshot counters')
|
||||
# Admin Store construction must not silently alter schema/integrity/counters.
|
||||
post = docker(options + ['--entrypoint', 'python', IMAGE, '-', '--db', '/restore/review.sqlite'],
|
||||
(CASE / 'sqlite_readonly.py').read_text())
|
||||
require(post.returncode == 0, 'offline post-admin readonly integrity gate refused')
|
||||
post_checked = counts(json.loads(post.stdout))
|
||||
require(post_checked == checked == previous['snapshot_readonly'],
|
||||
'offline admin altered frozen snapshot proof')
|
||||
private(snapshot)
|
||||
require(sha(snapshot) == previous['snapshot_sha256'], 'original protected snapshot changed during drill')
|
||||
return {'all_checks_pass': True, 'offline_volume': VOLUME, 'offline_readonly': checked,
|
||||
'offline_post_admin_readonly': post_checked, 'original_snapshot_hash_unchanged': True,
|
||||
'created_volume_identity': identity,
|
||||
'admin_counts': admin_counts, 'network': 'none', 'runtime_tokens_or_config_mounted': False,
|
||||
'service_entrypoint_started': False, 'original_snapshot_retained': True}
|
||||
|
||||
|
||||
def cleanup_offline(journal):
|
||||
inspected = docker(['volume', 'inspect', VOLUME])
|
||||
require(inspected.returncode == 0, 'owned disposable volume identity unverified')
|
||||
value = json.loads(inspected.stdout)
|
||||
expected = journal.data['phases']['offline-verify']['result']['created_volume_identity']
|
||||
require(len(value) == 1 and {key: value[0].get(key) for key in expected} == expected
|
||||
and not value[0].get('Options'), 'volume ownership/recreation changed')
|
||||
removed = docker(['volume', 'rm', VOLUME])
|
||||
require(removed.returncode == 0 and removed.stdout.strip() == VOLUME
|
||||
and docker(['volume', 'inspect', VOLUME]).returncode != 0,
|
||||
'cleanup outcome ambiguous; do not retry')
|
||||
return {'all_checks_pass': True, 'only_disposable_offline_volume_removed': VOLUME,
|
||||
'native_and_offcluster_original_snapshots_retained': True}
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument('--phase', choices=PHASES, required=True)
|
||||
parser.add_argument('--root-authority-receipt', type=Path, required=True)
|
||||
parser.add_argument('--root-native-outcome', type=Path, required=True)
|
||||
parser.add_argument('--source-revision', required=True)
|
||||
parser.add_argument('--root-fresh-scan-receipt', type=Path, required=True)
|
||||
args = parser.parse_args()
|
||||
require(args.root_authority_receipt == Path('/tmp/security-infd-zlib-root-authority.json')
|
||||
and args.root_native_outcome == Path('/tmp/security-infd-zlib-native-outcome-latest.json'),
|
||||
'fixed supervised receipt paths required')
|
||||
require(re.fullmatch(r'[0-9a-f]{40}', args.source_revision) is not None, 'exact source commit required')
|
||||
# Verify all prepared executor/input bytes before reading authority or dispatching.
|
||||
plan = json.loads((ROOT / 'execution-plan.json').read_text())
|
||||
require(plan.get('state') == 'prepared-unapproved' and plan.get('published_artifact_verified') is True, 'unfrozen proposal cannot execute')
|
||||
require(set(plan['executor_files']) == {'actuator.py', 'authority_journal.py', 'native_program.py', 'receipt_safety.py'},
|
||||
'fixed executor sources required')
|
||||
require(set(plan['owner_source_files']) == {'deploy/lifecycle/admission.candidate.json',
|
||||
'deploy/lifecycle/service.candidate.json',
|
||||
'deploy/lifecycle/kustomization.yaml',
|
||||
'deploy/lifecycle/registries.candidate.json'},
|
||||
'fixed owner image sources required')
|
||||
for relative, digest in plan['executor_files'].items():
|
||||
target = ROOT / relative
|
||||
require(not target.is_symlink() and sha(target) == digest, 'executor source bytes changed')
|
||||
for relative, digest in plan['case_files'].items():
|
||||
require(not Path(relative).is_absolute() and '..' not in Path(relative).parts,
|
||||
'case source path escaped')
|
||||
target = CASE / relative
|
||||
require(not target.is_symlink() and sha(target) == digest, 'case source bytes changed')
|
||||
for relative, digest in plan['owner_source_files'].items():
|
||||
target = OWNER / relative
|
||||
require(not target.is_symlink() and sha(target) == digest, 'owner image-only source changed')
|
||||
committed = subprocess.run(['git', '-C', str(OWNER), 'show', args.source_revision + ':' + relative],
|
||||
capture_output=True)
|
||||
require(committed.returncode == 0 and hashlib.sha256(committed.stdout).hexdigest() == digest,
|
||||
'committed owner render source differs from approved inputs')
|
||||
head = run(['git', '-C', str(OWNER), 'rev-parse', 'HEAD'])
|
||||
require(head.returncode == 0 and head.stdout.strip() == args.source_revision, 'owner source HEAD differs')
|
||||
from authority_journal import Journal, authority, fresh_scan
|
||||
private(args.root_authority_receipt)
|
||||
private(args.root_native_outcome)
|
||||
receipt = json.loads(args.root_authority_receipt.read_text())
|
||||
require(receipt.get('native_outcome_sha256') == sha(args.root_native_outcome), 'native outcome bytes changed')
|
||||
require(receipt.get('executor_plan_sha256') == sha(ROOT / 'execution-plan.json'),
|
||||
'root verified executor plan differs')
|
||||
approved = authority(receipt, json.loads(args.root_native_outcome.read_text()), sha(CASE / 'memo.json'),
|
||||
args.source_revision, args.phase)
|
||||
if args.phase in ('release', 'verify'):
|
||||
require(args.root_fresh_scan_receipt == Path('/tmp/security-infd-zlib-fresh-scan-receipt.json'), 'fixed fresh scan receipt path required')
|
||||
private(args.root_fresh_scan_receipt)
|
||||
scan_receipt=json.loads(args.root_fresh_scan_receipt.read_text())
|
||||
report_path=Path('/tmp/security-infd-zlib-fresh-scan-full.json');private(report_path)
|
||||
require(sha(report_path)==scan_receipt.get('full_report_sha256'), 'fresh scan report bytes changed')
|
||||
fresh_scan(scan_receipt,json.loads(report_path.read_text()))
|
||||
parent = CUSTODY.parent
|
||||
private(parent, directory=True)
|
||||
ignored = run(['git', '-C', str(CUSTODIAN), 'check-ignore', '--no-index', str(CUSTODY / 'drill.sqlite')])
|
||||
require(ignored.returncode == 0, 'offcluster custody is not ignored')
|
||||
if not CUSTODY.exists():
|
||||
require(args.phase == 'drill-backup', 'first approved phase must create unique private custody')
|
||||
os.mkdir(CUSTODY, 0o700)
|
||||
private(CUSTODY, directory=True)
|
||||
capacity = os.statvfs(CUSTODY)
|
||||
require(capacity.f_bavail * capacity.f_frsize >= 2 * MAX_BYTES + 16 * 1024**2,
|
||||
'independent protected custody headroom insufficient')
|
||||
os.makedirs(CUSTODY / 'empty-docker-config', mode=0o700, exist_ok=True)
|
||||
private(CUSTODY / 'empty-docker-config', directory=True)
|
||||
require(not list((CUSTODY / 'empty-docker-config').iterdir()), 'public Docker read config must stay empty')
|
||||
journal = Journal(CUSTODY, {'proposal': plan['proposal_id'], 'source_revision': args.source_revision,
|
||||
'memo_sha256': sha(CASE / 'memo.json'), 'plan_sha256': sha(ROOT / 'execution-plan.json')})
|
||||
try:
|
||||
journal.start(args.phase, approved) # fsynced RUNNING before any phase effect.
|
||||
if args.phase in ('drill-copy', 'cutover-copy'):
|
||||
result = copy_snapshot(args.phase, args.source_revision, approved, journal)
|
||||
elif args.phase == 'offline-verify':
|
||||
result = offline_verify(journal)
|
||||
elif args.phase == 'cleanup-offline':
|
||||
result = cleanup_offline(journal)
|
||||
else:
|
||||
result = remote(args.phase, args.source_revision, approved, operation_intent=journal.data['phases'].get('rollback' if args.phase == 'rollback-verify' else 'release') if args.phase in ('verify', 'rollback-verify') else None)
|
||||
journal.finish(args.phase, result)
|
||||
print(json.dumps(result)) # Only count/hash/identity receipts, never snapshot bytes.
|
||||
except BaseException as error:
|
||||
safe = {'all_checks_pass': False, 'phase': args.phase, 'failure_class': type(error).__name__,
|
||||
'failure': 'fixed phase outcome uncertain; original evidence retained; no retry',
|
||||
'raw_output_withheld': True}
|
||||
if journal.data['phases'].get(args.phase, {}).get('state') == 'RUNNING':
|
||||
journal.finish(args.phase, safe)
|
||||
print(json.dumps(safe))
|
||||
raise SystemExit(1) from None
|
||||
finally:
|
||||
journal.close()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
main()
|
||||
except Exception:
|
||||
raise SystemExit('supervised execution refused before phase; raw output withheld') from None
|
||||
|
|
@ -0,0 +1,342 @@
|
|||
[
|
||||
{
|
||||
"path": "deploy/lifecycle/admission.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"sha256": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529"
|
||||
},
|
||||
{
|
||||
"path": "deploy/lifecycle/kustomization.yaml",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47"
|
||||
},
|
||||
{
|
||||
"path": "deploy/lifecycle/registries.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
{
|
||||
"path": "deploy/lifecycle/service.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"sha256": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"sha256": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"sha256": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"sha256": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"sha256": "c570bade38479af93f08f717fcebb328a0db38e5b58bd0e7983681bc5ae41b7a"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"sha256": "dabeda33ffe52989337e214dc6e6d3ef5f04797569145faf2ff69024b101ec80"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"sha256": "2aa9bae40752922264e53382d898e3083b8d229b185329266942bdd397013108"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"sha256": "750a4386277dc79c3213e6aed17ae5686332bfd587a55e5e87ebf3776a63ab0c"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"sha256": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"sha256": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"sha256": "7458222049d8df2f01f2ce359b5864ae41cd73054ee59659ca8cd8ac17cf73ac"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"sha256": "09b0a8ed6c3c7d1e94f5f703a2d5834ca26fc166cfc8f4f9b4511ab70ec16ac9"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"sha256": "92bbf8a891c7ef78df48430901219d8d07073cba74112a307a6d8bdec509e8dd"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/archive-map.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/archive-map.json",
|
||||
"sha256": "44be75acb94d8125efb9416dea91059aeeb79625d23c7959bdc099a95c26a9ca"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/original-manifest.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/original-manifest.json",
|
||||
"sha256": "7ac1d698cab2dfbde6bc0a84bcadd2c3229d24f4a4a59125fe72b2856fa82e07"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"sha256": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"sha256": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"sha256": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"sha256": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"sha256": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"sha256": "763f30c1433d1ca872b029519ec46ad1b97c47d60b7ea0eea0275a2c6b647dc3"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"sha256": "741b490bdb315896f05f2e91404c02765517dc1beea81fa590017fccafd299b4"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"sha256": "040144321c69622c223a8437832a3c5a4a9595fc37774fde5ff0ad676828ebf0"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"sha256": "9b458e2b4d418525987b6cb1b9a160c4b1a2c621625c1b5c571ea5c77e9d4361"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"sha256": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"sha256": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"sha256": "aa86921fe37fcff382676490f937af2e62bd6472a6b4700c862aaf3ce4ab8225"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"sha256": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"sha256": "3c76c6a8f95dcb55183583a937a4428b745a5c918643de8f2a2bc11dee846d98"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"sha256": "f586a511c1921490185bab95334f27de6d3cca20b348df20d18bcb9257d7ae35"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"sha256": "48b0f0baf4efc239111411ad7d1c291f8eceaa0ddf1414dac73d49ccdb3bbe70"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"sha256": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"sha256": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"sha256": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"sha256": "8154c90745d860b2984e4616f0bb1c35889b07b7ff8b841e7430db7592a15b7a"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"sha256": "196e2cef9ba38f075b458f164f05b5df594d188ee84b210744ef94c31f753294"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"sha256": "15b3fc9c708593adb52d9eb240c1a6b55d5ac43b1637b8047499f15e525e368f"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"sha256": "0614e2118927180d18f4a3fa833990a38e27340234a952abdb1d2ca93e7602a4"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"sha256": "ce88aca5e2d6cd5ab7533898bc9b246bd159482c4acccb0afe4c451ee88f57fa"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"sha256": "a992d799bc07e8fbf05b894a5b184b11092f0041ee68187e59a23c5395b263e9"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"sha256": "0188799d352e4d49d5ca29d6e197742d02e96a4b0b399df1f478e41b25292eb5"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"sha256": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"sha256": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"sha256": "4a529f57b886260f8d1b109e06e487a936fa1eb5eeb79dbbd9e4e7a05f9ae2e9"
|
||||
},
|
||||
{
|
||||
"path": "workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"sha256": "112e0aa642a7f48edf8073eee180b62d5ab6000aa4a6197ea6ffc10d7087beb0"
|
||||
}
|
||||
]
|
||||
|
|
@ -0,0 +1,96 @@
|
|||
{
|
||||
"proposal_id": "INFD-WP-0009-T05/zlib-85091-r1",
|
||||
"task_id": "INFD-WP-0009-T05",
|
||||
"risk_record": "INFD-RISK-20261011-ZLIB-85091",
|
||||
"state": "actual-owner-CI-published-independent-verification-passed-native-unapproved",
|
||||
"verified_utc": "2026-10-11T09:40:24.469646+00:00",
|
||||
"source_revision": "9b4bb25d325698ae543e7e8a8a3c3592db1f58fc",
|
||||
"ci_task": 11534,
|
||||
"ci_run": 4,
|
||||
"ci_status": "success",
|
||||
"reviewed_source_manifest_sha256": "724aa4777eb1c8976d868e5f504473f4b6d58f13d750d87aefa5c8d5ca0747ec",
|
||||
"all74_source_hashes_match_actual_commit": true,
|
||||
"published_image_digest": "sha256:f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23",
|
||||
"base_image_digest": "sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a",
|
||||
"registry_config_digest": "sha256:622becc3ebd97cb66b6e7c36f35bf931a7decd9464b65851123c1cc8c998d75b",
|
||||
"executed_local_daemon_image_id": "sha256:f2e07e3dd839b55afd5d517243a765a26965325e4e6750f508771ad556bd6d01",
|
||||
"serialization_caveat": "Daemon load reserializes config; all diffIDs/platform/effective config+labels independently equal to registry; neither config nor daemon ID substitutes for registry image digest",
|
||||
"actual_registry_descriptors_and_layers_verified": true,
|
||||
"base9layers_unchanged": true,
|
||||
"overlay_layers": 2,
|
||||
"fullscan_baseline": {
|
||||
"MEDIUM": 1,
|
||||
"id": "CVE-2026-85091"
|
||||
},
|
||||
"fullscan_candidate_allseverity_findings": 0,
|
||||
"fullscan_no_suppressions": true,
|
||||
"same_fresh_DB_both_images": true,
|
||||
"scanner_db_sha256": "03cacb40452ceb74afdfca072cb82f79ee884dfac006ef24a4dfdad133b0f917",
|
||||
"scanner_db_metadata": {
|
||||
"Version": 2,
|
||||
"NextUpdate": "2026-10-11T18:59:50.889010572Z",
|
||||
"UpdatedAt": "2026-10-10T18:59:50.889010923Z",
|
||||
"DownloadedAt": "2026-10-10T23:32:32.380033131Z"
|
||||
},
|
||||
"scanner_caveat": "Alpine3.24 absent EOL list warning; actual38OS+6Python detectors ran. Zero means this verified DB snapshot, not unknown-future assurance or estate risk grade.",
|
||||
"sbom_count": 44,
|
||||
"sbom_only_delta": {
|
||||
"zlib": [
|
||||
"1.3.2-r0",
|
||||
"1.3.2-r1"
|
||||
]
|
||||
},
|
||||
"final_changed_files": [
|
||||
"lib/apk/db/installed",
|
||||
"usr/lib/libz.so.1.3.2"
|
||||
],
|
||||
"directory_count": 313,
|
||||
"directory_metadata_delta": {},
|
||||
"app_files_identical": 36,
|
||||
"installed_UID": 10001,
|
||||
"installed_GID": 10001,
|
||||
"policy_sha256": "9d7c1be4cb6199d14ef0aaead5f85951f45b0ccbd7c800a7fde922a253566b62",
|
||||
"policy_mode": "0o644",
|
||||
"policy_UID": 0,
|
||||
"candidate_image_executed": true,
|
||||
"public_registry_layer_readback": true,
|
||||
"native_provider_test": false,
|
||||
"installed_purpose_variants": 10,
|
||||
"purpose_forms_allow": 2,
|
||||
"purpose_forms_refuse": 8,
|
||||
"runtime_readonly_networknone": true,
|
||||
"native_workload_or_database_or_snapshot_or_credentials_accessed": false,
|
||||
"native_rollout": false,
|
||||
"founder_release_approval": false,
|
||||
"risk_followthrough": "T05 remains active; manual review due2026-10-18, no controller or estate risk grade. Actual native installation/fresh scoped founder decision still required before closure.",
|
||||
"verification_refinement": "First run used registry config as daemon handle and refused before candidate execution125. Corrected by independently proving loaded daemon ID semantics+diffIDs exact, then executed. Not actual image failure.",
|
||||
"evidence_sha256": {
|
||||
"artifact-comparison.json": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4",
|
||||
"base-image-config.json": "4ad7249c75fd9fc039ceb186772419e1cba5fd9759c404556459c80a2d285d10",
|
||||
"base-image-manifest.json": "978c575d3c7bf0de39dbe4e9567c39cd36f70b7e55bc17357bdb03fb3b96b0fb",
|
||||
"base-runtime.json": "20aabb9f4846ab4fa6e28e0763d153188da151ee32293366a51b0fdf872a4d24",
|
||||
"base-sbom.cdx.json": "dd7d64c9571391acd4d1f86c6026a1b094abab4ee56e5a9f799ec2fd3c7d915a",
|
||||
"base-sbom.cdx.json.log": "8ab4473a5f74b36e82a4095e9c8d6e66d80aec64bd1cebd6c9f6734531869fca",
|
||||
"base-trivy-full.json": "3e91a3001adb008cec37d9ae3c08342f5d43c8ba0111eee75c63a6a7918808a9",
|
||||
"base-trivy-full.json.log": "96a48dc39f7d674b4954d5fa98a76645528ec0fe705782fe114e3b4b9d776862",
|
||||
"candidate-runtime.json": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124",
|
||||
"ci-publication-observation.json": "ffe6f2508bc9bebbdc85ac63eae5765562efbb8e920cc85b8da30a12ee1e4b17",
|
||||
"image-config.json": "253ab359013aeb3457d2abe0852bacd33697f973dd32c1b5738800e5dc633f43",
|
||||
"image-manifest.json": "9ca2abec6a26d9a9f802dfe75efa8bffdc28485e6bcaf525cc9b075df3700194",
|
||||
"installed-purpose.json": "312312c6f0bd2751401b3bc5bcd30ee6af01ed7cb380f85b863d03b0c7e9d1ad",
|
||||
"loaded-daemon-image-proof.json": "2e5c043a101d75e4c569adb6bc2f09020679b28ed2ad836c954f7d27101ce719",
|
||||
"publication-digest.json": "ca2a1dec38db8c5fbbc00ef4f27aa865edbbd4a7ca9dc21b2ba023664c507f38",
|
||||
"read_public_artifact.py": "eaa31da1ebb2095ea5e1bc7c570311cc4747f0d7f718034dad934351d1920daf",
|
||||
"registry-proof.json": "3ef52d9e4800fc9bd238072241dc15f13a0260ee3df1e82e6f63e72902749d92",
|
||||
"run_published_runtime.py": "d9bd33fecd2a98c2381b4ba2dce12b5c3d9a69faa5e350291924fc885f5e775f",
|
||||
"run_published_scan.py": "2583ab96350412fb3f20b5b05ded0949eb3ee8e5c0e8923a9c2c42d419d36639",
|
||||
"runtime-comparison.json": "993b80b9285e227a0bdfde4927cd2f053bcc4a58dd9bd1b633ac7a4637d6713c",
|
||||
"runtime-receipt.json": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889",
|
||||
"sbom.cdx.json": "4202263059780eae0448328044c1cf68b59758f329ae6bc981d916610527eae3",
|
||||
"sbom.cdx.json.log": "51873b37a0846ee1a618ea7591d79809dc0f8624f77a03fae7af953bcbd7282f",
|
||||
"scan-receipt.json": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a",
|
||||
"source-commit-proof.json": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b",
|
||||
"trivy-full.json": "2ff68e765b9c65292611d5a969202a7654637168edefcedac5d2c7634009edae",
|
||||
"trivy-full.json.log": "b3419af860d264449f61986f562491edaead27dfd3638ceabe94b4fe177f4bf1"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,617 @@
|
|||
[
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/mapping.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/mapping.json",
|
||||
"sha256": "796dbbff5c7ca61af2c84c2f2ad3de23b56f67210a30bded23a1ff5db806d26f"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/original-manifest.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/original-manifest.json",
|
||||
"sha256": "60507a1000a216623a3d53b21e64c6f4569b1aa064781d3ac672a9fa130e813c"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-review.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-review.json",
|
||||
"sha256": "e24b3fdae42721342a26ebe34caf57c2d21153ff855e584a0c4ebd3eb9adb349"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/mapping.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/mapping.json",
|
||||
"sha256": "dac8209ec57adc6df16673079f88a60cc56e89294de9389bc219ea19fdf51b5e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/original-manifest.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/original-manifest.json",
|
||||
"sha256": "81adb9e1749d6bd9f19755a2bbd7b501589ea782445537bbbfe925e1d9f8fa47"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"sha256": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"sha256": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"sha256": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"sha256": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"sha256": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"sha256": "c570bade38479af93f08f717fcebb328a0db38e5b58bd0e7983681bc5ae41b7a"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"sha256": "dabeda33ffe52989337e214dc6e6d3ef5f04797569145faf2ff69024b101ec80"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"sha256": "2aa9bae40752922264e53382d898e3083b8d229b185329266942bdd397013108"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"sha256": "750a4386277dc79c3213e6aed17ae5686332bfd587a55e5e87ebf3776a63ab0c"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"sha256": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"sha256": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"sha256": "7458222049d8df2f01f2ce359b5864ae41cd73054ee59659ca8cd8ac17cf73ac"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"sha256": "09b0a8ed6c3c7d1e94f5f703a2d5834ca26fc166cfc8f4f9b4511ab70ec16ac9"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"sha256": "92bbf8a891c7ef78df48430901219d8d07073cba74112a307a6d8bdec509e8dd"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/archive-map.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/archive-map.json",
|
||||
"sha256": "44be75acb94d8125efb9416dea91059aeeb79625d23c7959bdc099a95c26a9ca"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/original-manifest.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/original-manifest.json",
|
||||
"sha256": "7ac1d698cab2dfbde6bc0a84bcadd2c3229d24f4a4a59125fe72b2856fa82e07"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"sha256": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"sha256": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"sha256": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"sha256": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"sha256": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"sha256": "763f30c1433d1ca872b029519ec46ad1b97c47d60b7ea0eea0275a2c6b647dc3"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"sha256": "741b490bdb315896f05f2e91404c02765517dc1beea81fa590017fccafd299b4"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"sha256": "040144321c69622c223a8437832a3c5a4a9595fc37774fde5ff0ad676828ebf0"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"sha256": "9b458e2b4d418525987b6cb1b9a160c4b1a2c621625c1b5c571ea5c77e9d4361"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"sha256": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"sha256": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"sha256": "aa86921fe37fcff382676490f937af2e62bd6472a6b4700c862aaf3ce4ab8225"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"sha256": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"sha256": "3c76c6a8f95dcb55183583a937a4428b745a5c918643de8f2a2bc11dee846d98"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"sha256": "f586a511c1921490185bab95334f27de6d3cca20b348df20d18bcb9257d7ae35"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"sha256": "48b0f0baf4efc239111411ad7d1c291f8eceaa0ddf1414dac73d49ccdb3bbe70"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"sha256": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"sha256": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"sha256": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"sha256": "8154c90745d860b2984e4616f0bb1c35889b07b7ff8b841e7430db7592a15b7a"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"sha256": "196e2cef9ba38f075b458f164f05b5df594d188ee84b210744ef94c31f753294"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"sha256": "15b3fc9c708593adb52d9eb240c1a6b55d5ac43b1637b8047499f15e525e368f"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"sha256": "0614e2118927180d18f4a3fa833990a38e27340234a952abdb1d2ca93e7602a4"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"sha256": "ce88aca5e2d6cd5ab7533898bc9b246bd159482c4acccb0afe4c451ee88f57fa"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"sha256": "a992d799bc07e8fbf05b894a5b184b11092f0041ee68187e59a23c5395b263e9"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"sha256": "0188799d352e4d49d5ca29d6e197742d02e96a4b0b399df1f478e41b25292eb5"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"sha256": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"sha256": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"sha256": "4a529f57b886260f8d1b109e06e487a936fa1eb5eeb79dbbd9e4e7a05f9ae2e9"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"sha256": "112e0aa642a7f48edf8073eee180b62d5ab6000aa4a6197ea6ffc10d7087beb0"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/probe_initial_dispatch.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/probe_initial_dispatch.py",
|
||||
"sha256": "609250d2d15e31128d0331354babbaed6c27ea165cdfcbe893d14e932237dd1a"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/published-evidence-manifest.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/published-evidence-manifest.json",
|
||||
"sha256": "6ba2c341b496ab7f79f9c5fd33a92831c2f8db25d018a4b4e67d41e0af9c5bc9"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/intakes/RPF-IN-0009-infd-zlib-native-release-review.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/intakes/RPF-IN-0009-infd-zlib-native-release-review.md",
|
||||
"sha256": "a187eae16bd6eb8b05fdbffc860a7e87b62e726379fde92915de15d6d8bd4290"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/probe_refined_boundaries.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/probe_refined_boundaries.py",
|
||||
"sha256": "5ab431b060c2417df920c6268a9f39181b0164fc887b5dc3359c4c1d70270ebd"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/refined-changes-requested-review.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/refined-changes-requested-review.json",
|
||||
"sha256": "354db3948f878ad14f790b02658739d0b620acfdebe0bcfd492667846e457fdf"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/mapping.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/mapping.json",
|
||||
"sha256": "4f6633dbbfd522465da60156b811a1dc29ebad645752d4b1fd72b5f49afaefae"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/original-manifest.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/original-manifest.json",
|
||||
"sha256": "f170b34d8846919b18520264e7ba96e2ac11a3bce7899bc5710fcb0d22f4af29"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"sha256": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"sha256": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"sha256": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"sha256": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"sha256": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"sha256": "c570bade38479af93f08f717fcebb328a0db38e5b58bd0e7983681bc5ae41b7a"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"sha256": "eb58dee98934fef0fd916c7807eea1d600d71ee35cda9b9fbbc5564e42560461"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"sha256": "9441650c58e156a485810290ec86028b1a21655960e8196cc60d710f51b51788"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"sha256": "fd38385e3687ec6f9886d5025b394463c252b8198b0426c56f95740139eb7e9b"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"sha256": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"sha256": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"sha256": "a1d29ea6822be12817b2d60109cec44b061d167f147b10f9aa352529e1a4c475"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"sha256": "2ba25f7d3efbb1095e0a0dd7bbb577f76af05c425cb928f9a1c7bc52ea9f532b"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-contract.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-contract.json",
|
||||
"sha256": "b13806a7e1464454e3817e1e62b56b0fa07fe2fddbd94d7fdc530e2c3dd9e3d2"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"sha256": "92bbf8a891c7ef78df48430901219d8d07073cba74112a307a6d8bdec509e8dd"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-report-fixture.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-report-fixture.json",
|
||||
"sha256": "30607043a4ca44e42024b63659ae10993c14c7a04e7c5685255ccafe4d3fb55c"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"sha256": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"sha256": "6f173d6b257e9f0e4f360390e5846380eba7ecd5cadfd55c22b998bd7e7de844"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"sha256": "508f9bf9f11a35b8fc494e1d66e8f11aa0338df4aa9d7115a80e2dabdae81b55"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"sha256": "ec470183fd6a6a315ec0e35d5841eb1e26cf04d58c5b3fdc13b6f34b1621f62d"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"sha256": "3c903dd82c13273cb61f590b258b059c32e0fd515d7c176ce4fec3e68a77bc7b"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight-full.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight-full.json",
|
||||
"sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"sha256": "3b6b67a0b4d51ef791e775b528b64aa5a6f14eff629737e67baee7e2f6f60762"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"sha256": "ce88aca5e2d6cd5ab7533898bc9b246bd159482c4acccb0afe4c451ee88f57fa"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/preparation-failure-history.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/preparation-failure-history.json",
|
||||
"sha256": "51b9983d2a806240f562dcb951955fc8360c181e6d08a8dfdcba95361c6dd596"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"sha256": "29de1dbddce09008a50516ec43b100bc2a1e08ace86a748a259fe5695e937453"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight-full.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight-full.json",
|
||||
"sha256": "0188799d352e4d49d5ca29d6e197742d02e96a4b0b399df1f478e41b25292eb5"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"sha256": "4c3c3166205808e81326ccdae1b56afef757b0ceb4e6c96a17bf384317aeee4a"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"sha256": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"sha256": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"sha256": "ecddcb00127774a17d5cf553417c60d1b6fb753b6eb91a49dabb7fc52678595e"
|
||||
},
|
||||
{
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"sha256": "112e0aa642a7f48edf8073eee180b62d5ab6000aa4a6197ea6ffc10d7087beb0"
|
||||
},
|
||||
{
|
||||
"path": "intakes/RPF-IN-0009-infd-zlib-native-release-review.md",
|
||||
"archived_path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/intakes/RPF-IN-0009-infd-zlib-native-release-review.md",
|
||||
"sha256": "d162fda35ac46502f14cea91d7d614ce5041e15eae0d4705ede4bf9efc18b36a"
|
||||
}
|
||||
]
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
{
|
||||
"review_id": "RPF-REVIEW-20261011-INFD-ZLIB-NATIVE-R1",
|
||||
"work_record": "RPF-IN-0009",
|
||||
"role": "railiance-platform technical owner only",
|
||||
"status": "changes-requested-review-stopped-on-refreeze",
|
||||
"requested_release_manifest_sha256": "1e4b5a308294d588c7bf75e5d27eb475a1ed2f75ec8c598f4db285cf01547fb2",
|
||||
"requested_release_paths": 67,
|
||||
"observed_preserved_manifest_sha256": "81adb9e1749d6bd9f19755a2bbd7b501589ea782445537bbbfe925e1d9f8fa47",
|
||||
"observed_preserved_paths": 68,
|
||||
"original67_snapshot_not_retained_by_this_reviewer": true,
|
||||
"publication_manifest_sha256": "6ba2c341b496ab7f79f9c5fd33a92831c2f8db25d018a4b4e67d41e0af9c5bc9",
|
||||
"published29_and_observed68_hashes_match": true,
|
||||
"findings": [
|
||||
{
|
||||
"id": "dispatch-operation-intent",
|
||||
"cause": "main calls remote with operation_intent keyword, while signature accepts only phase/revision/approved.",
|
||||
"effect": "First remote phase TypeError after persisted RUNNING; no native dispatch.",
|
||||
"required": "Typed payload argument plumbing plus full main/CLI mocked transport regression, not direct native_program fixture only."
|
||||
},
|
||||
{
|
||||
"id": "copy-backup-identity",
|
||||
"cause": "remote payload omits snapshot_identity; native copy branch requires exact prior backup receipt.",
|
||||
"effect": "drill-copy and cutover-copy refuse before protected transfer.",
|
||||
"required": "Pass validated exact completed prior backup result into both pre/post metadata requests; linked phase proof regression."
|
||||
},
|
||||
{
|
||||
"id": "fresh-scan-artifact-and-coverage",
|
||||
"cause": "fresh_scan accepts incomplete Results=[{}] without artifact type/config/diffID/source/inventory identity.",
|
||||
"effect": "Zero claim can reference unrelated/incomplete report despite receipt label. Existing age/DBNextUpdate checks are sound but insufficient.",
|
||||
"required": "Bind full report to verified immutable f558 artifact exact source/config/diffIDs and full44 inventory with38OS/6Python coverage; wrong/empty/truncated artifact reports refuse release and closure."
|
||||
},
|
||||
{
|
||||
"id": "concurrent-source-freeze",
|
||||
"cause": "Requested frozen67 became68 before archival checkpoint.",
|
||||
"effect": "No exact67 completion agreement possible.",
|
||||
"required": "New separately immutable refined stage and exact independent review; preserve observed history and do not relabel initial revision accepted."
|
||||
}
|
||||
],
|
||||
"independent_synthetic_probes": {
|
||||
"operation_keyword_rejected_before_transport": true,
|
||||
"copy_payload_missing_snapshot_identity": true,
|
||||
"payload_missing_operation_intent": true,
|
||||
"incomplete_unbound_zero_report_accepted": true
|
||||
},
|
||||
"history": "Full observed68 bytes+manifest/map archived; prior approved purpose helpers/journals untouched. New completed IN9 staged before entry; no IN8 scope stretch/Product ADHOC creation.",
|
||||
"scope_limits": {
|
||||
"technical_agreement": false,
|
||||
"native_actions": false,
|
||||
"private_database_access": false,
|
||||
"credentials_read": false,
|
||||
"owner_source_write": false,
|
||||
"push": false,
|
||||
"native_founder_approval": false,
|
||||
"T05_complete": false
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,362 @@
|
|||
"""One fixed supervised phase; never run this during source preparation."""
|
||||
import argparse
|
||||
import hashlib
|
||||
import json
|
||||
import os
|
||||
from pathlib import Path
|
||||
import re
|
||||
import selectors
|
||||
import stat
|
||||
import subprocess
|
||||
import sys
|
||||
import time
|
||||
|
||||
if sys.flags.optimize:
|
||||
raise SystemExit('optimized interpreter refused')
|
||||
|
||||
PHASES = ('drill-backup', 'drill-copy', 'offline-verify', 'cleanup-offline',
|
||||
'cutover-backup', 'cutover-copy', 'release', 'verify', 'rollback', 'rollback-verify')
|
||||
|
||||
|
||||
def require(value, reason):
|
||||
if not value:
|
||||
raise ValueError(reason)
|
||||
|
||||
|
||||
def sha(path):
|
||||
digest = hashlib.sha256()
|
||||
with Path(path).open('rb') as stream:
|
||||
for block in iter(lambda: stream.read(1024**2), b''):
|
||||
digest.update(block)
|
||||
return digest.hexdigest()
|
||||
|
||||
|
||||
def private(path, directory=False):
|
||||
info = Path(path).lstat()
|
||||
require((stat.S_ISDIR(info.st_mode) if directory else stat.S_ISREG(info.st_mode))
|
||||
and info.st_uid == os.getuid() and stat.S_IMODE(info.st_mode) == (0o700 if directory else 0o600)
|
||||
and (directory or info.st_nlink == 1), 'private owned custody required')
|
||||
|
||||
ROOT = Path(__file__).resolve().parent
|
||||
CASE = ROOT.parent
|
||||
OWNER = Path('/home/worsch/informed-decision')
|
||||
CUSTODIAN = Path('/home/worsch/the-custodian')
|
||||
CUSTODY = CUSTODIAN / '.private-backups/20261011-infd-zlib-r1'
|
||||
SOCKET = 'unix:///var/run/docker.sock'
|
||||
IMAGE = 'forgejo.coulomb.social/coulomb/informed-decision@sha256:f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23'
|
||||
VOLUME = 'infd-zlib-r1-restore-20261011'
|
||||
MAX_BYTES = 512 * 1024**2
|
||||
|
||||
|
||||
def run(argv, body=None, timeout=90):
|
||||
return subprocess.run(argv, input=body, text=True, capture_output=True, timeout=timeout)
|
||||
|
||||
|
||||
def json_result(result):
|
||||
try:
|
||||
value = json.loads(result.stdout)
|
||||
except (ValueError, TypeError):
|
||||
raise ValueError('safe phase receipt unavailable; outcome uncertain') from None
|
||||
require(result.returncode == 0 and isinstance(value, dict) and value.get('all_checks_pass') is True,
|
||||
'phase did not verify complete; raw output withheld; no retry')
|
||||
permitted = {'phase', 'all_checks_pass', 'raw_output_withheld', 'native_approval_verified_by_root',
|
||||
'native_authenticated_grant', 'source_readonly_baseline', 'snapshot_readonly',
|
||||
'snapshot_sha256', 'snapshot_bytes', 'snapshot_file', 'native_parent_private',
|
||||
'native_uid', 'pod_name', 'pod_uid', 'live_readonly_schema_integrity_counts',
|
||||
'live_counts_may_include_concurrent_commits', 'operation_requested', 'source_revision',
|
||||
'resources', 'prune', 'rollout_verified', 'latest_live_database_retained',
|
||||
'client_diff_sha256', 'native_rollout_verified', 'current_schema5_database_retained',
|
||||
'private_copy_verified', 'installed_purpose_checks', 'policy_sha256',
|
||||
'policy_mode', 'policy_uid', 'installed_zlib_files', 'zlib_package', 'health_statuses', 'native_provider_probe', 'recovery_verification'}
|
||||
require(set(value) <= permitted, 'unexpected output fields withheld')
|
||||
from receipt_safety import counts
|
||||
for name in ('source_readonly_baseline', 'snapshot_readonly', 'live_readonly_schema_integrity_counts'):
|
||||
if name in value:
|
||||
counts(value[name])
|
||||
for name in ('snapshot_sha256', 'client_diff_sha256'):
|
||||
if name in value:
|
||||
require(re.fullmatch(r'[a-f0-9]{64}', value[name]) is not None, 'invalid output digest withheld')
|
||||
if 'snapshot_bytes' in value:
|
||||
require(type(value['snapshot_bytes']) is int and 0 < value['snapshot_bytes'] <= MAX_BYTES,
|
||||
'invalid output size withheld')
|
||||
if 'snapshot_file' in value:
|
||||
require(value['snapshot_file'] in ('drill.sqlite', 'cutover.sqlite'), 'invalid output file withheld')
|
||||
return value
|
||||
|
||||
|
||||
def docker(argv, body=None, timeout=120):
|
||||
return run(['docker', '--config', str(CUSTODY / 'empty-docker-config'), '--host', SOCKET] + argv,
|
||||
body=body, timeout=timeout)
|
||||
|
||||
|
||||
def remote(phase, revision, approved, snapshot_identity=None, operation_intent=None):
|
||||
# Fixed module imported only after main verifies every executor source hash.
|
||||
from native_program import PROGRAM
|
||||
payload = {'snapshot_identity': snapshot_identity, 'operation_intent': operation_intent, 'phase': phase, 'source_revision': revision, 'approval': approved,
|
||||
'sealed': json.loads((CASE / 'sealed-live-deployment.json').read_text()),
|
||||
'dependencies': json.loads((CASE / 'sealed-native-dependencies.json').read_text()),
|
||||
'candidate': json.loads((CASE / 'candidate-deployment.json').read_text()),
|
||||
'rollback': json.loads((CASE / 'rollback-deployment.json').read_text()),
|
||||
'receipt_safety': (ROOT / 'receipt_safety.py').read_text(),
|
||||
'purpose_checks': (CASE / 'check_installed.py').read_text(),
|
||||
'installed_zlib': json.loads((CASE / 'installed-zlib-proof.json').read_text()), 'readonly': (CASE / 'sqlite_readonly.py').read_text()}
|
||||
script = PROGRAM.replace('__PAYLOAD__', repr(json.dumps(payload))).replace(
|
||||
'__GUARD__', repr((CASE / 'change_guard.py').read_text()))
|
||||
return json_result(run(['ssh', 'railiance01', 'python3 -'], script, timeout=200))
|
||||
|
||||
|
||||
def copy_snapshot(phase, revision, approved, journal):
|
||||
backup_phase = 'drill-backup' if phase == 'drill-copy' else 'cutover-backup'
|
||||
prior = journal.data['phases'][backup_phase]['result']
|
||||
metadata = remote(phase, revision, approved, snapshot_identity=prior)
|
||||
for key in ('snapshot_sha256', 'snapshot_bytes', 'snapshot_file', 'snapshot_readonly'):
|
||||
require(metadata[key] == prior[key], 'closed frozen snapshot changed')
|
||||
name = metadata['snapshot_file']
|
||||
require(name in ('drill.sqlite', 'cutover.sqlite') and 0 < metadata['snapshot_bytes'] <= MAX_BYTES,
|
||||
'fixed bounded snapshot required')
|
||||
pod = metadata['pod_name']
|
||||
require(re.fullmatch(r'[a-z0-9]([-a-z0-9]*[a-z0-9])?', pod) is not None, 'fixed owner pod name required')
|
||||
local = CUSTODY / name
|
||||
fd = os.open(local, os.O_WRONLY | os.O_CREAT | os.O_EXCL | os.O_NOFOLLOW, 0o600)
|
||||
# Binary snapshot stdout goes only to a private file, never tool/chat/log output.
|
||||
# Snapshot schema/count metadata was validated before opening this destination.
|
||||
with os.fdopen(fd, 'wb') as destination:
|
||||
command = ('kubectl exec -n informed-decision ' + pod +
|
||||
' -c informed-decision -- cat /data/private/zlib85091-r1/' + name)
|
||||
transfer = subprocess.Popen(['ssh', 'railiance01', command], stdout=subprocess.PIPE,
|
||||
stderr=subprocess.DEVNULL)
|
||||
selector = selectors.DefaultSelector()
|
||||
selector.register(transfer.stdout, selectors.EVENT_READ)
|
||||
deadline = time.monotonic() + 150
|
||||
received = 0
|
||||
try:
|
||||
while True:
|
||||
remaining = deadline - time.monotonic()
|
||||
require(remaining > 0 and selector.select(remaining), 'private transfer timed out')
|
||||
block = os.read(transfer.stdout.fileno(), 1024**2)
|
||||
if not block:
|
||||
break
|
||||
received += len(block)
|
||||
require(received <= metadata['snapshot_bytes'] and received <= MAX_BYTES,
|
||||
'private copy exceeds frozen snapshot size')
|
||||
destination.write(block)
|
||||
transfer.wait(timeout=max(1, deadline - time.monotonic()))
|
||||
finally:
|
||||
selector.close()
|
||||
transfer.stdout.close()
|
||||
if transfer.poll() is None:
|
||||
transfer.kill()
|
||||
transfer.wait()
|
||||
destination.flush()
|
||||
os.fsync(destination.fileno())
|
||||
private(local)
|
||||
require(transfer.returncode == 0 and local.stat().st_size == metadata['snapshot_bytes']
|
||||
and sha(local) == metadata['snapshot_sha256'], 'private copy incomplete/uncertain; retain, no retry')
|
||||
# Re-read identity/hash after transfer. This is verification, not a write retry.
|
||||
after = remote(phase, revision, approved, snapshot_identity=prior)
|
||||
require(after['pod_uid'] == metadata['pod_uid'] and after['snapshot_sha256'] == metadata['snapshot_sha256'],
|
||||
'source identity/snapshot changed during transfer')
|
||||
return {**metadata, 'off_cluster_private_copy_verified': True, 'snapshot_contents_output': False}
|
||||
|
||||
|
||||
def offline_verify(journal):
|
||||
from receipt_safety import counts
|
||||
snapshot = CUSTODY / 'drill.sqlite'
|
||||
private(snapshot)
|
||||
previous = journal.data['phases']['drill-copy']['result']
|
||||
require(sha(snapshot) == previous['snapshot_sha256'], 'protected snapshot bytes changed')
|
||||
identity = docker(['info', '--format', '{{json .Name}}'])
|
||||
require(identity.returncode == 0 and json.loads(identity.stdout) == 'bnt-lap001',
|
||||
'local offline Docker engine identity changed')
|
||||
listed = docker(['volume', 'ls', '--format', '{{.Name}}'])
|
||||
require(listed.returncode == 0 and VOLUME not in listed.stdout.splitlines(),
|
||||
'disposable volume absence not verified')
|
||||
nonce = journal.data['phases']['offline-verify']['attempt_id']
|
||||
labels = {'informed-decision.case': 'infd-zlib-20261011-r1',
|
||||
'informed-decision.use': 'offline-restore-only', 'informed-decision.attempt': nonce}
|
||||
created = docker(['volume', 'create', '--driver', 'local', '--label', 'informed-decision.case=infd-zlib-20261011-r1',
|
||||
'--label', 'informed-decision.attempt=' + nonce,
|
||||
'--label', 'informed-decision.use=offline-restore-only', VOLUME])
|
||||
require(created.returncode == 0 and created.stdout.strip() == VOLUME, 'volume creation uncertain; no retry')
|
||||
inspected = docker(['volume', 'inspect', VOLUME])
|
||||
require(inspected.returncode == 0, 'new volume identity unavailable')
|
||||
volume = json.loads(inspected.stdout)
|
||||
require(len(volume) == 1 and volume[0]['Name'] == VOLUME and volume[0].get('Labels') == labels
|
||||
and volume[0].get('Driver') == 'local' and not volume[0].get('Options')
|
||||
and volume[0].get('Scope') == 'local', 'new isolated volume identity changed')
|
||||
identity = {key: volume[0][key] for key in ('Name', 'Labels', 'Driver', 'Scope', 'CreatedAt')}
|
||||
journal.note('offline-verify', 'created_volume_identity', identity)
|
||||
# One-time UID0/CAP_CHOWN initialization is isolated to the NEW named volume.
|
||||
# No host/live PVC/config/token mount exists; this detail needs packet review.
|
||||
initializer = """import hashlib,os,stat,sys
|
||||
if sys.flags.optimize:raise RuntimeError('optimized interpreter refused')
|
||||
folder='/restore';expected=EXPECTED
|
||||
if os.listdir(folder):raise ValueError('new empty private volume required')
|
||||
os.chmod(folder,0o700)
|
||||
fd=os.open(folder+'/review.sqlite',os.O_CREAT|os.O_EXCL|os.O_NOFOLLOW|os.O_WRONLY,0o600)
|
||||
digest=hashlib.sha256();size=0
|
||||
with os.fdopen(fd,'wb') as target:
|
||||
while True:
|
||||
block=sys.stdin.buffer.read(1024**2)
|
||||
if not block:break
|
||||
size+=len(block)
|
||||
if size>512*1024**2:raise ValueError('private restore size exceeds bound')
|
||||
target.write(block);digest.update(block)
|
||||
target.flush();os.fsync(target.fileno())
|
||||
if digest.hexdigest()!=expected:raise ValueError('private copied snapshot differs')
|
||||
os.chown(folder+'/review.sqlite',10001,10001);os.chown(folder,10001,10001)
|
||||
print('{"all_checks_pass":true,"private_copy_verified":true}')
|
||||
""".replace('EXPECTED', repr(previous['snapshot_sha256']))
|
||||
with snapshot.open('rb') as source:
|
||||
argv = ['docker', '--config', str(CUSTODY / 'empty-docker-config'), '--host', SOCKET,
|
||||
'run', '--rm', '-i', '--network', 'none', '--read-only', '--cpus', '1', '--memory', '128m',
|
||||
'--user', '0:0', '--cap-drop', 'ALL', '--cap-add', 'CHOWN',
|
||||
'--security-opt', 'no-new-privileges', '--mount', 'type=volume,src=' + VOLUME + ',dst=/restore',
|
||||
'--entrypoint', 'python', IMAGE, '-c', initializer]
|
||||
copied = subprocess.run(argv, stdin=source, text=True, capture_output=True, timeout=150)
|
||||
json_result(copied)
|
||||
options = ['run', '--rm', '-i', '--network', 'none', '--read-only', '--cpus', '1', '--memory', '128m',
|
||||
'--user', '10001:10001', '--cap-drop', 'ALL', '--security-opt', 'no-new-privileges',
|
||||
'--mount', 'type=volume,src=' + VOLUME + ',dst=/restore']
|
||||
readonly = docker(options + ['--entrypoint', 'python', IMAGE, '-', '--db', '/restore/review.sqlite'],
|
||||
(CASE / 'sqlite_readonly.py').read_text())
|
||||
require(readonly.returncode == 0, 'offline pre-open schema/integrity gate refused; never open Store')
|
||||
checked = counts(json.loads(readonly.stdout))
|
||||
require(checked == previous['snapshot_readonly'], 'frozen snapshot/clone readonly counts differ')
|
||||
admin = docker(options + ['--entrypoint', 'informed-decision-admin', IMAGE,
|
||||
'inspect', '--db', '/restore/review.sqlite'])
|
||||
require(admin.returncode == 0, 'offline admin result uncertain')
|
||||
admin_counts = json.loads(admin.stdout)
|
||||
require(admin_counts == {key: checked[key] for key in ('schema_version', 'lifecycle', 'outbox', 'submissions')},
|
||||
'offline admin changed frozen snapshot counters')
|
||||
# Admin Store construction must not silently alter schema/integrity/counters.
|
||||
post = docker(options + ['--entrypoint', 'python', IMAGE, '-', '--db', '/restore/review.sqlite'],
|
||||
(CASE / 'sqlite_readonly.py').read_text())
|
||||
require(post.returncode == 0, 'offline post-admin readonly integrity gate refused')
|
||||
post_checked = counts(json.loads(post.stdout))
|
||||
require(post_checked == checked == previous['snapshot_readonly'],
|
||||
'offline admin altered frozen snapshot proof')
|
||||
private(snapshot)
|
||||
require(sha(snapshot) == previous['snapshot_sha256'], 'original protected snapshot changed during drill')
|
||||
return {'all_checks_pass': True, 'offline_volume': VOLUME, 'offline_readonly': checked,
|
||||
'offline_post_admin_readonly': post_checked, 'original_snapshot_hash_unchanged': True,
|
||||
'created_volume_identity': identity,
|
||||
'admin_counts': admin_counts, 'network': 'none', 'runtime_tokens_or_config_mounted': False,
|
||||
'service_entrypoint_started': False, 'original_snapshot_retained': True}
|
||||
|
||||
|
||||
def cleanup_offline(journal):
|
||||
inspected = docker(['volume', 'inspect', VOLUME])
|
||||
require(inspected.returncode == 0, 'owned disposable volume identity unverified')
|
||||
value = json.loads(inspected.stdout)
|
||||
expected = journal.data['phases']['offline-verify']['result']['created_volume_identity']
|
||||
require(len(value) == 1 and {key: value[0].get(key) for key in expected} == expected
|
||||
and not value[0].get('Options'), 'volume ownership/recreation changed')
|
||||
removed = docker(['volume', 'rm', VOLUME])
|
||||
require(removed.returncode == 0 and removed.stdout.strip() == VOLUME
|
||||
and docker(['volume', 'inspect', VOLUME]).returncode != 0,
|
||||
'cleanup outcome ambiguous; do not retry')
|
||||
return {'all_checks_pass': True, 'only_disposable_offline_volume_removed': VOLUME,
|
||||
'native_and_offcluster_original_snapshots_retained': True}
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description=__doc__)
|
||||
parser.add_argument('--phase', choices=PHASES, required=True)
|
||||
parser.add_argument('--root-authority-receipt', type=Path, required=True)
|
||||
parser.add_argument('--root-native-outcome', type=Path, required=True)
|
||||
parser.add_argument('--source-revision', required=True)
|
||||
parser.add_argument('--root-fresh-scan-receipt', type=Path, required=True)
|
||||
args = parser.parse_args()
|
||||
require(args.root_authority_receipt == Path('/tmp/security-infd-zlib-root-authority.json')
|
||||
and args.root_native_outcome == Path('/tmp/security-infd-zlib-native-outcome-latest.json'),
|
||||
'fixed supervised receipt paths required')
|
||||
require(re.fullmatch(r'[0-9a-f]{40}', args.source_revision) is not None, 'exact source commit required')
|
||||
# Verify all prepared executor/input bytes before reading authority or dispatching.
|
||||
plan = json.loads((ROOT / 'execution-plan.json').read_text())
|
||||
require(plan.get('state') == 'prepared-unapproved' and plan.get('published_artifact_verified') is True, 'unfrozen proposal cannot execute')
|
||||
require(set(plan['executor_files']) == {'actuator.py', 'authority_journal.py', 'native_program.py', 'receipt_safety.py'},
|
||||
'fixed executor sources required')
|
||||
require(set(plan['owner_source_files']) == {'deploy/lifecycle/admission.candidate.json',
|
||||
'deploy/lifecycle/service.candidate.json',
|
||||
'deploy/lifecycle/kustomization.yaml',
|
||||
'deploy/lifecycle/registries.candidate.json'},
|
||||
'fixed owner image sources required')
|
||||
for relative, digest in plan['executor_files'].items():
|
||||
target = ROOT / relative
|
||||
require(not target.is_symlink() and sha(target) == digest, 'executor source bytes changed')
|
||||
for relative, digest in plan['case_files'].items():
|
||||
require(not Path(relative).is_absolute() and '..' not in Path(relative).parts,
|
||||
'case source path escaped')
|
||||
target = CASE / relative
|
||||
require(not target.is_symlink() and sha(target) == digest, 'case source bytes changed')
|
||||
for relative, digest in plan['owner_source_files'].items():
|
||||
target = OWNER / relative
|
||||
require(not target.is_symlink() and sha(target) == digest, 'owner image-only source changed')
|
||||
committed = subprocess.run(['git', '-C', str(OWNER), 'show', args.source_revision + ':' + relative],
|
||||
capture_output=True)
|
||||
require(committed.returncode == 0 and hashlib.sha256(committed.stdout).hexdigest() == digest,
|
||||
'committed owner render source differs from approved inputs')
|
||||
head = run(['git', '-C', str(OWNER), 'rev-parse', 'HEAD'])
|
||||
require(head.returncode == 0 and head.stdout.strip() == args.source_revision, 'owner source HEAD differs')
|
||||
from authority_journal import Journal, authority, fresh_scan
|
||||
private(args.root_authority_receipt)
|
||||
private(args.root_native_outcome)
|
||||
receipt = json.loads(args.root_authority_receipt.read_text())
|
||||
require(receipt.get('native_outcome_sha256') == sha(args.root_native_outcome), 'native outcome bytes changed')
|
||||
require(receipt.get('executor_plan_sha256') == sha(ROOT / 'execution-plan.json'),
|
||||
'root verified executor plan differs')
|
||||
approved = authority(receipt, json.loads(args.root_native_outcome.read_text()), sha(CASE / 'memo.json'),
|
||||
args.source_revision, args.phase)
|
||||
if args.phase in ('release', 'verify'):
|
||||
require(args.root_fresh_scan_receipt == Path('/tmp/security-infd-zlib-fresh-scan-receipt.json'), 'fixed fresh scan receipt path required')
|
||||
private(args.root_fresh_scan_receipt)
|
||||
scan_receipt=json.loads(args.root_fresh_scan_receipt.read_text())
|
||||
report_path=Path('/tmp/security-infd-zlib-fresh-scan-full.json');private(report_path)
|
||||
require(sha(report_path)==scan_receipt.get('full_report_sha256'), 'fresh scan report bytes changed')
|
||||
fresh_scan(scan_receipt,json.loads(report_path.read_text()),json.loads((CASE/'fresh-scan-contract.json').read_text()))
|
||||
parent = CUSTODY.parent
|
||||
private(parent, directory=True)
|
||||
ignored = run(['git', '-C', str(CUSTODIAN), 'check-ignore', '--no-index', str(CUSTODY / 'drill.sqlite')])
|
||||
require(ignored.returncode == 0, 'offcluster custody is not ignored')
|
||||
if not CUSTODY.exists():
|
||||
require(args.phase == 'drill-backup', 'first approved phase must create unique private custody')
|
||||
os.mkdir(CUSTODY, 0o700)
|
||||
private(CUSTODY, directory=True)
|
||||
capacity = os.statvfs(CUSTODY)
|
||||
require(capacity.f_bavail * capacity.f_frsize >= 2 * MAX_BYTES + 16 * 1024**2,
|
||||
'independent protected custody headroom insufficient')
|
||||
os.makedirs(CUSTODY / 'empty-docker-config', mode=0o700, exist_ok=True)
|
||||
private(CUSTODY / 'empty-docker-config', directory=True)
|
||||
require(not list((CUSTODY / 'empty-docker-config').iterdir()), 'public Docker read config must stay empty')
|
||||
journal = Journal(CUSTODY, {'proposal': plan['proposal_id'], 'source_revision': args.source_revision,
|
||||
'memo_sha256': sha(CASE / 'memo.json'), 'plan_sha256': sha(ROOT / 'execution-plan.json')})
|
||||
try:
|
||||
journal.start(args.phase, approved) # fsynced RUNNING before any phase effect.
|
||||
if args.phase in ('drill-copy', 'cutover-copy'):
|
||||
result = copy_snapshot(args.phase, args.source_revision, approved, journal)
|
||||
elif args.phase == 'offline-verify':
|
||||
result = offline_verify(journal)
|
||||
elif args.phase == 'cleanup-offline':
|
||||
result = cleanup_offline(journal)
|
||||
else:
|
||||
result = remote(args.phase, args.source_revision, approved, operation_intent=journal.data['phases'].get('rollback' if args.phase == 'rollback-verify' else 'release') if args.phase in ('verify', 'rollback-verify') else None)
|
||||
journal.finish(args.phase, result)
|
||||
print(json.dumps(result)) # Only count/hash/identity receipts, never snapshot bytes.
|
||||
except BaseException as error:
|
||||
safe = {'all_checks_pass': False, 'phase': args.phase, 'failure_class': type(error).__name__,
|
||||
'failure': 'fixed phase outcome uncertain; original evidence retained; no retry',
|
||||
'raw_output_withheld': True}
|
||||
if journal.data['phases'].get(args.phase, {}).get('state') == 'RUNNING':
|
||||
journal.finish(args.phase, safe)
|
||||
print(json.dumps(safe))
|
||||
raise SystemExit(1) from None
|
||||
finally:
|
||||
journal.close()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
main()
|
||||
except Exception:
|
||||
raise SystemExit('supervised execution refused before phase; raw output withheld') from None
|
||||
|
|
@ -0,0 +1,106 @@
|
|||
{
|
||||
"id": "infd-20261011-zlib-remediation-r1",
|
||||
"version": 1,
|
||||
"question": "Approve the exact zlib85091 fixed image-only release, new protected backup/restore compatibility drill and database-preserving rollback?",
|
||||
"requested_act": "approve",
|
||||
"binding_level": "organizational",
|
||||
"brief": "Published owner CI image f558 has zero full-scan findings across44packages; only zlib1.3.2-r0 to r1 changes. Fresh schema5 private backup/isolated clone drill and cutover snapshot precede one Deployment manual prune=false Recreate sync. Separate founder go required; old T04 acceptance/history unchanged. Rollback image763c/Applicationc96 retains latestDB. Release reserves30minutes before Oct12 deadline.",
|
||||
"binding": {
|
||||
"principal": {
|
||||
"id": "pending-human-session",
|
||||
"kind": "person",
|
||||
"display_name": "Founder review"
|
||||
},
|
||||
"target": {
|
||||
"kind": "environment",
|
||||
"id": "realm:kubernetes/railiance01/informed-decision",
|
||||
"label": "Informed Decision zlib85091 image-only remediation on railiance01",
|
||||
"environment": "production"
|
||||
},
|
||||
"terms": "Approve only INFD-WP-0009-T05/zlib85091-r1 trialinfd-zlib-20261011-r1 and exact attached digests: new private drillbackup/copy, isolatedschema5pre/admin/postintegrityandcounts, exactcreatedclonecleanup, freshcutoverbackup/copy, manualfinalsourceDeployment-onlyimagef558/prune=false. ImmutableCM/PVC/config/credentials/audience/resources sealed. Freshrootnativeauthenticated confirmed founderACCEPTsource1 beforeeveryphase; receiptsarebookkeeping/noautonomousgrant. Rollbackonlyimage763c/Applicationc96 preserveslatestDB, separateverification. AllphasesbeginbeforeOct12 23:59:59Z; releasereserves30minutes; newdecisionbeyond. ExistingT04UNCERTAINEvidenceunaltered, nooldhelperamendment/phase retry, noresidualpromotion ordoctrinechange."
|
||||
},
|
||||
"step_kind": "approve",
|
||||
"packet": [
|
||||
{
|
||||
"item_id": "decision-packet-md",
|
||||
"label": "decision-packet.md",
|
||||
"hash": "sha256:c570bade38479af93f08f717fcebb328a0db38e5b58bd0e7983681bc5ae41b7a"
|
||||
},
|
||||
{
|
||||
"item_id": "proposal-json",
|
||||
"label": "proposal.json",
|
||||
"hash": "sha256:29de1dbddce09008a50516ec43b100bc2a1e08ace86a748a259fe5695e937453"
|
||||
},
|
||||
{
|
||||
"item_id": "native-backup-restore-protocol-md",
|
||||
"label": "native-backup-restore-protocol.md",
|
||||
"hash": "sha256:3c903dd82c13273cb61f590b258b059c32e0fd515d7c176ce4fec3e68a77bc7b"
|
||||
},
|
||||
{
|
||||
"item_id": "native-preflight-json",
|
||||
"label": "native-preflight.json",
|
||||
"hash": "sha256:3b6b67a0b4d51ef791e775b528b64aa5a6f14eff629737e67baee7e2f6f60762"
|
||||
},
|
||||
{
|
||||
"item_id": "rollback-preflight-json",
|
||||
"label": "rollback-preflight.json",
|
||||
"hash": "sha256:4c3c3166205808e81326ccdae1b56afef757b0ceb4e6c96a17bf384317aeee4a"
|
||||
},
|
||||
{
|
||||
"item_id": "published-verification-json",
|
||||
"label": "published-verification.json",
|
||||
"hash": "sha256:dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"item_id": "artifact-comparison-json",
|
||||
"label": "artifact-comparison.json",
|
||||
"hash": "sha256:a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"item_id": "installed-zlib-proof-json",
|
||||
"label": "installed-zlib-proof.json",
|
||||
"hash": "sha256:6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"item_id": "sealed-live-deployment-json",
|
||||
"label": "sealed-live-deployment.json",
|
||||
"hash": "sha256:f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"item_id": "sealed-native-dependencies-json",
|
||||
"label": "sealed-native-dependencies.json",
|
||||
"hash": "sha256:042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"item_id": "candidate-deployment-json",
|
||||
"label": "candidate-deployment.json",
|
||||
"hash": "sha256:487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"item_id": "rollback-deployment-json",
|
||||
"label": "rollback-deployment.json",
|
||||
"hash": "sha256:f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"item_id": "execution-bundle-json",
|
||||
"label": "execution-bundle.json",
|
||||
"hash": "sha256:2ba25f7d3efbb1095e0a0dd7bbb577f76af05c425cb928f9a1c7bc52ea9f532b"
|
||||
}
|
||||
],
|
||||
"highlights": [
|
||||
{
|
||||
"id": "protected-drill-and-recreate",
|
||||
"item_id": "decision-packet-md",
|
||||
"note": "This new T05 decision authorizes protected real-data backup/copy and no-network same-schema restore drill plus brief Recreate image release. Scan0 is actual published44package result, not installed acceptance. Rollback preserves latestDB; priorfailedT04evidence retained. No oldapprovalreuse. Allphase starts expireOct12; release reserves30minutesforrecovery; noautomaticextension.",
|
||||
"required_ack": true,
|
||||
"severity": "warning",
|
||||
"locator": {
|
||||
"kind": "section",
|
||||
"heading": "Requested decision"
|
||||
}
|
||||
}
|
||||
],
|
||||
"sealed": false,
|
||||
"approval_id": null,
|
||||
"approval_binding_digest": null
|
||||
}
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
{
|
||||
"kind": "source-only-native-authoring-packet",
|
||||
"memo_id": "infd-20261011-zlib-remediation-r1",
|
||||
"source_memo_version": 1,
|
||||
"memo_sha256": "ec470183fd6a6a315ec0e35d5841eb1e26cf04d58c5b3fdc13b6f34b1621f62d",
|
||||
"intake_sha256": "6f173d6b257e9f0e4f360390e5846380eba7ecd5cadfd55c22b998bd7e7de844",
|
||||
"lifecycle_commands_sha256": "508f9bf9f11a35b8fc494e1d66e8f11aa0338df4aa9d7115a80e2dabdae81b55",
|
||||
"register_bytes": 193685,
|
||||
"document_count": 13,
|
||||
"documents_hashes_verified": true,
|
||||
"execution_bundle_lossless_verified": true,
|
||||
"native_submitted": false,
|
||||
"founder_approval": false
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -0,0 +1,21 @@
|
|||
# T05 zlib85091 release — preliminary, unapproved
|
||||
|
||||
This is a distinct proposal/trial for existing INFD-WP-0009-T05. The actual T04 source2 acceptance does not authorize it. Previous R1 copy and R2 verify UNCERTAIN journal states remain untouched. INFD-IN-0010 remains an unpromoted general verifier residual; this new task-specific verifier is a prerequisite of active T05, not an amendment of the old approved helper.
|
||||
|
||||
Exact intended image f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23 was built by admitted owner CI11534/run4 from 9b4bb25d325698ae543e7e8a8a3c3592db1f58fc. Publication is not installed acceptance. Final packet requires independent published-image scan/runtime/filesystem/source proof and fresh read-only native projection/one-object dry-run evidence. Until all final inputs and independent owner acknowledgments are frozen, execution-plan state remains preliminary and the actuator refuses before any authority, journal or native action.
|
||||
|
||||
After a NEW exact confirmed founder acceptance, root freshly authenticates fixed-origin native source-version1 outcomes before each phase. Receipt files are supervised bookkeeping, not signed grants or autonomy. Wrong task, source, memo/version, stale/pending/agent disposition, old T04 acceptance or changed inputs refuse. Root retains exact approved source revision/digests and action results in supervision. Approval does not promote any agent.
|
||||
|
||||
Fixed phase order: drill-backup → drill-copy → offline-verify → cleanup-offline → cutover-backup → cutover-copy → release → verify. New private native /data/private/zlib85091-r1, root .private-backups/20261011-infd-zlib-r1 and local volume infd-zlib-r1-restore-20261011 are distinct from all T04 custody. New private journal intent is fsynced RUNNING before dispatch; no attempted phase replay. Fixed output schema contains only counts, hashes, object identity and boolean results; raw errors and private content are withheld. Existing native snapshots/database/sidecars are never removed or restored over current data.
|
||||
|
||||
Fresh backup inspection uses copied explicit-close SQLite helpers: live and offline clone readers are mode=ro/query_only and WAL-aware, before any Store/admin open. Immutable reader is used only for freshly closed hash-bound private snapshot with absent/zero WAL frames and stable identity/metadata/digest before/after read/copy. Main and sidecars remain retained. Schema must equal5, integrity ok, and exact snapshot/isolated clone counts match before/admin/after. The detached local clone has network none, readonly root, no service/runtime config/credential mounts; only narrowly scoped UID0 CAP_CHOWN initializer precedes UID10001 reads/admin. Original private copy is hash-stable. Cleanup removes only the disposable volume whose nonce/labels/creation metadata match this trial, before cutover.
|
||||
|
||||
Each snapshot is bounded512MiB. At most two new snapshots occupy each native/offcluster custody (1GiB payload each); the disposable offcluster clone adds512MiB while present, plus16MiB sidecar/metadata reserve. New native drill phase checks free space for both; local custody checks two snapshot bounds plus reserve. Existing T04 retention consumes additional pre-existing space. EUR0 recurring infrastructure estimate; human/compute time unpriced.
|
||||
|
||||
Cutover takes a fresh native backup and exact offcluster copy. Release then requires latest schema5 readonly proof, sealed Pod/Deployment/config/PVC custody and same baseline image763c/current Application sourcec96, a healthy single target92.205.62.239 node and fresh requested CPU ≤ allocatable capacity. Recreate and resources remain unchanged. Server dry-run/client diff must show only the image. Application UID/resourceVersion/source CAS dispatches manual exact final revision, initiatedBy custodian-codex, explicit prune=false and only apps/Deployment informed-decision in its namespace. No whole-Application sync, namespace/config/credential/resource change or pruning.
|
||||
|
||||
Verification reads imageID/readiness/owner chain/exact configured Pod fields, schema5/integrity/metadata counts, installed policy hash and synthetic purpose refusals, health200, installed fixed zlib and exact image proof. Real PDP-gated lifecycle readback is a separate root authenticated observation and not replaced by synthetic checks. Argo3.5.3 omits false prune in operation status: missing or exactfalse is accepted only together with this journal's COMPLETE explicitfalse request, exact source/resources/initiation, operation start after our durable attempt, bounded finish and one Synced Deployment result. True/null/string/prior/foreign/extra-resource results refuse.
|
||||
|
||||
Rollback → rollback-verify is separate and permitted only after a recorded release attempt. It switches only Application source back to c96 and Deployment image763c; it never restores an old snapshot over the latest database. Recovery dispatch works even if candidate Pod is absent/unready and never depends on candidate DB inspection. Recovery verification separately requires Ready1/old image/current schema5/data-custody and exact recorded scoped completion. All phases must begin before2026-10-12T23:59:59Z; release must begin at least30minutes earlier. Beyond expiry stop and obtain a new founder decision; no automatic extension or emergency grant. A failed/uncertain attempt requires informed recovery rather than retry.
|
||||
|
||||
T05 remains progress until actual installed acceptance and native rescan prove the finding absent. No Risk Engine grade is assigned. Only then may owner close T05/risk and consider finishing WP9, with existing residuals live first.
|
||||
|
|
@ -0,0 +1,286 @@
|
|||
{
|
||||
"apiVersion": "apps/v1",
|
||||
"kind": "Deployment",
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
"argocd.argoproj.io/tracking-id": "informed-decision:apps/Deployment:informed-decision/informed-decision",
|
||||
"informed-decision.coulomb.social/admission": "approved; INFD-WP-0007 cutover"
|
||||
},
|
||||
"name": "informed-decision",
|
||||
"namespace": "informed-decision",
|
||||
"uid": "a588e10a-90d2-4883-975e-6dd8b8feca92"
|
||||
},
|
||||
"spec": {
|
||||
"progressDeadlineSeconds": 600,
|
||||
"replicas": 1,
|
||||
"revisionHistoryLimit": 10,
|
||||
"selector": {
|
||||
"matchLabels": {
|
||||
"app.kubernetes.io/name": "informed-decision"
|
||||
}
|
||||
},
|
||||
"strategy": {
|
||||
"type": "Recreate"
|
||||
},
|
||||
"template": {
|
||||
"metadata": {
|
||||
"annotations": {
|
||||
"informed-decision.coulomb.social/admission": "approved; INFD-WP-0007 cutover"
|
||||
},
|
||||
"labels": {
|
||||
"app.kubernetes.io/component": "review",
|
||||
"app.kubernetes.io/name": "informed-decision"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"automountServiceAccountToken": false,
|
||||
"containers": [
|
||||
{
|
||||
"env": [
|
||||
{
|
||||
"name": "INFD_KEYCAPE_ISSUER",
|
||||
"value": "https://kc.coulomb.social"
|
||||
},
|
||||
{
|
||||
"name": "INFD_CONTAINER_CONFIG",
|
||||
"value": "/configuration/runtime.json"
|
||||
}
|
||||
],
|
||||
"image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a",
|
||||
"imagePullPolicy": "IfNotPresent",
|
||||
"livenessProbe": {
|
||||
"failureThreshold": 3,
|
||||
"httpGet": {
|
||||
"path": "/healthz",
|
||||
"port": "http",
|
||||
"scheme": "HTTP"
|
||||
},
|
||||
"periodSeconds": 10,
|
||||
"successThreshold": 1,
|
||||
"timeoutSeconds": 2
|
||||
},
|
||||
"name": "informed-decision",
|
||||
"ports": [
|
||||
{
|
||||
"containerPort": 8080,
|
||||
"name": "http",
|
||||
"protocol": "TCP"
|
||||
},
|
||||
{
|
||||
"containerPort": 8081,
|
||||
"name": "workload",
|
||||
"protocol": "TCP"
|
||||
}
|
||||
],
|
||||
"readinessProbe": {
|
||||
"failureThreshold": 3,
|
||||
"httpGet": {
|
||||
"path": "/healthz",
|
||||
"port": "http",
|
||||
"scheme": "HTTP"
|
||||
},
|
||||
"periodSeconds": 10,
|
||||
"successThreshold": 1,
|
||||
"timeoutSeconds": 2
|
||||
},
|
||||
"resources": {
|
||||
"limits": {
|
||||
"cpu": "500m",
|
||||
"memory": "256Mi"
|
||||
},
|
||||
"requests": {
|
||||
"cpu": "5m",
|
||||
"memory": "64Mi"
|
||||
}
|
||||
},
|
||||
"securityContext": {
|
||||
"allowPrivilegeEscalation": false,
|
||||
"capabilities": {
|
||||
"drop": [
|
||||
"ALL"
|
||||
]
|
||||
},
|
||||
"readOnlyRootFilesystem": true
|
||||
},
|
||||
"startupProbe": {
|
||||
"failureThreshold": 12,
|
||||
"httpGet": {
|
||||
"path": "/healthz",
|
||||
"port": "http",
|
||||
"scheme": "HTTP"
|
||||
},
|
||||
"periodSeconds": 10,
|
||||
"successThreshold": 1,
|
||||
"timeoutSeconds": 2
|
||||
},
|
||||
"terminationMessagePath": "/dev/termination-log",
|
||||
"terminationMessagePolicy": "File",
|
||||
"volumeMounts": [
|
||||
{
|
||||
"mountPath": "/data",
|
||||
"name": "data"
|
||||
},
|
||||
{
|
||||
"mountPath": "/run/informed-decision",
|
||||
"name": "runtime"
|
||||
},
|
||||
{
|
||||
"mountPath": "/tmp",
|
||||
"name": "tmp"
|
||||
},
|
||||
{
|
||||
"mountPath": "/configuration",
|
||||
"name": "configuration",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/policy",
|
||||
"name": "caller",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/audit",
|
||||
"name": "audit",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/kubernetes",
|
||||
"name": "kubernetes-api",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/workload-registry",
|
||||
"name": "workload-registry",
|
||||
"readOnly": true
|
||||
},
|
||||
{
|
||||
"mountPath": "/var/run/secrets/informed-decision/requester",
|
||||
"name": "sitting-requester",
|
||||
"readOnly": true
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"dnsPolicy": "ClusterFirst",
|
||||
"restartPolicy": "Always",
|
||||
"schedulerName": "default-scheduler",
|
||||
"securityContext": {
|
||||
"fsGroup": 10001,
|
||||
"fsGroupChangePolicy": "OnRootMismatch",
|
||||
"runAsGroup": 10001,
|
||||
"runAsNonRoot": true,
|
||||
"runAsUser": 10001,
|
||||
"seccompProfile": {
|
||||
"type": "RuntimeDefault"
|
||||
}
|
||||
},
|
||||
"serviceAccount": "review",
|
||||
"serviceAccountName": "review",
|
||||
"terminationGracePeriodSeconds": 45,
|
||||
"volumes": [
|
||||
{
|
||||
"name": "data",
|
||||
"persistentVolumeClaim": {
|
||||
"claimName": "informed-decision-data"
|
||||
}
|
||||
},
|
||||
{
|
||||
"emptyDir": {
|
||||
"medium": "Memory",
|
||||
"sizeLimit": "16Mi"
|
||||
},
|
||||
"name": "runtime"
|
||||
},
|
||||
{
|
||||
"emptyDir": {
|
||||
"medium": "Memory",
|
||||
"sizeLimit": "16Mi"
|
||||
},
|
||||
"name": "tmp"
|
||||
},
|
||||
{
|
||||
"configMap": {
|
||||
"defaultMode": 292,
|
||||
"name": "informed-decision-runtime-6c221878d051"
|
||||
},
|
||||
"name": "configuration"
|
||||
},
|
||||
{
|
||||
"name": "caller",
|
||||
"projected": {
|
||||
"defaultMode": 288,
|
||||
"sources": [
|
||||
{
|
||||
"serviceAccountToken": {
|
||||
"audience": "flex-auth",
|
||||
"expirationSeconds": 3600,
|
||||
"path": "token"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "audit",
|
||||
"secret": {
|
||||
"defaultMode": 288,
|
||||
"items": [
|
||||
{
|
||||
"key": "token",
|
||||
"path": "token"
|
||||
}
|
||||
],
|
||||
"secretName": "informed-decision-audit"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "kubernetes-api",
|
||||
"projected": {
|
||||
"defaultMode": 288,
|
||||
"sources": [
|
||||
{
|
||||
"serviceAccountToken": {
|
||||
"expirationSeconds": 600,
|
||||
"path": "token"
|
||||
}
|
||||
},
|
||||
{
|
||||
"configMap": {
|
||||
"items": [
|
||||
{
|
||||
"key": "ca.crt",
|
||||
"path": "ca.crt"
|
||||
}
|
||||
],
|
||||
"name": "kube-root-ca.crt"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"configMap": {
|
||||
"defaultMode": 292,
|
||||
"name": "informed-decision-workload-registry"
|
||||
},
|
||||
"name": "workload-registry"
|
||||
},
|
||||
{
|
||||
"name": "sitting-requester",
|
||||
"secret": {
|
||||
"defaultMode": 288,
|
||||
"items": [
|
||||
{
|
||||
"key": "client-secret",
|
||||
"path": "client-secret"
|
||||
}
|
||||
],
|
||||
"optional": false,
|
||||
"secretName": "informed-decision-sitting-requester"
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
{
|
||||
"review_id": "RPF-REVIEW-20261011-INFD-ZLIB-NATIVE-R3",
|
||||
"work_record": "RPF-IN-0009",
|
||||
"role": "railiance-platform technical owner only",
|
||||
"status": "changes-requested-actual-provider-api-compatibility",
|
||||
"release_manifest_sha256": "3f1ce7ed678a457f73ab6486c7e81ef3360daf4f7ec1196f3031c3ffaace57ec",
|
||||
"release_paths": 481,
|
||||
"all481_hashes_and_plan_bindings_verified": true,
|
||||
"synthetic_tests_passed": 36,
|
||||
"additional_synthetic_public_checks_passed": 12,
|
||||
"prior_blockers_fixed": [
|
||||
"source dispatch and exact snapshot/intent payloads",
|
||||
"full immutable artifact scan coverage/freshness",
|
||||
"ephemeral Pod refusal before effects",
|
||||
"freeform output filtering",
|
||||
"explicit bounded proposed manual outage recovery"
|
||||
],
|
||||
"remaining_required_refinement": [
|
||||
{
|
||||
"id": "actual-provider-contract",
|
||||
"source": "post-ready-native-outcomes-command.py",
|
||||
"cause": "safe_outcome_metadata requires topmemo_id which actual outcomes neverreturns; actual provider also supports reviewNone/intake not_submitted and optional/state prepared/in_flight/comment fields not covered by fixture.",
|
||||
"effect": "Actual successful postReady authenticated PDP path may be refused; synthetic metadata tests cannot establish native API compatibility.",
|
||||
"required": "Fixed request memo/version/origin plus exactHTTP200 correlation and bounded real shape/count-only receipt; avoid detailed disposition state/actor/private data exports and do not infer authority from preservation proof. Exercise owner actualoutcomes-shaped fixture including absent topmemo_id and optionalrows/state, private sentinels withheld."
|
||||
}
|
||||
],
|
||||
"primary_owner_source_inspection": [
|
||||
{
|
||||
"path": "/home/worsch/informed-decision/informed_decision/lifecycle_review.py",
|
||||
"sha256": "b6d69be6c56f3e2f411501083e199195190df6c740a01b07e82a476268ca3629"
|
||||
},
|
||||
{
|
||||
"path": "/home/worsch/informed-decision/informed_decision/lifecycle_service.py",
|
||||
"sha256": "2dde9280214e68e5e7a7b48d703886947c2a46139ada86e8ff2283a9d4b55a70"
|
||||
}
|
||||
],
|
||||
"actual_source_semantics": [
|
||||
"lifecycle_review.outcomes returns only review/dispositions (lines119,123,133), with optionalreviewNone/not_submitted.",
|
||||
"lifecycle_service.outcomes calls _authorize for outcomes then current() after query; normal HTTP200 under that fixed current path is distinct PDP-gated preservation evidence, not founder disposition or advisory verdict."
|
||||
],
|
||||
"history": {
|
||||
"prior123_fullsnapshot_and_manifest_map_preserved": true,
|
||||
"prior_manifest_sha256": "aa941510645a655190c967adb4a04f89dfae9c625981a27552dea8a27216df7f",
|
||||
"unissued_draft_path": "unissued-final-technical-draft.json",
|
||||
"unissued_draft_never_returned_as_ack": true,
|
||||
"original67_snapshot_absence_retained": true
|
||||
},
|
||||
"scope_limits": {
|
||||
"technical_ack": false,
|
||||
"native_action": false,
|
||||
"provider_requests": false,
|
||||
"database_access": false,
|
||||
"owner_writes": false,
|
||||
"human_approval": false,
|
||||
"T05_complete": false
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"kind": "informed-decision.supervised-mechanical-release-plan",
|
||||
"version": 1,
|
||||
"proposal_id": "INFD-WP-0009-T05/zlib85091-r1",
|
||||
"trial_id": "infd-zlib-20261011-r1",
|
||||
"state": "prepared-unapproved",
|
||||
"executor_files": {
|
||||
"actuator.py": "eb58dee98934fef0fd916c7807eea1d600d71ee35cda9b9fbbc5564e42560461",
|
||||
"authority_journal.py": "9441650c58e156a485810290ec86028b1a21655960e8196cc60d710f51b51788",
|
||||
"native_program.py": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20",
|
||||
"receipt_safety.py": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
"case_files": {
|
||||
"post-ready-native-outcomes-command.py": "ce88aca5e2d6cd5ab7533898bc9b246bd159482c4acccb0afe4c451ee88f57fa",
|
||||
"scan-receipt.json": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a",
|
||||
"source-commit-proof.json": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b",
|
||||
"candidate-deployment.json": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95",
|
||||
"preparation-failure-history.json": "51b9983d2a806240f562dcb951955fc8360c181e6d08a8dfdcba95361c6dd596",
|
||||
"artifact-comparison.json": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4",
|
||||
"rollback-preflight-full.json": "0188799d352e4d49d5ca29d6e197742d02e96a4b0b399df1f478e41b25292eb5",
|
||||
"rollback-deployment.json": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e",
|
||||
"fresh-scan-report-fixture.json": "30607043a4ca44e42024b63659ae10993c14c7a04e7c5685255ccafe4d3fb55c",
|
||||
"native-preflight-full.json": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9",
|
||||
"sqlite_readonly.py": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509",
|
||||
"published-verification.json": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e",
|
||||
"sealed-native-dependencies.json": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369",
|
||||
"sealed-live-deployment.json": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e",
|
||||
"native-preflight.json": "3b6b67a0b4d51ef791e775b528b64aa5a6f14eff629737e67baee7e2f6f60762",
|
||||
"fresh-scan-receipt-template.json": "92bbf8a891c7ef78df48430901219d8d07073cba74112a307a6d8bdec509e8dd",
|
||||
"rollback-preflight.json": "4c3c3166205808e81326ccdae1b56afef757b0ceb4e6c96a17bf384317aeee4a",
|
||||
"installed-zlib-proof.json": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68",
|
||||
"runtime-receipt.json": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889",
|
||||
"change_guard.py": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201",
|
||||
"check_installed.py": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad",
|
||||
"candidate-runtime.json": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124",
|
||||
"fresh-scan-contract.json": "b13806a7e1464454e3817e1e62b56b0fa07fe2fddbd94d7fdc530e2c3dd9e3d2"
|
||||
},
|
||||
"owner_source_files": {
|
||||
"deploy/lifecycle/admission.candidate.json": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529",
|
||||
"deploy/lifecycle/service.candidate.json": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278",
|
||||
"deploy/lifecycle/kustomization.yaml": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47",
|
||||
"deploy/lifecycle/registries.candidate.json": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
"candidate_image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23",
|
||||
"prior_image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a",
|
||||
"source_revision": "must-be-exact-final-owner-HEAD-with-approved-four-Git-blobs",
|
||||
"phases": [
|
||||
"drill-backup",
|
||||
"drill-copy",
|
||||
"offline-verify",
|
||||
"cleanup-offline",
|
||||
"cutover-backup",
|
||||
"cutover-copy",
|
||||
"release",
|
||||
"verify",
|
||||
"rollback",
|
||||
"rollback-verify"
|
||||
],
|
||||
"authorization": "fresh externally authenticated root fixed-origin native readback before each phase; exact confirmed platform-root disposition and current packet SHA/source commit; receipt bookkeeping is not an autonomous signed grant",
|
||||
"execute_by": "2026-10-12T23:59:59Z",
|
||||
"raw_output_withheld": true,
|
||||
"native_data_or_workload_action_executed": false,
|
||||
"deadline_semantics": "All phases including verification/recovery must begin before execute_by. No extension or automatic emergency grant; beyond deadline stop and obtain a fresh founder decision. Complete the bounded drill and rollout early enough to allow recovery within the window.",
|
||||
"source_memo_version": 1,
|
||||
"native_review_memo_version": 1,
|
||||
"published_artifact_verified": true
|
||||
}
|
||||
|
|
@ -0,0 +1,912 @@
|
|||
[
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/mapping.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/mapping.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "e1aaea000c7de1be6cde62499d9fe2705c1e31b3fb8904fafa5333537978e785"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/original-manifest.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/original-manifest.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "aa941510645a655190c967adb4a04f89dfae9c625981a27552dea8a27216df7f"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/mapping.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/mapping.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "796dbbff5c7ca61af2c84c2f2ad3de23b56f67210a30bded23a1ff5db806d26f"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/original-manifest.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/original-manifest.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "60507a1000a216623a3d53b21e64c6f4569b1aa064781d3ac672a9fa130e813c"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-review.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-review.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "e24b3fdae42721342a26ebe34caf57c2d21153ff855e584a0c4ebd3eb9adb349"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/mapping.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/mapping.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "dac8209ec57adc6df16673079f88a60cc56e89294de9389bc219ea19fdf51b5e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/original-manifest.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/original-manifest.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "81adb9e1749d6bd9f19755a2bbd7b501589ea782445537bbbfe925e1d9f8fa47"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "c570bade38479af93f08f717fcebb328a0db38e5b58bd0e7983681bc5ae41b7a"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "dabeda33ffe52989337e214dc6e6d3ef5f04797569145faf2ff69024b101ec80"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "2aa9bae40752922264e53382d898e3083b8d229b185329266942bdd397013108"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "750a4386277dc79c3213e6aed17ae5686332bfd587a55e5e87ebf3776a63ab0c"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "7458222049d8df2f01f2ce359b5864ae41cd73054ee59659ca8cd8ac17cf73ac"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "09b0a8ed6c3c7d1e94f5f703a2d5834ca26fc166cfc8f4f9b4511ab70ec16ac9"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "92bbf8a891c7ef78df48430901219d8d07073cba74112a307a6d8bdec509e8dd"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/archive-map.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/archive-map.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "44be75acb94d8125efb9416dea91059aeeb79625d23c7959bdc099a95c26a9ca"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/original-manifest.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/original-manifest.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "7ac1d698cab2dfbde6bc0a84bcadd2c3229d24f4a4a59125fe72b2856fa82e07"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "763f30c1433d1ca872b029519ec46ad1b97c47d60b7ea0eea0275a2c6b647dc3"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "741b490bdb315896f05f2e91404c02765517dc1beea81fa590017fccafd299b4"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "040144321c69622c223a8437832a3c5a4a9595fc37774fde5ff0ad676828ebf0"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9b458e2b4d418525987b6cb1b9a160c4b1a2c621625c1b5c571ea5c77e9d4361"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "aa86921fe37fcff382676490f937af2e62bd6472a6b4700c862aaf3ce4ab8225"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "3c76c6a8f95dcb55183583a937a4428b745a5c918643de8f2a2bc11dee846d98"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f586a511c1921490185bab95334f27de6d3cca20b348df20d18bcb9257d7ae35"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "48b0f0baf4efc239111411ad7d1c291f8eceaa0ddf1414dac73d49ccdb3bbe70"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/initial-7ac1d698/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "8154c90745d860b2984e4616f0bb1c35889b07b7ff8b841e7430db7592a15b7a"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "196e2cef9ba38f075b458f164f05b5df594d188ee84b210744ef94c31f753294"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "15b3fc9c708593adb52d9eb240c1a6b55d5ac43b1637b8047499f15e525e368f"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "0614e2118927180d18f4a3fa833990a38e27340234a952abdb1d2ca93e7602a4"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "ce88aca5e2d6cd5ab7533898bc9b246bd159482c4acccb0afe4c451ee88f57fa"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a992d799bc07e8fbf05b894a5b184b11092f0041ee68187e59a23c5395b263e9"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "0188799d352e4d49d5ca29d6e197742d02e96a4b0b399df1f478e41b25292eb5"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "4a529f57b886260f8d1b109e06e487a936fa1eb5eeb79dbbd9e4e7a05f9ae2e9"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/observed-81adb9e1/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "112e0aa642a7f48edf8073eee180b62d5ab6000aa4a6197ea6ffc10d7087beb0"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/probe_initial_dispatch.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/probe_initial_dispatch.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "609250d2d15e31128d0331354babbaed6c27ea165cdfcbe893d14e932237dd1a"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/published-evidence-manifest.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/published-evidence-manifest.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6ba2c341b496ab7f79f9c5fd33a92831c2f8db25d018a4b4e67d41e0af9c5bc9"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/intakes/RPF-IN-0009-infd-zlib-native-release-review.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-60507a10/owner-snapshot/intakes/RPF-IN-0009-infd-zlib-native-release-review.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a187eae16bd6eb8b05fdbffc860a7e87b62e726379fde92915de15d6d8bd4290"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/probe_refined_boundaries.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/probe_refined_boundaries.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "5ab431b060c2417df920c6268a9f39181b0164fc887b5dc3359c4c1d70270ebd"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/refined-changes-requested-review.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/refined-changes-requested-review.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "354db3948f878ad14f790b02658739d0b620acfdebe0bcfd492667846e457fdf"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/mapping.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/mapping.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "4f6633dbbfd522465da60156b811a1dc29ebad645752d4b1fd72b5f49afaefae"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/original-manifest.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/original-manifest.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f170b34d8846919b18520264e7ba96e2ac11a3bce7899bc5710fcb0d22f4af29"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/admission.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6c76cedd0abc4a4261cfcb69c6597611c282bd4fed8b6aaf77aff04fdf942529"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/kustomization.yaml",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "1bbce81bc6758434354157f8601534320c5d0290587908fd15a6d25e3fa57f47"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/registries.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9bad6db5fbc2178d31b04120016a41830c3552fbb9e2517b718f9bbe87cf649e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/deploy/lifecycle/service.candidate.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "383332cd4fd27a8b36e63a4d79addc43eb68615f742328d4577bfc2b467e2278"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/artifact-comparison.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a1c5d9e249dc00600449998360faf6e8da0206b568c76d155602c4645fa5fce4"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "487f834cc86dcbc7a04c2392bde072ecaf87dc116b4baa16c35eb9c599ad5c95"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/candidate-runtime.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "d58e60bdc69458fe42af8248e02acd924b3b605c828877352a7d9a3953e90124"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/change_guard.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b3ee2b89de14e204efedd016d3900b6e31fcc9f0ea0f3125d3a4794d938ca201"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/check_installed.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a34a51be9c9f2b16a06a88173b5c6c492c9957fe021cf412a86a1737730640ad"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/decision-packet.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "c570bade38479af93f08f717fcebb328a0db38e5b58bd0e7983681bc5ae41b7a"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/actuator.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "eb58dee98934fef0fd916c7807eea1d600d71ee35cda9b9fbbc5564e42560461"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/authority_journal.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9441650c58e156a485810290ec86028b1a21655960e8196cc60d710f51b51788"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/execution-plan.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "fd38385e3687ec6f9886d5025b394463c252b8198b0426c56f95740139eb7e9b"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/native_program.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "fcf8fc3593910b2e99dd51d159a30aa9b853c40ff00c566a620d20eaadc8af20"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/receipt_safety.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "5c54373f2dc4b064008225c186efb1d5afdeec36d15350bda0a12ded97602d1b"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution/test_execution.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "a1d29ea6822be12817b2d60109cec44b061d167f147b10f9aa352529e1a4c475"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/execution-bundle.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "2ba25f7d3efbb1095e0a0dd7bbb577f76af05c425cb928f9a1c7bc52ea9f532b"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-contract.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-contract.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b13806a7e1464454e3817e1e62b56b0fa07fe2fddbd94d7fdc530e2c3dd9e3d2"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-receipt-template.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "92bbf8a891c7ef78df48430901219d8d07073cba74112a307a6d8bdec509e8dd"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-report-fixture.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/fresh-scan-report-fixture.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "30607043a4ca44e42024b63659ae10993c14c7a04e7c5685255ccafe4d3fb55c"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/installed-zlib-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6af62f86f50ac185fab94163c24ac8150ead69e62f8d825b0dce1e75a5a57b68"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/intake.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6f173d6b257e9f0e4f360390e5846380eba7ecd5cadfd55c22b998bd7e7de844"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/lifecycle-commands.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "508f9bf9f11a35b8fc494e1d66e8f11aa0338df4aa9d7115a80e2dabdae81b55"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/memo.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "ec470183fd6a6a315ec0e35d5841eb1e26cf04d58c5b3fdc13b6f34b1621f62d"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-backup-restore-protocol.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "3c903dd82c13273cb61f590b258b059c32e0fd515d7c176ce4fec3e68a77bc7b"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight-full.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight-full.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "56637994dfdae46a6f9ab442c2ff9b259212650b35eb98d896c5e837f01ce2f9"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/native-preflight.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "3b6b67a0b4d51ef791e775b528b64aa5a6f14eff629737e67baee7e2f6f60762"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/post-ready-native-outcomes-command.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "ce88aca5e2d6cd5ab7533898bc9b246bd159482c4acccb0afe4c451ee88f57fa"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/preparation-failure-history.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/preparation-failure-history.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "51b9983d2a806240f562dcb951955fc8360c181e6d08a8dfdcba95361c6dd596"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/proposal.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "29de1dbddce09008a50516ec43b100bc2a1e08ace86a748a259fe5695e937453"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/published-verification.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "dd4eecf0c103dca7922094a8beeb99b77ae96fd1d5fe532e37bd833daa02614e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight-full.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight-full.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "0188799d352e4d49d5ca29d6e197742d02e96a4b0b399df1f478e41b25292eb5"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/rollback-preflight.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "4c3c3166205808e81326ccdae1b56afef757b0ceb4e6c96a17bf384317aeee4a"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/runtime-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "6442676dcfd941f0a05a4cb79a02dea839fcd332d82b2154c15cf6db68de5889"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/scan-receipt.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "aaaa91061bb036e6d228b1c1bd4333578dc948cb2bb5ac8ba269429121e7321a"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-live-deployment.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "f8a9a07abc2eb52cdf6bcdba2d9f79dec073145c31d0444a9e0fe1147e42cc4e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sealed-native-dependencies.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "042327a036ed254cf95dbeb0c056ac25b03a6a844b95a332c992df2943691369"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/source-commit-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "b0811da2d3bd5938733f0078e5fec8e19a6d9752c4277b80bfe9837ed72c6a3b"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/sqlite_readonly.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "9093c64f7f0e39b249da9fefdf5aaf4e4258bc31e7a27fd888479ce329a20509"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/docs/evidence/2026-10-11-zlib-image-release/submission-proof.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "ecddcb00127774a17d5cf553417c60d1b6fb753b6eb91a49dabb7fc52678595e"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/reviewed-143-f170b34d/owner-snapshot/workplans/INFD-WP-0009-lifecycle-consumer-pin-repair.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "112e0aa642a7f48edf8073eee180b62d5ab6000aa4a6197ea6ffc10d7087beb0"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/intakes/RPF-IN-0009-infd-zlib-native-release-review.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/changes-requested-aa941510/owner-snapshot/intakes/RPF-IN-0009-infd-zlib-native-release-review.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "d162fda35ac46502f14cea91d7d614ce5041e15eae0d4705ede4bf9efc18b36a"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/final-agreement-probes.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/final-agreement-probes.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "d23f10a3eca61ee3fb9c20213621122a394679a3f97c1abd8e91edff089803aa"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/final481-changes-requested-review.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/final481-changes-requested-review.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "faeb2b4a9f57a3db029197d4488b528d0a93b6464bf60ade9b0ee189f5a9a95a"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/independent_final_probes.py",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/independent_final_probes.py",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "c29eba9ff32bd9d8ed9e825a4acf8ba692e19a03087fd7e7a55aa0d9e1fc2d43"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/unissued-final-technical-draft.json",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/docs/evidence/2026-10-11-infd-zlib-native-release-owner-review/unissued-final-technical-draft.json",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "be936ee74899f9a2c2bee2e12560fd5e7aaeaa6fb6e38e717ef9dabbdf73055f"
|
||||
},
|
||||
{
|
||||
"repo": "railiance-platform",
|
||||
"path": "intakes/RPF-IN-0009-infd-zlib-native-release-review.md",
|
||||
"staged_path": "/tmp/infd-zlib-release-platform-agreement-stage/railiance-platform/intakes/RPF-IN-0009-infd-zlib-native-release-review.md",
|
||||
"original_sha256": null,
|
||||
"staged_sha256": "8261e4f08dc73410a1c507d562e0b3fae8629ee1f8c39ed16b3c926744a816f6"
|
||||
}
|
||||
]
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"native_no_review": true,
|
||||
"native_optional_states": true,
|
||||
"missing_review_refused": true,
|
||||
"bad_rows_refused": true,
|
||||
"wrong_optional_id_refused": true,
|
||||
"oversize_rows_refused": true
|
||||
}
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
{
|
||||
"review_id": "RPF-REVIEW-20261011-INFD-ZLIB-PACKET-BINDING-R1",
|
||||
"work_record": "RPF-IN-0009",
|
||||
"role": "railiance-platform technical owner only",
|
||||
"status": "technical-confirmation-reference-only-final-packet",
|
||||
"packet_manifest_sha256": "acb1262b56f10d117c702e62908db008c323a0acb5df4ed108d7868aa371bce9",
|
||||
"memo_sha256": "5dea0d404e4d13683fbf71d56273c06db7a6a916ab68759a90d7394005eee206",
|
||||
"lifecycle_commands_sha256": "4cf81acb7d42f52d81f8ba624a6b2349a0b8948477a14c09bd069d2a4acab7cf",
|
||||
"substantive_ack_sha256": "30c200b98f8692a8456e786d0c7a3acb5ff3634973911b088f56aa178d393fee",
|
||||
"substantive_owner_manifest_sha256": "185bdec062548be8bd89edd89ae3f4b29dc87716123bbab87ee7a406ee5c5609",
|
||||
"validation": {
|
||||
"packet_manifest_sha256": "acb1262b56f10d117c702e62908db008c323a0acb5df4ed108d7868aa371bce9",
|
||||
"paths": 519,
|
||||
"all519_hashes_verified": true,
|
||||
"previous_manifest_sha256": "767c6e93adfa1a844b1e25947f33e782b087a747452575f056b3df25bc88873c",
|
||||
"changed_existing_paths": [
|
||||
"intake.json",
|
||||
"lifecycle-commands.json",
|
||||
"memo.json",
|
||||
"submission-proof.json"
|
||||
],
|
||||
"unchanged_existing_paths": 505,
|
||||
"memo_change": "packet only; originalpacket unchanged prefix plus3 exactattachments",
|
||||
"all_three_attachment_source_bytes_and_document_bytes_exact": true,
|
||||
"native_typed_decode": {
|
||||
"unique_documents": 15,
|
||||
"memo_labels": 16,
|
||||
"register_bytes": 237367,
|
||||
"maximum_body_bytes": 262144
|
||||
},
|
||||
"diffproof_sha256": "e12cd9be56d785a55f3516716fb9ab9cbc7c1fa5c75b501fd890f584d49c49c1",
|
||||
"row19": "proposed only; no exception approved or used",
|
||||
"native_actions": false
|
||||
},
|
||||
"conclusion": "Final519 packet preserves the exact509 source agreement. Only four derived existing files change; memo adds exact Product ACK, unchanged Platform ACK and full source checklist with row19 explicitly proposed. Runtime/helper/plan/render/scan/recovery terms unchanged. Native decoder accepts bound15content/16labels body237367 below262144. This completes narrow final reference binding confirmation for human posting; no further packet additions covered.",
|
||||
"remaining": "Exact committed source/four renderblob proof and NEW confirmed founder disposition/current native authority/seals/admission/headroom/current immutable fullscan required. No native task/risk closure from this receipt.",
|
||||
"scope_limits": {
|
||||
"new_human_approval": false,
|
||||
"native_actions": false,
|
||||
"private_data_or_credentials": false,
|
||||
"owner_source_write": false,
|
||||
"push": false,
|
||||
"T05_complete": false,
|
||||
"new_trial": false,
|
||||
"other_owner_role": false
|
||||
},
|
||||
"history": "Substantive88 owner agreement/history remains exact unchanged; this two-new-file supplement has no overlap and uses the existing completed IN9 anchor."
|
||||
}
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
"packet_manifest_sha256": "acb1262b56f10d117c702e62908db008c323a0acb5df4ed108d7868aa371bce9",
|
||||
"paths": 519,
|
||||
"all519_hashes_verified": true,
|
||||
"previous_manifest_sha256": "767c6e93adfa1a844b1e25947f33e782b087a747452575f056b3df25bc88873c",
|
||||
"changed_existing_paths": [
|
||||
"intake.json",
|
||||
"lifecycle-commands.json",
|
||||
"memo.json",
|
||||
"submission-proof.json"
|
||||
],
|
||||
"unchanged_existing_paths": 505,
|
||||
"memo_change": "packet only; originalpacket unchanged prefix plus3 exactattachments",
|
||||
"all_three_attachment_source_bytes_and_document_bytes_exact": true,
|
||||
"native_typed_decode": {
|
||||
"unique_documents": 15,
|
||||
"memo_labels": 16,
|
||||
"register_bytes": 237367,
|
||||
"maximum_body_bytes": 262144
|
||||
},
|
||||
"diffproof_sha256": "e12cd9be56d785a55f3516716fb9ab9cbc7c1fa5c75b501fd890f584d49c49c1",
|
||||
"row19": "proposed only; no exception approved or used",
|
||||
"native_actions": false
|
||||
}
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
{
|
||||
"review_id": "RPF-REVIEW-20261011-INFD-ZLIB-NATIVE-R4",
|
||||
"work_record": "RPF-IN-0009",
|
||||
"role": "railiance-platform technical owner only",
|
||||
"status": "technical-agreement-source-prepared-new-human-proposal-only",
|
||||
"release_manifest_sha256": "767c6e93adfa1a844b1e25947f33e782b087a747452575f056b3df25bc88873c",
|
||||
"release_paths": 509,
|
||||
"actual_published_manifest_sha256": "6ba2c341b496ab7f79f9c5fd33a92831c2f8db25d018a4b4e67d41e0af9c5bc9",
|
||||
"candidate_image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:f5588f496b1f267d07cdc9f5208e6f2f241f74b739c23924b03702dec13a5c23",
|
||||
"rollback_image": "forgejo.coulomb.social/coulomb/informed-decision@sha256:763c36402c8be7cc4c1bd1a61623d1aff9116d52241877425b45a7018cc0883a",
|
||||
"rollback_source": "c96b0c6d881e855d1d158003c6de90ef390262e2",
|
||||
"artifact_source": "9b4bb25d325698ae543e7e8a8a3c3592db1f58fc",
|
||||
"validation": {
|
||||
"source_manifest_sha256": "767c6e93adfa1a844b1e25947f33e782b087a747452575f056b3df25bc88873c",
|
||||
"source_paths": 509,
|
||||
"all_source_and_executor_case_hashes_match": true,
|
||||
"synthetic_test_methods_passed": 38,
|
||||
"additional_checks_passed": 18,
|
||||
"actual_owner_source_outcomes_shape_exercised_in_mocked_repository_fixture": true,
|
||||
"provider_synthetic_private_fields_never_emitted": true,
|
||||
"all_four_render_hashes_unchanged_from_previous_review": true,
|
||||
"authority_journal_actuator_native_program_unchanged_from_481": true,
|
||||
"current_public_scan_matches_exact_full_contract": true,
|
||||
"native_or_private_database_access": false
|
||||
},
|
||||
"reviewed_boundaries": [
|
||||
"Original operation/snapshot dispatch wiring fixed and complete mocked main source guards/journal/intent exercised; no uncertain phase retries.",
|
||||
"Exact four render files and helper/case/memo hash relations before authority/dispatch; root final source commit must match before human post.",
|
||||
"Native-only fresh fixed-origin confirmed founder/source1/companionreview1 normal authority, exact manual existingApplication UID/RV/source CAS, one Deployment explicitfalseprune and current completed exact operation proof; old R2 authority not reused.",
|
||||
"Exact Deployment/config/PVC/full Pod seals, owner chain/image/UID/GID/Ready and ephemeral refusal; source/admission drift refuses before effect.",
|
||||
"Protected bounded fresh drill/copy/isolated new volume/clone/pre+post schema5 integrity/counters and cutover backup; latestDB retaining763/c96rollback with separate recovery verify.",
|
||||
"Fresh immutableartifact scan binds exact622config/11diffIDs/rootfs/source labels/44canonicalPURLs/38OS6Python/zlibr1, zero all findings; age<=4h and DBNextUpdate/current report hash mandatory release+verify.",
|
||||
"PostReady proof uses actual native review/dispositions response, fixed request route/version andHTTP200/status/time/boundedshape/counts only. Private bodies/notes/reasons/actors/states never leave; no approval/advisory/provider-verdict inference. Root separately correlates exact ready candidate PodUID/image/source and checks current authority."
|
||||
],
|
||||
"proposed_manual_outage_recovery": {
|
||||
"requires_new_founder_consent_in_exact_packet": true,
|
||||
"scope": "Only this trial failedf558/source finalrevision ->763/c96 Deployment-only latest schema5 DB retaining manual supervised recovery.",
|
||||
"bound": "<=30minutes after actual release and before2026-10-12T23:59:59Z, checked again immediately beforepatch.",
|
||||
"evidence": "Independentroot-confirmed exact native accepted receipt cached before release, privateimmutablehash/journal/attempt pins; fresh transport-unavailable or502/503/504 and actualfailedcandidateplacement.",
|
||||
"forbidden": [
|
||||
"backup/release fallback",
|
||||
"401/403",
|
||||
"explicitrevoked",
|
||||
"conflict",
|
||||
"identity/scope mismatch",
|
||||
"healthy candidate",
|
||||
"foreign trial or futurecustomer reuse"
|
||||
],
|
||||
"revocation_limitation_disclosed": true,
|
||||
"current_revocation_verified_during_outage": false,
|
||||
"autonomous_or_signed_grant": false,
|
||||
"recovered_verify": "Separate COMPLETE rollback/original outageanchor and actual763Ready1/data/custody/current operation; never implies PDP acceptance or taskclosure."
|
||||
},
|
||||
"history": {
|
||||
"prior_review_manifest_sha256": "9d0ff679c63c58465b940ed72a258b8f9a12f413da97aad01ec7e311db55a445",
|
||||
"exact130_files_plus_manifest_losslessly_preserved": true,
|
||||
"dedup_distinct_blobs": 82,
|
||||
"path_map_entries": 130,
|
||||
"archive": "changes-requested-9d0ff679",
|
||||
"prior_unissued_draft_remains_explicitly_superseded": true,
|
||||
"original67_fullsnapshot_absence_not_fabricated": true
|
||||
},
|
||||
"remaining_gates": [
|
||||
"Attach exact two owner ACKs and proposed checklist row19 only; confirm narrow final packet rebinding before human post.",
|
||||
"Commit prepared source and retain exact actual revision/fourblob proof; NEW founder confirmed disposition for full proposal including bounded outage exception.",
|
||||
"Fresh exact source/native custody/admission/headroom/current authority before each applicable phase; actual current immutable artifact fullscan/DB freshness before release and verify.",
|
||||
"Actual native installed/schema/health/current canonical PDP preservation proof before T05/risk closure; preparation and synthetic tests do not establish completion."
|
||||
],
|
||||
"scope_limits": {
|
||||
"human_approval": false,
|
||||
"native_action": false,
|
||||
"backup_restore_database_access": false,
|
||||
"credentials_read": false,
|
||||
"owner_source_write": false,
|
||||
"push": false,
|
||||
"T05_complete": false,
|
||||
"risk_closed": false,
|
||||
"other_owner_role": false
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"source_manifest_sha256": "767c6e93adfa1a844b1e25947f33e782b087a747452575f056b3df25bc88873c",
|
||||
"source_paths": 509,
|
||||
"all_source_and_executor_case_hashes_match": true,
|
||||
"synthetic_test_methods_passed": 38,
|
||||
"additional_checks_passed": 18,
|
||||
"actual_owner_source_outcomes_shape_exercised_in_mocked_repository_fixture": true,
|
||||
"provider_synthetic_private_fields_never_emitted": true,
|
||||
"all_four_render_hashes_unchanged_from_previous_review": true,
|
||||
"authority_journal_actuator_native_program_unchanged_from_481": true,
|
||||
"current_public_scan_matches_exact_full_contract": true,
|
||||
"native_or_private_database_access": false
|
||||
}
|
||||
41
intakes/RPF-IN-0009-infd-zlib-native-release-review.md
Normal file
41
intakes/RPF-IN-0009-infd-zlib-native-release-review.md
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
---
|
||||
id: RPF-IN-0009
|
||||
kind: intake
|
||||
type: intake
|
||||
title: "Platform technical review of distinct INFD zlib native release"
|
||||
repo: railiance-platform
|
||||
lane: supervised
|
||||
status: closed
|
||||
owner: railiance-platform
|
||||
requested_by: the-custodian
|
||||
origin: handoff
|
||||
origin_ref: INFD-WP-0009-T05
|
||||
priority: high
|
||||
created: "2026-10-11"
|
||||
updated: "2026-10-11"
|
||||
tags: [security, cross-owner, review]
|
||||
---
|
||||
|
||||
New bounded Platform technical review of immutable published zlib artifact and separately proposed image-only native release/drill/cutover/recovery. Distinct from completed RPF-IN-0008 source candidate review and purpose R2 authorization. No native action, private database access, credentials, owner source writes, carried-forward approval or T05 closure.
|
||||
|
||||
## Completed initial changes-requested review
|
||||
|
||||
Initial exact67 manifest1e4 was observed at review start, then shared stage changed to68 manifest81adb9e1749d6bd9f19755a2bbd7b501589ea782445537bbbfe925e1d9f8fa47 before snapshot preservation. Review stopped rather than treating that as unchanged frozen source. Observed68 bytes and manifest archived;29 published proof6ba2 hashes verified. Remote keyword dispatch and recorded backup snapshot identity are not plumbed; freshscan helper permits unbound incomplete zero reports. Fresh scan age and DBNextUpdate controls exist but artifact and full inventory coverage must be checked. Completed owner workrecord precedes conditional entry. Refinement remains this same review trial; no technical agreement or native approval issued.
|
||||
|
||||
## Completed refined-source changes-requested review
|
||||
|
||||
Same owner preparation trial reviewed immutable143 manifest `f170b34d8846919b18520264e7ba96e2ac11a3bce7899bc5710fcb0d22f4af29`. Original wiring and incomplete scan proof defects fixed; all143 source hashes/plan file bindings verified,25 synthetic methods pass. Independent remote payload/partial scan repro confirms fixes; separate fixture shows unrelated privileged ephemeral container passes current Pod gate. Post-ready freeform output and recovery authority availability require explicit refinement. Exact previous74 owner-review files plus manifest/map archived before supersession. Source-only review is completed before conditional entry; no technical ACK, approval or native evidence inferred.
|
||||
|
||||
Root selected a NEW human-proposal recovery alternative for further source preparation: independently root-confirmed same accepted receipt retained before release may support manual supervised763/c96 Deployment-only latestDB recovery for at most30minutes after release and before deadline, only exact approved custody/journal/source pins and demonstrable transport-unavailable/502/503/504 plus failed candidate placement. No401/403/revoked/invalidsignature/conflict fallback, no backup/release fallback; inability to query later revocation while unavailable must be disclosed. This is proposed scope awaiting exact code review and NEW founder disposition, not existing authority.
|
||||
|
||||
## Completed final exact-source technical review
|
||||
|
||||
Final immutable481 manifest `3f1ce7ed678a457f73ab6486c7e81ef3360daf4f7ec1196f3031c3ffaace57ec` reviewed in this same IN9 preparation trial. All481 hashes and plan executor/case pins match;36 synthetic tests and12 additional public-artifact/synthetic checks pass. Ephemeral Pod custody, private metadata filtering, original payload wiring and full fresh scan coverage now refuse challenged defects. Bounded supervised outage recovery is expressly NEW proposed founder consent, not old approval: rollback only failed exactcandidate/source, retained authenticated pre-release exact acceptance,30minutes/globaldeadline/UID/config/PVC/journal/source/image pins, no401/403/revocation/conflict/healthy candidate/backup or release fallback. Later revocation unobservable during outage is disclosed; recovered verification proves separate rollback placement, not provider acceptance/taskclosure. Exact prior123 owner files/manifest/map preserved before entry; original67 historical absence remains honest. Completed workrecord precedes formal source agreement. No native action or new approval inferred.
|
||||
|
||||
## Final481 actual API compatibility finding; no ACK issued
|
||||
|
||||
Before returning any agreement, Product identified actual provider shape incompatibility. Owner source lifecycle_review.outcomes returns only review/dispositions, optional reviewNone/not_submitted and optional submissionstate; lifecycle_service wraps it in current PDP authorization. The staged sanitizer instead requires invented topmemo_id and restrictive inventedstates. Independent read-only owner-source inspection confirms it. Prior unissued draft retained explicitly as superseded, not formal acceptance. Additional source correction must use fixed-request/HTTP200 correlation and bounded shape/count-only proof without detailed freeform dispositions or founder-authority inference. Completed sameIN9 changes-requested workrecord precedes entry.
|
||||
|
||||
## Completed postcontract final source review
|
||||
|
||||
Same completedIN9 preparation trial reviewed immutable509 manifest `767c6e93adfa1a844b1e25947f33e782b087a747452575f056b3df25bc88873c`. All509 hashes plus closed executor/case pins match;38 synthetic methods and18 additional public-report/shape/negative checks pass. Actual lifecycle review/dispositions shape now supported without invented identity/state/actor fields. Provider proof emits fixed authenticated request context/status/time/shape/counts only and explicitly never infers approval. Prior130 fullfiles and exact9d0ff679 manifest retained losslessly with content-addressed82blobs and130path map. Source/render/freshscan/recovery guards remain unchanged; no native request/data access/action or approval. This completed anchor precedes formal technical agreement for NEW human proposal; exact final ACK/checklist-only rebinding remains before posting.
|
||||
Loading…
Add table
Add a link
Reference in a new issue