chore(buglog): bug-1747 fixed (1d6c04c2)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Rongsong Shen 2026-09-26 09:33:55 +00:00
parent 1d6c04c28a
commit a565779d94
Signed by untrusted user: rshen
GPG key ID: 80533536B0EB651C

View file

@ -24658,9 +24658,9 @@
},
{
"id": "bug-1747",
"status": "partial",
"status_updated": "2026-09-24",
"status_note": "FINISH half fixed eec2596c; failed-job finish_time still apply-time time(NULL) (job.c)",
"status": "fixed",
"status_updated": "2026-09-26",
"status_note": "FINISH half eec2596c; FAIL half 1d6c04c2: WAL_JOB_FAIL trailer carries finish_time, record_job_fail_fact_at() for resync.",
"timestamp": "2026-09-01T00:00:00Z",
"error_message": "Pre-existing, systemic gap predating worker-rejoin-resync entirely, discovered while implementing task 3.2 (resync_apply_report, resync.c): WAL_JOB_FAIL carries no fail-time/finish-time slot in its wire payload at ANY layer, and apply_job_fail_transition() (job.c) unconditionally stamps job.finish_time = time(NULL) at APPLY time (not even receipt time) for EVERY fail-reporting caller in this codebase -- not just reconciliation. This means Requirement 4.2 ('the Controller shall record the finish time the Worker reported ... rather than the time the Controller processed the reconciliation') is currently unsatisfiable for a reconciled finished-FAILURE outcome via any existing path. UPDATE (2026-09-01, coordinator-directed re-scope): the sibling FINISH-success half of this gap is FIXED -- see 'fix' field below; only the FAIL half remains open.",
"file": "src/controller/job.c",