diff --git a/.tasks/STATUS.md b/.tasks/STATUS.md index db09435..9b7aa12 100644 --- a/.tasks/STATUS.md +++ b/.tasks/STATUS.md @@ -33,3 +33,29 @@ Per-task deep context lives in `.tasks/.md` (created on demand by `us --- + +## 🔵 [factory-l1-design] — L1 — Go-бинарь `factory` + `factory.yaml` manifest schema. См. `.wiki/concepts/factory-bootstrap.md` («Архитектура — три слоя» / L1). + +**Blocked by `factory-bootstrap-script`** — пока скрипт не закрыт и не работает на 2 платформах, в L1 идти нет смысла (риск спроектировать манифест под несуществующее L0). + +**Что нужно сделать после анблока:** +1. Финализировать ответы на Q2 (manifest location), Q4 (версионирование). Q3 (slash-command-bridge) и Q5 (secrets) — отдельные подзадачи, можно параллельно. +2. Спроектировать `factory.yaml` schema (черновик в дизайн-доке). +3. Поднять Go-проект в `~/projects/.factory/cmd/factory/`: `go-git/go-git`, `goccy/go-yaml`, `spf13/cobra`. +4. Команды: `factory install`, `factory update`, `factory status`, `factory diagnose `. +5. Health-check как single source of truth идемпотентности. +6. Cross-compile в `dist/` для Win/Mac/Linux × amd64/arm64. + +**Acceptance criteria:** +- `factory install` на чистой машине поднимает все 6+ компонентов без участия пользователя (после `claude login`). +- `factory status` показывает delta-таблицу: `name | version | health | deps`. +- Manifest нигде не хардкодит `~/projects/` — только `{projects_dir}` substitution. + +**Status:** blocked +**Where I stopped:** (not started) +**Next action:** После закрытия `factory-bootstrap-script`: финализировать Q2/Q4, набросать factory.yaml schema, скаффолдить Go-проект. +**Blocker:** factory-bootstrap-script +**Branch:** n/a + + +---