Some checks failed
Use-case regression gate / usecase-regressions (push) Has been cancelled
Assistant: codex Assistant-Model: gpt-6-astra Assistant-Session: 01a18e2d-f513-7742-b8e7-12af0b744ff3
58 lines
2.3 KiB
JSON
58 lines
2.3 KiB
JSON
{
|
|
"schema": "coulomb.content-lifecycle-validation.v1",
|
|
"recorded_at": "2026-10-31T11:54:24.215512+00:00",
|
|
"status": "source_fix_verified",
|
|
"workplan_task": "CSOC-WP-0013-T05",
|
|
"bug": "A process exit during attachment creation left bytes absent from the copy/move cleanup journal; the orphan blocked retry.",
|
|
"regression_observed_before_fix": {
|
|
"baseline": "f70708839cd5ca43310f6891c8d94aaff915139c",
|
|
"operations": [
|
|
"copy_page",
|
|
"transfer_page"
|
|
],
|
|
"interruption": "partial first attachment flushed, immediate os._exit(86)",
|
|
"result": "both failed because the partial destination survived recovery"
|
|
},
|
|
"fix": [
|
|
"Refuse existing attachment entries before recording cleanup authority.",
|
|
"Persist intended new attachment name before exclusive creation under the content writer lock.",
|
|
"Flush recovery and attachment directory entries before destination publication."
|
|
],
|
|
"focused_cases": {
|
|
"total": 29,
|
|
"abrupt_child_process_exit": 14,
|
|
"existing_destination_collision": 8,
|
|
"prior_retention_and_recovery": 7
|
|
},
|
|
"full_gate": {
|
|
"command": "make check",
|
|
"tests": 546,
|
|
"failures": 0,
|
|
"errors": 0,
|
|
"skipped": 0,
|
|
"warnings": 69,
|
|
"junit_sha256": "dd3d0433c8109f00f6dddd119cfdf8281915f94da2da1f5e6009c31cfe76c65b",
|
|
"log_sha256": "eb59a394c95c5307c17069874640d1655ef61c5aa7bb426ef6d21db4929f748e"
|
|
},
|
|
"files": [
|
|
{
|
|
"path": "coulomb_social/apps/spaces/pageops.py",
|
|
"sha256": "055ef25b5efc75798cf17ffa68739de4d4099d2cab4d041e7c7eacdfaf43803e"
|
|
},
|
|
{
|
|
"path": "tests/test_content_recovery.py",
|
|
"sha256": "84a25a22a3cbda397e39c0508db8ea5aa90e6c467ccfa7da2b568d174d1ec449"
|
|
}
|
|
],
|
|
"policy": "User accepted retain-all default and separately reviewed manual cutoff; keep live page and all history of deleted pages.",
|
|
"live_purge_authorized": false,
|
|
"live_purge_executed": false,
|
|
"production_deployed": false,
|
|
"productive_acceptance": false,
|
|
"limits": [
|
|
"Child process termination on synthetic local files is proved; physical power-loss durability is not experimentally proved.",
|
|
"Cooperating application/import writers must use the content writer lock.",
|
|
"Release delivery and productive copy/move review remain open."
|
|
],
|
|
"policy_decision_id": "c3a191f2-ce06-483f-82d7-ef8c54ea0d5e"
|
|
}
|