From a565779d941792154e38f1256c9abdcd148e6eb9 Mon Sep 17 00:00:00 2001 From: Rongsong Shen Date: Sat, 26 Sep 2026 09:33:55 +0000 Subject: [PATCH] chore(buglog): bug-1747 fixed (1d6c04c2) Co-Authored-By: Claude Opus 5.5 (1M context) --- .wolf/buglog.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.wolf/buglog.json b/.wolf/buglog.json index 3c335b42..983bfd7d 100644 --- a/.wolf/buglog.json +++ b/.wolf/buglog.json @@ -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",