Files
openspec-lab/PRD.md
T
2026-09-06 12:33:46 +00:00

30 lines
2.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PRD — OpenSpec Lab
## Цель
Внедрить spec-driven подход (OpenSpec) для задач настройки инфраструктуры Hermes/homelab; собрать рабочий инструмент «спека → реализация → проверка → архив» и применить к реальным задачам пользователя.
## Пользователи
- Владелец homelab / Hermes-агент (автономная работа по задачам).
## Функциональные требования
- FR1: Цикл propose → apply → archive работает через CLI openspec.
- FR2: Hermes-скиллы openspec-* подключены (skills.external_dirs → .hermes/skills/openspec-*).
- FR3: config.yaml содержит инфраструктурный контекст (пути /opt/<svc>/, systemd, docker, gitverse) и rules.
- FR4: Готовые изменения фиксируются как change-артефакты (proposal/specs/design/tasks) и архивируются с переносом delta в main specs.
- FR5: Реальные задачи пользователя проходят через OpenSpec-цикл (пример: tavily-proxy-setup, local-extractor).
## Нефункциональные требования
- NFR1: Всё в /opt/hermes (единый каталог; .hermes — симлинк на /opt/hermes/.hermes).
- NFR2: Изменения системы — только инфраструктурные (systemd, docker), с rollback-инструкцией в design.md.
- NFR3: Лабораторные эксперименты не затрагивают прод (например, test-порты 8972/8973, не 8971).
- NFR4: open Безопасность: токены/PAT хранятся в obsidian-vault, не в git.
## Границы (что НЕ делаем)
- Не переписываем Hermes/его плагины под OpenSpec.
- Не тащим OpenSpec в прод-проекты, пока лаба не покажет ценность.
- Не создаём новых облачных зависимостей (локальный экстрактор — приоритет).
## Критерии готовности
- G1: Полный цикл хотя бы для 2 реальных задач (архивированы, delta в main specs). ✅ (tavily-proxy-setup + add-vpn-tunnel-proxy)
- G2: Локальный экстрактор работает без облака (local-режим, тесты 2.2/2.3 зелёные).
- G3: Лаба в gitverse (push сделан, remote живой).