From 69611685d4e9a239b29153d94daaf8e421e4f0c1 Mon Sep 17 00:00:00 2001 From: GRayHook Date: Wed, 17 Jun 2026 10:25:09 +0700 Subject: [PATCH] =?UTF-8?q?TODO:=20mark=20phase=203=20complete=20=E2=80=94?= =?UTF-8?q?=20skill=20detection=20helpers=20and=20tests.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Phases 0–3 done; next up is expand.ts (phase 4). Co-authored-by: Cursor --- AGENTS.md | 2 +- TODO.md | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index 927dcb7..5dabfe0 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -10,7 +10,7 @@ |---|---| | Продукт | Extension `skill-reinject` для [Pi Coding Agent](https://github.com/earendil-works/pi) | | Цель | Отслеживать вызванные skills и повторно инжектить их после **auto** compaction | -| Статус | Спецификация готова; **фаза 0** завершена; реализация — фазы 1+ в `TODO.md` | +| Статус | Спецификация готова; **фазы 0–3** завершены; реализация — фазы 4+ в `TODO.md` | | Целевой API | Публичный `ExtensionAPI` Pi (`extensions.md`), без приватных internal imports | | Совместимость | [@capyup/pi-auto-compact](https://github.com/capyup/pi-auto-compact) — режим `defer` по умолчанию (см. SPEC §16) | diff --git a/TODO.md b/TODO.md index 863af44..97adb59 100644 --- a/TODO.md +++ b/TODO.md @@ -141,11 +141,11 @@ ### Фаза 3 — Детекция skills -- [ ] **detect.ts slash** — `detectSlashSkill(text)` → `/^\/skill:([a-z0-9-]+)/`; зачем: источник `slash` §6.2 -- [ ] **detect.ts skill-block** — `parseSkillBlocksFromText(text)` (regex как `parseSkillBlock`); зачем: источник `skill-block` §6.2 -- [ ] **detect.ts read-path** — `matchReadPathToSkill(path, skills)` по `filePath` из resourceLoader; зачем: источник `read` §6.2 -- [ ] **detect.ts trackReadPaths gate** — пропуск read-детекции при `trackReadPaths: false`; зачем: §6.2, §3 -- [ ] **test/detect.test.ts** — slash, blocks, read match, trackReadPaths off; зачем: §12.1 +- [x] **detect.ts slash** — `detectSlashSkill(text)` → `/^\/skill:([a-z0-9-]+)/`; зачем: источник `slash` §6.2 +- [x] **detect.ts skill-block** — `parseSkillBlocksFromText(text)` (regex как `parseSkillBlock`); зачем: источник `skill-block` §6.2 +- [x] **detect.ts read-path** — `matchReadPathToSkill(path, skills)` по `filePath` из resourceLoader; зачем: источник `read` §6.2 +- [x] **detect.ts trackReadPaths gate** — пропуск read-детекции при `trackReadPaths: false`; зачем: §6.2, §3 +- [x] **test/detect.test.ts** — slash, blocks, read match, trackReadPaths off; зачем: §12.1 ---