Files
factory/.tasks/STATUS.md

62 lines
4.7 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.
# Task Board
_Updated: 2026-05-06_
Per-task deep context lives in `.tasks/<task-slug>.md` (created on demand by `using-tasks`).
**Status legend:** 🔴 active · 🟡 paused · ⚪ ready · 🟢 done · 🔵 blocked · ⚫ cancelled
---
## ⚪ [factory-bootstrap-script] — Извлечь шаги из `L0/install-log.md` (field-test 2026-05-06 на Win11 ноуте) в `bootstrap.ps1` (Windows) и `bootstrap.sh` (Linux/Mac). Скрипты — entry point L0b factory-архитектуры.
**Что должен делать скрипт** (по итогам field-test'а):
1. Detect platform (Win/Linux/Mac), выбрать ветку.
2. Pre-check: git, curl, mise, claude установлены (сообщить если нет).
3. Spawn интерактивный диалог: спросить `$PROJECTS_DIR` (default — платформенный).
4. Clone `factory` репо в `$PROJECTS_DIR/.factory/`.
5. Инициализировать `~/.config/factory/home.toml` (projects_dir, client, installed_at).
6. Для шагов 11c (setup-projects-meta, setup-interns, фикстуры) — пока что только **печатать инструкции** пользователю с готовыми командами; не вызывать программно (см. Q3 в дизайне про slash-command-bridge).
7. **Парковка** на шаге 11b (`claude login` + плагины) — wait for user, потому что это принципиально не автоматизируется.
8. Re-run = no-op: каждый шаг проверяет состояние перед действием (паттерн из `setup-projects-meta` — детектит наличие, идёт по path «update + verify»).
**Acceptance criteria:**
- Прогон на чистой машине (Linux VM первой, потом Win VM) заканчивается тем же state'ом, что был получен вручную в field-test'е.
- Re-run скрипта на уже бутстрапнутой машине = серия "already installed" сообщений, exit 0.
- gap'ы из install-log'а (секция «Gaps / questions surfaced during field-test») закрыты или явно отмечены как known limitations в README.
**Reference:** `.wiki/concepts/factory-bootstrap.md` (полный дизайн), `L0/install-log.md` (сырой field-test лог).
**Status:** ready
**Where I stopped:** (not started)
**Next action:** Прогнать install-log.md глазами, выписать минимальный набор шагов, набросать `bootstrap.ps1` и `bootstrap.sh` skeleton'ы.
**Branch:** n/a
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: .meeting-room / 2026-05-06T18:23:08.378Z -->
---
## 🔵 [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 <name>`.
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
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: .meeting-room / 2026-05-06T18:23:20.465Z -->
---