In orchestrator.py, _pre_fix_sha is stored in-memory on the orchestrator object:
self._pre_fix_sha = get_head_sha(self.task["branch"])
If the orchestrator crashes between FIX and VERIFY_PUSH, the SHA is lost. On restart, _do_verify_push() falls through with pre_sha = None and can't verify commits were actually pushed.
Proposed fix:
- Add
pre_fix_sha TEXT column to the tasks table (schema migration)
- Store via
update_task(task_id, pre_fix_sha=sha) in _do_fix()
- Read from
self.task["pre_fix_sha"] in _do_verify_push()
- Follow the migration pattern: bump SCHEMA_VERSION, add to _MIGRATIONS, SCHEMA, _TASK_COLUMNS
In
orchestrator.py,_pre_fix_shais stored in-memory on the orchestrator object:If the orchestrator crashes between FIX and VERIFY_PUSH, the SHA is lost. On restart,
_do_verify_push()falls through withpre_sha = Noneand can't verify commits were actually pushed.Proposed fix:
pre_fix_sha TEXTcolumn to the tasks table (schema migration)update_task(task_id, pre_fix_sha=sha)in_do_fix()self.task["pre_fix_sha"]in_do_verify_push()