Publish verified content recovery candidate evidence
Some checks failed
Use-case regression gate / usecase-regressions (push) Failing after 7m31s
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:
parent
f306dbfa26
commit
4e9a1c62ee
7 changed files with 203 additions and 2 deletions
|
|
@ -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 |
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
}
|
||||
|
|
@ -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
|
||||
119
docs/release/content-lifecycle-candidate-build-2026-10-31.json
Normal file
119
docs/release/content-lifecycle-candidate-build-2026-10-31.json
Normal 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."
|
||||
]
|
||||
}
|
||||
|
|
@ -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
|
||||
}
|
||||
|
|
@ -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"
|
||||
}
|
||||
|
|
@ -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.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue