diff --git a/.tasks/STATUS.md b/.tasks/STATUS.md index c2d5228..4c0a191 100644 --- a/.tasks/STATUS.md +++ b/.tasks/STATUS.md @@ -1007,7 +1007,7 @@ No `consult` was needed; nothing irreversible or cross-cutting. Files changed: ` --- -## 🔴 [task-loop-skill] — **Цель:** агент в открытой сессии может взять задачи из task board и выполнять их одну за другой прямо в этой сессии — без отдельного daemon-процесса, без спауна новых claude-процессов. +## 🟢 [task-loop-skill] — **Цель:** агент в открытой сессии может взять задачи из task board и выполнять их одну за другой прямо в этой сессии — без отдельного daemon-процесса, без спауна новых claude-процессов. **Что делает скил (поведение):** 1. Вызвать `tasks_claim_next` (с учётом POLLER_PROJECTS из env или аргумента) @@ -1080,11 +1080,25 @@ No `consult` was needed; nothing irreversible or cross-cutting. Files changed: ` **Weight:** needs-claude **Notify:** OpeItcLoc03/workshop -**Status:** active -**Where I stopped:** Взята в работу в интерактивной сессии (DESKTOP, claude-opus). Старт TDD-цикла написания скила task-loop. -**Next action:** Прочитать superpowers:writing-skills + test-driven-development; короткий дизайн-заход по краевым случаям (stop-on-empty, park-on-failure, heartbeat-TTL); затем baseline-сценарий без скила. +**Status:** done +**Where I stopped:** VERDICT DONE — skill task-loop v0.1.0 shipped 0016c45; TDD RED→GREEN→REFACTOR complete; acceptance 1-6 met via subagent runs; deployment baselines (install/hermes-mapping/test-trigger) filed as follow-ups +**Next action:** (none — kept until merged) **Branch:** master **Notify:** OpeItcLoc03/workshop + + +## Closure (2026-06-11, DESKTOP claude-opus) + +Shipped `skills/task-loop/SKILL.md` v0.1.0 in commit `0016c45` (pushed). Full TDD cycle per writing-skills: +- **RED** — 2 clean-context subagents (dry-run) revealed gaps: claim scope diverged (federation vs current), both missed the `using-tasks` session_break gate + `.tasks/.lock`, consult-gate boundary unclear, paused-vs-blocked ambiguous. +- **GREEN** — SKILL.md closes all five; compliance subagent B clean (scope=current, human-only→stop-before-close, session_break halts drain, external blocker→blocked+rollback not close, empty→stop). +- **REFACTOR** — compliance A chose `CronCreate` for long-watch → loophole; reworded long-watch to mandate `ScheduleWakeup` (this session) and forbid `CronCreate` (separate session = daemon) always. Re-test passed. + +Acceptance 1-6 all met by test evidence (not by inspection). Per-task detail in `.tasks/task-loop-skill.md`. + +**Follow-ups filed:** `task-loop-install`, `task-loop-hermes-mapping` (mode pending — touches claim/close/heartbeat infra), `task-loop-test-trigger` (live clean-session activation). Caveat: skill not yet in `~/.claude/skills/` nor `hermes/mapping.yaml`; subagent runs are a clean-session proxy, not live-harness activation. + + ---