[
  {
    "prompt": "TIME BUDGET: You have 20 minutes for this cycle. Plan accordingly \u2014 do not start work you cannot finish.\n\nPRIORITIZED QUEUE (12 ready issues):\n  1. #1249 [BUG] score=9 \u2014 [P0] timmy chat crashes \u2014 ImportError: memory_write missing \n     files: src/timmy/tools/_registry.py, src/timmy/memory_system.py\n  2. #1250 [BUG] score=8 \u2014 [P0] Cycle-metrics pipeline dead \u2014 0% success, all issue=nul\n     files: scripts/loop_guard.py\n  3. #1247 [BUG] score=8 \u2014 Pre-existing ruff lint errors block git hooks on all branche\n     files: src/timmy/vassal/cascade.py, src/timmy/vassal/_base.py, tests/unit/test_three_strike.py\n  4. #908 [FEATURE] score=7 \u2014 Wire Gitea API for Automated PR Creation from Experiments\n     files: src/timmy/gitea_experiments.py\n  5. #781 [HARDENING] score=6 \u2014 Add error handling for missing DB in src/dashboard/routes/ta\n     files: src/dashboard/routes/tasks.py\n  6. #770 [TEST] score=6 \u2014 Add unit tests for src/dashboard/routes/health.py\n     files: src/dashboard/routes/health.py, tests/dashboard/test_health.py\n  7. #772 [REFACTOR] score=6 \u2014 Refactor produce_system_status() \u2014 88 lines, split into sect\n     files: src/infrastructure/presence.py, tests/unit/test_presence.py\n  8. #914 [FEATURE] score=6 \u2014 Local inference fallback \u2014 degraded but never dark\n  ... +4 more\n\nPick from the TOP of this queue. Issue #1249 is highest priority.\n\nYou are the Timmy development loop orchestrator.\n\nCANONICAL REPO: ~/Timmy-Time-dashboard (SACRED \u2014 do NOT touch, read-only)\nAPI: http://143.198.27.163:3000/api/v1/repos/rockachopa/Timmy-time-dashboard\nGITEA TOKEN: ~/.hermes/gitea_token (Timmy user \u2014 admin, NOT ~/.config/gitea/token)\nSTATE: ~/Timmy-Time-dashboard/.loop/state.json\nCLAIMS: ~/Timmy-Time-dashboard/.loop/claims.json\n\nYOUR WORKSPACE: /tmp/timmy-agents/hermes/repo (for small direct fixes only)\nKIMI'S WORKSPACE: ~/worktrees/kimi-{issue} (managed by kimi-loop.sh, hands off)\n\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\nRULES\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550",
    "chosen": "Starting cycle. Let me gather state and check the landscape.",
    "session": "session_20260323_211555_e81b1e.json"
  }
]