Compare commits
1 commit
main
...
docs/agent
| Author | SHA1 | Date | |
|---|---|---|---|
| 6ebba84394 |
3 changed files with 16 additions and 3 deletions
|
|
@ -14,7 +14,13 @@ tools: Task, Read, Glob, Grep, Bash, mcp__obsidian__obsidian_simple_search, mcp_
|
||||||
>
|
>
|
||||||
> **Модель = модель окна.** Frontmatter `model: sonnet` действует ТОЛЬКО при Task-spawn (запрещён).
|
> **Модель = модель окна.** Frontmatter `model: sonnet` действует ТОЛЬКО при Task-spawn (запрещён).
|
||||||
> Твой issue — ЕДИНСТВЕННЫЙ канал к worker'у (он не видит твой контекст, не читает vault). Качество
|
> Твой issue — ЕДИНСТВЕННЫЙ канал к worker'у (он не видит твой контекст, не читает vault). Качество
|
||||||
> всего pipeline упирается в качество твоей декомпозиции → запускай окно в сильной модели осознанно.
|
> всего pipeline упирается в качество твоей декомпозиции.
|
||||||
|
>
|
||||||
|
> **⚠️ ЧИТАТЬ ПОЛНОЕ ТЕЛО ISSUE ПЕРЕД ЛЮБЫМ ДЕЙСТВИЕМ.** Прежде чем оставить коммент, сменить
|
||||||
|
> лейбл или принять решение по issue — получи актуальное тело через `mcp__forgejo__get_issue`
|
||||||
|
> (не полагайся на title / память / предыдущий тик). Если issue касается кода — verify актуальный
|
||||||
|
> код в main (`git show forgejo/main:<file>` или Grep). Один выверенный коммент лучше «коммент →
|
||||||
|
> опровержение». (Инцидент 2026-05-31: mis-read #884 по title → два взаимоисключающих коммента.)
|
||||||
|
|
||||||
> **Forgejo API → `mcp__forgejo__*` tools** (primary; полный mapping в [[_autonomous_pickup]] § «Forgejo операции»). curl — только fallback. Запуск окна: `scripts/start-bot.ps1 analyst`.
|
> **Forgejo API → `mcp__forgejo__*` tools** (primary; полный mapping в [[_autonomous_pickup]] § «Forgejo операции»). curl — только fallback. Запуск окна: `scripts/start-bot.ps1 analyst`.
|
||||||
|
|
||||||
|
|
@ -181,6 +187,9 @@ Files/сигнатур/бинарного DoD, ≥2 толкования) — **
|
||||||
- ❌ **`status/ready` → потом переписываю тело** — ready только на финальном verified-теле; иначе
|
- ❌ **`status/ready` → потом переписываю тело** — ready только на финальном verified-теле; иначе
|
||||||
держи `status/blocked` (воркер берёт ready за ~30s)
|
держи `status/blocked` (воркер берёт ready за ~30s)
|
||||||
- ❌ **Label-изменение без аудита тела** — «поменяй лейблы» ⇒ проверь+перепиши тонкое тело до ready
|
- ❌ **Label-изменение без аудита тела** — «поменяй лейблы» ⇒ проверь+перепиши тонкое тело до ready
|
||||||
|
- ❌ **Действие по issue без чтения ПОЛНОГО тела** — ВСЕГДА `mcp__forgejo__get_issue` ПЕРЕД
|
||||||
|
комментом/лейблом/решением. Не полагаться на title, память, предыдущий тик. Если про код —
|
||||||
|
verify актуальный код в main. (Anti-pattern: «написал коммент → опроверг себя вторым комментом»)
|
||||||
- ✅ **Метрики из issue верифицируй на live-БД** перед ready: `mcp__postgres-tradein__execute_sql` для tradein (NULL %, coverage, anchor n, stale-counts), `mcp__postgres-gendesign__execute_sql` для основной. Не переписывай цифру из старой vault-заметки без своего SELECT — данные дрейфуют. **postgres-tradein** = отдельная trade-in БД (scraped avito/cian/yandex, estimator), **postgres-gendesign** = основная.
|
- ✅ **Метрики из issue верифицируй на live-БД** перед ready: `mcp__postgres-tradein__execute_sql` для tradein (NULL %, coverage, anchor n, stale-counts), `mcp__postgres-gendesign__execute_sql` для основной. Не переписывай цифру из старой vault-заметки без своего SELECT — данные дрейфуют. **postgres-tradein** = отдельная trade-in БД (scraped avito/cian/yandex, estimator), **postgres-gendesign** = основная.
|
||||||
- ✅ Один issue = единственное толкование. Перечитай глазами worker'а с нулевым контекстом перед CREATE
|
- ✅ Один issue = единственное толкование. Перечитай глазами worker'а с нулевым контекстом перед CREATE
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -27,7 +27,11 @@ QA в autonomous-pickup mode. Polling issues с `status/qa` (PR уже merged au
|
||||||
1. KILL-SWITCH check (см. _autonomous_pickup.md)
|
1. KILL-SWITCH check (см. _autonomous_pickup.md)
|
||||||
2. PICKUP:
|
2. PICKUP:
|
||||||
GET issues?labels=status/qa&state=open&sort=updated-desc&limit=3
|
GET issues?labels=status/qa&state=open&sort=updated-desc&limit=3
|
||||||
Нет → result: idle, sleep 5m
|
Нет → ПЕРЕД тем как объявить idle: перепроверь без limit (или limit:1) что
|
||||||
|
status/qa&state=open реально пуст. Причина: limit:3 может вернуть 0 при
|
||||||
|
ошибке запроса, а застрявшие items копятся. Если после перепроверки пусто
|
||||||
|
→ result: idle, sleep 5m. Если есть — обрабатывай по terminal-правилу
|
||||||
|
(Non-UI-testable) или обычному smoke, не объявляй idle.
|
||||||
3. Для каждой issue (max 3 за тик):
|
3. Для каждой issue (max 3 за тик):
|
||||||
a. Read issue body — что нужно проверить (acceptance criteria из analyst'а)
|
a. Read issue body — что нужно проверить (acceptance criteria из analyst'а)
|
||||||
b. Read related vault — какие smokes есть для этого scope
|
b. Read related vault — какие smokes есть для этого scope
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ tools: Read, Write, Edit, Glob, Grep, Bash, mcp__obsidian__obsidian_simple_searc
|
||||||
>
|
>
|
||||||
> **Модель = модель окна.** Frontmatter `model` действует только при Task-spawn (запрещён).
|
> **Модель = модель окна.** Frontmatter `model` действует только при Task-spawn (запрещён).
|
||||||
> Резолвер несёт высокую judgment-нагрузку (классификация блокера, прод-операции, решение
|
> Резолвер несёт высокую judgment-нагрузку (классификация блокера, прод-операции, решение
|
||||||
> «задача vs решение-человека») → запускай окно в сильной модели (Opus) осознанно.
|
> «задача vs решение-человека»). Окно запускается через `start-bot.ps1 resolver` (Sonnet).
|
||||||
|
|
||||||
> **Forgejo API → `mcp__forgejo__*` tools** (mapping в [[_autonomous_pickup]] § «Forgejo операции»). curl — fallback.
|
> **Forgejo API → `mcp__forgejo__*` tools** (mapping в [[_autonomous_pickup]] § «Forgejo операции»). curl — fallback.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue