docs: перевод документации на канон av-dev

- Раскладка docs/ приведена к канону 2: заведены passport/architecture/
  database/security/review и research; docs/specs, drafts, backlog, review/
  и BRIEF.md разобраны и удалены, беклог переехал в docs/tasks (34 задачи,
  6 целей, слаги на английский).
- Нарративы specs удалены как дубли openspec-спек после поимённой сверки;
  остаток заведён задачами (редактор маппинга ревью, крайние случаи
  именования), отказ от сущности title промоутнут в ADR.
- Проектные копии агентов и скиллов ревью/пайплайна удалены в пользу
  плагинов av-dev-pm и av-dev-pipeline; в task gate добавлен шаг canon
  вместо er-schema.
This commit is contained in:
av
2026-08-04 09:27:26 +03:00
parent 08bef2cac0
commit 42d5b73a04
128 changed files with 1606 additions and 4889 deletions
+2 -1
View File
@@ -3,7 +3,8 @@
//
// Каждое правило здесь — бывшая строка прозаической конвенции: у него есть
// детерминированный оракул, поэтому ему место в конвейере сборки, а не в
// промпте ревью (см. .claude/skills/review-pipeline/references/promote.md).
// промпте ревью (процедура промоута — references/promote.md скилла
// av-dev-pipeline:review-pipeline).
package archrules
import (
+1 -1
View File
@@ -61,7 +61,7 @@ type QBittorrent struct {
PathMap map[string]string `toml:"path_map"`
}
// Paths — хост-пути медиа-песочницы (см. docs/specs/architecture.md).
// Paths — хост-пути медиа-песочницы (см. docs/architecture.md).
type Paths struct {
Downloads string `toml:"downloads"`
Movies string `toml:"movies"`
+1 -1
View File
@@ -1,5 +1,5 @@
// Package layout раскладывает распознанные файлы по конвенциям Jellyfin
// хардлинками, не трогая исходную раздачу (см. docs/specs/jellyfin-layout.md).
// хардлинками, не трогая исходную раздачу (см. openspec/specs/file-layout/spec.md).
//
// Инварианты безопасности (см. architecture.md → «Раскладка файлов»):
// - линкуем только файлы; целевые каталоги создаём mkdir;
+1 -1
View File
@@ -1,6 +1,6 @@
// Package llm — провайдер LLM за интерфейсом (дискриминатор type).
//
// Реализация выбирается полем [llm].type (см. docs/specs/recognition.md).
// Реализация выбирается полем [llm].type (см. openspec/specs/recognition/spec.md).
// Первый и пока единственный тип — "openai-compat": OpenAI-совместимый Chat
// Completions API (локальные серверы LM Studio/llama.cpp/Ollama и облачные
// совместимые провайдеры — DeepSeek, Qwen и др.).
+1 -1
View File
@@ -3,7 +3,7 @@
// Базы опциональны (включаются конфигом). Их роль — подтвердить распознавание
// официальным id и каноническим именем: при единичном сильном матче по
// названию+году раскладка делается автоматически, иначе уходит в review
// (см. docs/specs/recognition.md → «Модель уверенности»). Каждый клиент
// (см. openspec/specs/recognition/spec.md → «Модель уверенности»). Каждый клиент
// ходит наружу через опциональный HTTP-прокси с таймаутом.
package metadata
+1 -1
View File
@@ -1,7 +1,7 @@
// Package recognize по сигналам торрента определяет фильм/сериал, строит
// план раскладки и оценивает уверенность.
//
// Конвейер (см. docs/specs/recognition.md):
// Конвейер (см. openspec/specs/recognition/spec.md):
// 1. пред-парс имени релиза (go-ptn) — черновые название/год/сезон/серия;
// 2. вызов LLM со структурированным выводом → план в нашей схеме;
// 3. сверка с базами метаданных (TMDB/TVDB, опц.) — единичный сильный матч
+1 -1
View File
@@ -14,7 +14,7 @@ import (
// Обычно path_map пуст — все медиа-приложения монтируют /srv/media:/srv/media
// идентично, поэтому путь из API уже равен хост-пути и возвращается как есть.
// Фолбэк нужен, если адресация qBit и jellybit разойдётся (см.
// docs/specs/architecture.md).
// docs/architecture.md).
func translatePath(p string, pathMap map[string]string) string {
if len(pathMap) == 0 || p == "" {
return p