Publish verified content recovery candidate evidence
Some checks failed
Use-case regression gate / usecase-regressions (push) Failing after 7m31s

Assistant: codex
Assistant-Model: gpt-6-astra
Assistant-Session: 01a18e2d-f513-7742-b8e7-12af0b744ff3
This commit is contained in:
tegwick 2026-10-31 12:59:46 +01:00
parent f306dbfa26
commit 4e9a1c62ee
7 changed files with 203 additions and 2 deletions

View file

@ -103,7 +103,7 @@
| task | CSOC-WP-0013-T02 | progress | — | workplans/CSOC-WP-0013-sharing-content-hardening.md |
| task | CSOC-WP-0013-T03 | todo | — | workplans/CSOC-WP-0013-sharing-content-hardening.md |
| task | CSOC-WP-0013-T04 | done | — | workplans/CSOC-WP-0013-sharing-content-hardening.md |
| task | CSOC-WP-0013-T05 | todo | — | workplans/CSOC-WP-0013-sharing-content-hardening.md |
| task | CSOC-WP-0013-T05 | progress | — | workplans/CSOC-WP-0013-sharing-content-hardening.md |
| task | CSOC-WP-0014-T01 | progress | — | workplans/CSOC-WP-0014-cohort-transfer-bubble-offramp.md |
| task | CSOC-WP-0014-T02 | todo | — | workplans/CSOC-WP-0014-cohort-transfer-bubble-offramp.md |
| task | CSOC-WP-0014-T03 | wait | — | workplans/CSOC-WP-0014-cohort-transfer-bubble-offramp.md |

View file

@ -0,0 +1,25 @@
{
"schema": "coulomb.packaged-content-lifecycle-tests.v1",
"source": "23ffe2cf4b214666754a2420558943438e54251a",
"image_id": "sha256:522bcd7fce92436765a60c1e4afa2598f3cc40913352153ff1c4319a99ca92ed",
"tests": 29,
"failures": 4,
"expected_baseline_regressions": true,
"failed_nodes": [
"test_process_death_during_copy_or_move_is_recoverable[copy_page-during_first_asset]",
"test_process_death_during_copy_or_move_is_recoverable[copy_page-during_second_asset]",
"test_process_death_during_copy_or_move_is_recoverable[transfer_page-during_first_asset]",
"test_process_death_during_copy_or_move_is_recoverable[transfer_page-during_second_asset]"
],
"errors": 0,
"skipped": 0,
"network": "none",
"read_only_root": true,
"application_source_overlay": false,
"test_tooling_injected": true,
"application_modules_from_image_verified": true,
"production_access": false,
"junit_sha256": "edc52bd3a321d028d255b3d478020b3383d94747957ffe2985583b1f0741cb85",
"driver_sha256": "85b65114997c7e7c5323cb77a0043e495ec132506eef07dd394c6a6361380d36",
"test_source_sha256": "84a25a22a3cbda397e39c0508db8ea5aa90e6c467ccfa7da2b568d174d1ec449"
}

View file

@ -0,0 +1,4 @@
/home/worsch/coulomb-social/coulomb_social/apps/spaces/pageops.py: 055ef25b5efc75798cf17ffa68739de4d4099d2cab4d041e7c7eacdfaf43803e
/home/worsch/coulomb-social/tests/test_content_recovery.py: 84a25a22a3cbda397e39c0508db8ea5aa90e6c467ccfa7da2b568d174d1ec449
/home/worsch/coulomb-social/scripts/verify-packaged-source.py: 99d734f20331e8d699081d3d77e7a0d0b3bc676be69ce101377bc69eae6c70d5
/tmp/csoc-packaged-lifecycle-tests-20261031.py: 85b65114997c7e7c5323cb77a0043e495ec132506eef07dd394c6a6361380d36

View file

