15 lines
992 B
Markdown
15 lines
992 B
Markdown
# Spec: fix-stale-task-mtime-proxy
|
|||
|
|
|
||
|
|
## Problem
|
||
|
|
`scripts/status.py:965,1072` uses the `.state` file's mtime as a proxy for "last edit activity." But every `--transition` rewrites `.state`, resetting its mtime. A task that was transitioned 29 minutes ago appears "fresh" even though no editing happened. The `--same-session` check also gives false positives after any transition.
|
||
|
|
|
||
|
|
## Fix
|
||
|
|
Use a separate `.state.lastedit` timestamp file that is updated only when `--can-edit` returns ALLOWED (actual edit activity). Check `.state.lastedit` mtime instead of `.state` mtime for stale-task detection. If `.state.lastedit` doesn't exist, fall back to `.state` mtime (backward compat).
|
||
|
|
|
||
|
|
## Acceptance Criteria
|
||
|
|
- Transitioning a task does NOT reset the stale-task timer
|
||
|
|
- Running `--can-edit` (and getting ALLOWED) DOES reset the timer
|
||
|
|
- If `.state.lastedit` doesn't exist, falls back to `.state` mtime
|
||
|
|
- Existing tests still pass
|
||
|
|
- Add test verifying transition doesn't reset timer but can-edit does
|