codegraph worktree rule (projectPath), feature start order
This commit is contained in:
parent
3d1e2c5094
commit
d604ae3588
@ -1,6 +1,8 @@
|
||||
# Changelog
|
||||
|
||||
## 0.2.0 — 2026-09-27
|
||||
- codegraph: `codegraph init` в worktree и `projectPath` в вызовах `codegraph_explore` — MCP-сервер видит только индекс папки запуска.
|
||||
- Порядок старта фичи: worktree на временной ветке → issue → переименование ветки (хук guard-main блокирует запись на main).
|
||||
- Маркировка находок и решений: `T<n>.<k>`, `C/I/M-n`, `R-n`, `O-n`, `H-n`; обязательный статус fixed / deferred / rejected.
|
||||
- Чеклист закрытия: issue закрывается только при выполнении всех её пунктов, иначе комментарий с закрытыми маркерами; неприменимые к bounded пункты пропускаются с пометкой.
|
||||
- Чеклист закрытия: п. 6 — отложенные находки собираются в issue Gitea `Follow-ups from #N`.
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
- **Gitea** помнит *что делать* между сессиями и неделями. Issue = фича, PR = точка человеческого контроля.
|
||||
- **OpenSpec** помнит *как система должна себя вести*. `openspec/specs/` — текущее состояние, `openspec/changes/<id>/` — дельта текущей фичи. После merge дельта архивируется и вливается в specs.
|
||||
- **Superpowers** ведёт *процесс внутри одной фичи*: brainstorming → writing-plans → subagent-driven-development → ревью → finishing-a-development-branch. Прогресс внутри плана живёт в ledger (`.superpowers/sdd/<plan>/progress.md`), который переживает компакцию и обрыв сессии, но удаляется после завершения.
|
||||
- **codegraph** — карта кода для сабагентов: `codegraph_explore` вместо grep/Read по файлам.
|
||||
- **codegraph** — карта кода для сабагентов: `codegraph_explore` вместо grep/Read по файлам. MCP-сервер привязан к папке запуска сессии (основной checkout); индекс worktree строится отдельно (`codegraph init` в worktree) и опрашивается через параметр `projectPath`.
|
||||
- **Хуки** — то, что нельзя доверять промпту. Superpowers *просит*, хуки *запрещают*.
|
||||
|
||||
Клей между слоями — `global/CLAUDE.md`. Superpowers сам заявляет, что инструкции пользователя выше skills, поэтому вся маршрутизация живёт там.
|
||||
|
||||
@ -25,7 +25,7 @@
|
||||
## Находки и что изменено
|
||||
|
||||
1. **Контроллер «на среднем уровне» запустился на Opus.** Сессия поняла фразу как «уровнем ниже». → CLAUDE.md: контроллер — сабагент на sonnet, явно.
|
||||
2. **codegraph в worktree возвращал пусто** даже после `codegraph init`; implementer-ы читали файлы напрямую. → CLAUDE.md: при пустом ответе отметить в ledger и не тратить раунды. Причина (индекс привязан к корню репо) — открытый вопрос.
|
||||
2. **codegraph в worktree возвращал пусто** даже после `codegraph init`; implementer-ы читали файлы напрямую. → CLAUDE.md: при пустом ответе отметить в ledger и не тратить раунды. Причина найдена 28.09: MCP-сервер codegraph стартует с корнем основного checkout, где на момент пилота был только скелет; код писался в worktree, чей индекс MCP не читал. Решение: `codegraph init` в worktree + `projectPath` в вызовах.
|
||||
3. **Push в main через detached HEAD.** При архивации агент сделал `git switch --detach origin/main` и запушил; `git branch --show-current` пуст, хук пропустил. → guard-main: detached HEAD защищён, коммит/push в main только с файлами `openspec/`; архивация объявлена единственным исключением.
|
||||
4. Хвосты закрытия (ветка, worktree, pull main) оставались человеку. → чеклист закрытия из 6 пунктов в CLAUDE.md.
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
## Роли инструментов
|
||||
- Superpowers ведёт процесс внутри одной фичи: brainstorming → writing-plans → исполнение → ревью → finishing-a-development-branch.
|
||||
- Gitea (CLI `tea`) хранит задачи между сессиями. Одна фича = одна issue = одна ветка = один PR. Issue заводит агент (`tea issues create`) из формулировки цели, до brainstorming.
|
||||
- Gitea (CLI `tea`) хранит задачи между сессиями. Одна фича = одна issue = одна ветка = один PR. Issue заводит агент (`tea issues create`) из формулировки цели, до brainstorming. Порядок: сначала worktree на временной ветке (хук не даёт писать на main), затем issue, затем ветка переименовывается в `feat/<issue-id>-<slug>`.
|
||||
- OpenSpec хранит требования. `openspec/specs/` — текущее поведение системы, `openspec/changes/<id>/` — дельта текущей фичи. Спека — единственный источник истины при рулингах.
|
||||
- Ledger superpowers (`.superpowers/sdd/`) — прогресс только внутри текущего плана. Задачи плана в Gitea не дублировать.
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
- Bounded-задача (флаг, фикс, мелкая правка): без OpenSpec change и без плана. Дизайн в чате, затем создать файл `.bounded` в корне worktree (разрешает правки в src/ без плана; файл в `.gitignore`, в коммит не попадает), TDD, коммит, PR.
|
||||
- Architectural-задача: brainstorming пишет спеку не в `docs/superpowers/specs/`, а в `openspec/changes/<id>/`. В поле **Spec** плана указывается этот путь.
|
||||
- Перед architectural brainstorming прочитать релевантные файлы в `openspec/specs/` и ARCHITECTURE.md, если есть.
|
||||
- Карта кода — codegraph (MCP). Перед изменением implementer вызывает `codegraph_explore` по своей области вместо grep/Read по файлам. Это инструмент внутри процесса, а не замена skill-check. В новом проекте: `codegraph init` один раз. Если `codegraph_explore` возвращает пусто (известная проблема в worktree под `.claude/worktrees/`), один раз сообщить об этом в ledger и дальше использовать Read, не тратя раунды на переиндексацию.
|
||||
- Карта кода — codegraph (MCP). MCP-сервер запускается в корне основного checkout и по умолчанию отвечает только по его индексу; код ветки в worktree он не видит. Поэтому сразу после создания worktree выполнить в нём `codegraph init` (индекс локальный, в git не попадает), а во всех вызовах `codegraph_explore` передавать `projectPath` = абсолютный путь worktree. Перед изменением implementer вызывает `codegraph_explore` по своей области вместо grep/Read по файлам. Если ответ всё же пуст — один раз отметить в ledger и дальше использовать Read, не тратя раунды на переиндексацию.
|
||||
|
||||
## Исполнение
|
||||
- Работа только в worktree. Ветка называется по issue: `feat/<issue-id>-<slug>`.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user