@ -0,0 +1,119 @@
{
"schema": "coulomb.content-lifecycle-candidate-build.v1",
"completed_at": "2026-10-31T11:58:26.697591+00:00",
"source": "f306dbfa2604e4815523667740be2925c333b84e",
"tag": "forgejo.coulomb.social/coulomb/coulomb-social:f306dbfa2604",
"image": "forgejo.coulomb.social/coulomb/coulomb-social@sha256:d3f2f5bb90f0ba79f4e1d8098d2eb06f8940b8789e5ecb851914bbab364597ec",
"registry_digest_independently_verified": true,
"source_revision_label_verified": true,
"build_context": "Clean git archive restricted to Dockerfile, dockerignore, lock, project, manage.py, app and entrypoint.",
"build_inputs": [
{
"path": "Dockerfile",
"sha256": "d0e197a18db8980eb3e51cca842d693e10ab0b4208627bba28691d10719d4a00"
},
{
"path": ".dockerignore",
"sha256": "901c8b95d95549d0e78c1c3d6d0538bf0252c8a77e9409129e0cadfa55c7c56c"
},
{
"path": "pyproject.toml",
"sha256": "5758c56fd1be89b973861ccc5ecbadb495e742ee13ebd7e19a221a0f119c54ee"
},
{
"path": "uv.lock",
"sha256": "e8ebb6fc4b5abd1ac80f1c9012f1983642d0528a8a213cfcc394261606fad887"
},
{
"path": "scripts/docker-entrypoint.sh",
"sha256": "70100256ca41ae6afe77078c810a8b6012472f0a741919f403f32088f98ab463"
}
],
"runtime": {
"previous": {
"python": "3.12.16",
"distributions": {
"h11": "0.16.0",
"httpcore": "1.0.9",
"psycopg": "3.3.4",
"joserfc": "1.7.4",
"anyio": "4.14.2",
"cryptography": "50.0.0",
"idna": "3.18",
"certifi": "2026.7.22",
"packaging": "26.3",
"python-decouple": "3.8",
"psycopg-binary": "3.3.4",
"sqlparse": "0.5.5",
"whitenoise": "6.12.0",
"cffi": "2.1.1",
"markdown": "3.10.3",
"webencodings": "0.5.1",
"pycparser": "3.0",
"bleach": "6.4.0",
"authlib": "1.7.2",
"django": "6.1",
"typing_extensions": "4.16.0",
"gunicorn": "26.0.0",
"asgiref": "3.12.1",
"httpx": "0.28.1",
"dj-database-url": "3.1.2"
}
},
"candidate": {
"python": "3.12.16",
"distributions": {
"h11": "0.16.0",
"httpcore": "1.0.9",
"psycopg": "3.3.4",
"joserfc": "1.7.4",
"anyio": "4.14.2",
"cryptography": "50.0.0",
"idna": "3.18",
"certifi": "2026.7.22",
"packaging": "26.3",
"python-decouple": "3.8",
"psycopg-binary": "3.3.4",
"sqlparse": "0.5.5",
"whitenoise": "6.12.0",
"cffi": "2.1.1",
"markdown": "3.10.3",
"webencodings": "0.5.1",
"pycparser": "3.0",
"bleach": "6.4.0",
"authlib": "1.7.2",
"django": "6.1",
"typing_extensions": "4.16.0",
"gunicorn": "26.0.0",
"asgiref": "3.12.1",
"httpx": "0.28.1",
"dj-database-url": "3.1.2"
}
},
"runtime_packages_equal": true,
"python_versions_equal": true,
"django_check": {
"returncode": 0,
"output": "System check identified no issues (0 silenced)."
},
"migration_drift": {
"returncode": 0,
"output": "No changes detected"
}
},
"source_delta_from_revision_19": [
"coulomb_social/apps/spaces/pageops.py"
],
"new_database_migrations": false,
"production_deployed": false,
"live_release_pins_modified": false,
"source_full_gate_tests": 546,
"packaged_lifecycle_tests": 29,
"previous_image_expected_lifecycle_failures": 4,
"owner_release_task": "RAPPS-WP-0015-T07",
"remaining": [
"Exact current-target release packet, paired rollback evidence and candidate/previous-image restored-store checks.",
"Attended image release and independent native postflight.",
"Productive lifecycle verdict; retention policy already accepted under c3a191f2-ce06-483f-82d7-ef8c54ea0d5e."
]
}

View file

