[kimi] feat: pre-cycle state validation for stale cycle_result.json (#661) #666

Merged
Timmy merged 2 commits from kimi/issue-661 into main 2026-03-21 13:53:12 +00:00

2 Commits

Author SHA1 Message Date
8141942b45 Merge branch 'main' into kimi/issue-661
Some checks failed
Tests / lint (pull_request) Has been cancelled
Tests / test (pull_request) Has been cancelled
2026-03-21 13:52:02 +00:00
kimi
cca979d30b feat: pre-cycle state validation for stale cycle_result.json
Some checks failed
Tests / lint (pull_request) Has been cancelled
Tests / test (pull_request) Has been cancelled
Add validate_cycle_result() to loop_guard.py that runs before each cycle:
1. Age check — removes cycle_result.json if older than 2× CYCLE_DURATION
2. Issue check — removes cycle_result.json if referenced issue is closed
3. Graceful degradation — keeps file when Gitea API is unreachable

Also adds _load_cycle_result() and _is_issue_open() helpers, plus 15 unit
tests covering all validation paths.

Fixes #661

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-20 23:00:13 -04:00