ROBCO INDUSTRIES

ZAPLAKHOV DENIS

LVL 46
PM / DEV
DEV

PA-check: как создать read-only валидатор для Project Autopilot

2026.02.26
3 MIN READ

Представьте ситуацию: вы работаете над PA-проектом, даёте задачу AI ассистенту, а в ответ получаете код, который ломает структуру проекта. Нет ai/backlog.md, неправильные статусы в таблице, несоответствие spec'ов feature-файлам. Каждый раз приходится проверять вручную, отнимая часы времени.

Так было у меня. Работал я с Project Autopilot, постоянно проверял состояние проекта вручную. Это отнимало время, создавало риск пропустить критические ошибки.

Что такое PA-проект

Project Autopilot (PA) — это система автономной разработки с AI агентами. PA-проект — это проект, который управляется через специальные AI команды, где AI агенты выполняют задачи на основе спецификаций и контролируются через backlog.

PA умеет: автоматически планировать задачи на основе идей, создавать детальные спецификации, запускать AI агентов для реализации кода, проверять качество через review агентов, и автоматически коммитить изменения.

Структура PA-проекта:

  • ai/backlog.md — таблица с задачами, статусы (NEW, SPARKED, READY, IN_PROGRESS, BLOCKED, DONE), ссылки на спецификации
  • ai/features/ — директория с спецификациями в Markdown формате
  • ai/diary/ — записи о проблемах и выводах для улучшения системы

PA работает через команды: /spark для создания спецификаций, /planner для планирования реализации, /coder для написания кода, /review для проверки качества, /check для валидации состояния проекта.

> ПРОБЛЕМА:

Project Autopilot требует чёткой структуры проекта: ai/backlog.md, ai/features/, ai/diary/. Но ни один инструмент не проверял эту структуру автоматически. Я мог случайно удалить файл, изменить формат таблицы в backlog, создать spec без соответствующего feature — и никто не подскажет, пока не наступит проблема.

Требовался инструмент, который проверяет состояние проекта без модификации файлов. Read-only валидатор, который сканирует только нужные директории и выводит структурированный отчёт.

> РЕШЕНИЕ:

Я создал PA-check — skill и агент для OpenCode, который проверяет состояние PA-проекта в read-only режиме. Сканирует только ai/backlog.md и ai/features/, не модифицирует файлы, выводит отчёт: OK/WARNINGS/BROKEN.

Структура проверок

  • Structure: наличие ai/, ai/backlog.md, ai/features/, ai/diary/
  • Backlog: парсинг markdown таблицы, валидация колонок (ID, Title, Type, Status, Spec, Updated)
  • Status validation: NEW, SPARKED, READY, IN_PROGRESS, BLOCKED, DONE
  • Spec validation: связь с ai/features/
  • Git: read-only проверки (uncommitted changes, sync status)
  • Safety: проверка на secrets (.env*, keys, tokens)
// Пример валидации статусов
const VALID_STATUSES = ["NEW", "SPARKED", "READY", "IN_PROGRESS", "BLOCKED", "DONE"]

function validateStatus(status: string): boolean {
  return VALID_STATUSES.includes(status)
}

Вывод отчёта

PA-check выводит структурированный отчёт с детализацией по секциям:

> PA CHECK REPORT
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

>> STRUCTURE: OK
✓ ai/
✓ ai/backlog.md
✓ ai/features/
✓ ai/diary/

>> BACKLOG: WARNINGS
⚠ Invalid status in row 5: "IN_REVIEW" (expected: NEW/SPARKED/READY/IN_PROGRESS/BLOCKED/DONE)

>> SPECS: OK
✓ All specs linked to features

>> GIT: BROKEN
✗ Uncommitted changes detected (12 files)
✗ Branch is behind remote by 3 commits

>> SAFETY: OK
✓ No secrets detected

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
STATUS: BROKEN (2 broken, 1 warning)

Read-only валидация — это ключевой принцип. PA-check проверяет проект, но не модифицирует файлы. Это предотвращает случайные изменения и сохраняет целостность данных.

Pro Tips: Как получить максимум

  • Используйте PA-check перед коммитами — это предотвратит попадание сломанного кода в репозиторий.
  • Интегрируйте в CI/CD — автоматическая проверка при каждом push'е гарантирует целостность проекта.
  • Следуйте рекомендациям — PA-check выводит next actions для исправления найденных проблем.
  • Проверяйте Safety секцию — случайно закоммиченные секреты — это критическая уязвимость.

Common Pitfalls: Где люди ошибаются

  • Игнорируют WARNINGS — предупреждения не критичны сейчас, но превратятся в BROKEN в будущем.
  • Не проверяют Git статус — uncommitted изменения создают конфликт между spec и реализацией.
  • Проверяют вручную вместо PA-check — автоматический валидатор никогда не пропустит то, что упустит человек.
  • Модифицируют файлы во время проверки — PA-check работает в read-only режиме, но если вы измените файлы параллельно, результаты будут некорректны.
END OF TRANSMISSION