@ -0,0 +1,20 @@
{
"schema": "coulomb.packaged-source-provenance.v1",
"image": "forgejo.coulomb.social/coulomb/coulomb-social@sha256:d3f2f5bb90f0ba79f4e1d8098d2eb06f8940b8789e5ecb851914bbab364597ec",
"network": "none",
"read_only_root": true,
"entrypoint_bypassed": true,
"database_contact": false,
"production_changes": false,
"comparisons": [
{
"commit": "f306dbfa2604e4815523667740be2925c333b84e",
"packaged_file_count": 80,
"source_file_count": 80,
"different_files": 0,
"all_packaged_source_bytes_match": true
}
],
"actual_packaged_manifest_sha256": "b5c8a16b4b3d30cc9d8a7a9f3ed61bd8cb0e182589aceb5e4127fff27a8ae482",
"dependency_or_build_reproducibility_proved": false
}

View file

@ -0,0 +1,20 @@
{
"schema": "coulomb.packaged-content-lifecycle-tests.v1",
"source": "f306dbfa2604e4815523667740be2925c333b84e",
"image_id": "sha256:d3f2f5bb90f0ba79f4e1d8098d2eb06f8940b8789e5ecb851914bbab364597ec",
"tests": 29,
"failures": 0,
"expected_baseline_regressions": false,
"failed_nodes": [],
"errors": 0,
"skipped": 0,
"network": "none",
"read_only_root": true,
"application_source_overlay": false,
"test_tooling_injected": true,
"application_modules_from_image_verified": true,
"production_access": false,
"junit_sha256": "f2968ef1048ec9af68a187b967d558db0f6ee76e765a8106fb7fab284953511f",
"driver_sha256": "85b65114997c7e7c5323cb77a0043e495ec132506eef07dd394c6a6361380d36",
"test_source_sha256": "84a25a22a3cbda397e39c0508db8ea5aa90e6c467ccfa7da2b568d174d1ec449"
}

View file

@ -18,7 +18,7 @@ Residual acceptance from CSOC-WP-0008, split at the user's request. Existing imp
## Current execution map — 2026-10-31
T01 storage enforcement is complete. T04 now exposes completed fidelity-review preparation. T02 still owns actual corpus/assets fidelity verdicts and final content acceptance; its revision lifecycle detail is T05. T03 owns four separate UC-003/004/005/006 productive verdicts. No review verdict has been inferred from tests or weekly-call acceptance.
T01 storage enforcement is complete. T04 now exposes completed fidelity-review preparation. T02 still owns actual corpus/assets fidelity verdicts and final content acceptance; its revision lifecycle detail is T05, now in progress with the retention policy accepted and a tested crash-recovery candidate published. T03 owns four separate UC-003/004/005/006 productive verdicts. No review verdict has been inferred from tests or weekly-call acceptance.
The [four-workplan assessment](../docs/release/goal-progress-audit-2026-10-31.md)
records the scope split and effort estimate. Task counts are not effort percentages.
@ -216,6 +216,19 @@ release delivery and productive review. User accepted the retain-all/manual-cuto
production purge, image deployment or user acceptance is inferred. The current
verified release remains revision19/image522bcd7f until a new owner return.
The corrected source f306dbf is published as immutable candidate
`sha256:d3f2f5bb90f0ba79f4e1d8098d2eb06f8940b8789e5ecb851914bbab364597ec`.
All80 packaged source files match; runtime package/Python versions are unchanged,
and no new migration is present. The previous image reproduces four interrupted-
attachment failures; the candidate passes all29 lifecycle checks in a read-only,
network-disabled container without an application overlay. Full make check passes
546 tests, including required browsers, with zero failures/errors/skips. Build,
provenance and paired baseline/candidate test receipts are under
`docs/release/content-lifecycle-*-2026-10-31.json`. RAPPS-WP-0015-T07 now owns the
new exact release preparation/execution return. T05 remains progress until that
return and productive acceptance; policy acceptance is settled and no live purge
is authorized. No production image or release pin changed during this work.
## Completion
Finish when every task above has its stated evidence and acceptance, or hand off any newly discovered residual to a live work record first. Cross-owner dependencies remain their existing canonical records.