fix(trekexecute): the checkpoint records the full commit id for the done line

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-10-28 16:06:52 +01:00
commit f9cd08076e
Signed by: ktg
SSH key fingerprint: SHA256:JakMjO6FTBBzN0Bhfj9saOoEjaFxlSdYuZQQpM/lF9Q
4 changed files with 94 additions and 3 deletions

View file

@ -1957,6 +1957,10 @@ or 5). Release the step's test lock before stopping
command exactly as written in the plan. (The test files are listed apart
from `Files:` in the plan; staging only `Files:` would leave the step's
test uncommitted and charge it to the next step's diff.)
`{hash}` is the full commit id: run `git rev-parse HEAD` after the step's
last commit, never the short id `git commit` prints. Read it again after
any later commit of the step (the second commit on the exit-1 path); when
the commit failed, it is the HEAD the done line names.
If the commit fails (nothing to commit, etc.): warn but do NOT fail the
step. The step's verification already passed — the commit is bookkeeping.
2. **The done line**, at the step's own commit. A step is done only when a
@ -1995,7 +1999,7 @@ already passed) but is recorded as `checkpoint_drift: {expected_pattern,
actual_message}` in the progress file. Phase 7.5 audit reports drift as
an advisory.
Update progress: `steps.{N}.status = "completed"`, `steps.{N}.commit = {hash}`,
Update progress: `steps.{N}.status = "completed"`, `steps.{N}.commit = {hash}` (the full commit id),
`steps.{N}.completed_at = now`, `steps.{N}.manifest_audit = "pass"`.
### Step mode exit