Files
factory/.tasks/STATUS.md

96 lines
6.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-архитектуры.
**Что сделал:**
- `bootstrap.ps1` (Windows): pre-checks, interactive config, clone .factory, home.toml, print next steps
- `bootstrap.sh` (Linux/Mac): тот же функционал для bash
- Idempotent re-run: проверка home.toml → verify → exit 0
**Acceptance criteria:**
-Оба скрипта созданы в `.factory/`
- ⏳ VM-test pending (Linux VM → Win VM)
**Reference:** `.wiki/concepts/factory-bootstrap.md`, `L0/install-log.md`
**Status:** done
**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.
**Что сделано:**
-`factory.yaml` schema (components, deps, health-checks)
- ✅ Go project structure: cmd/factory, pkg/config/manifest/health
- ✅ CLI commands: install/update/status/diagnose (cobra)
- ⏳ Build отложен — нет go на текущей машине
- ⏳ Cross-compile скрипт для VM
**Status:** paused (build на VM)
**Next action:** Создать build.sh + build.ps1 для cross-compile на Linux VM
**Branch:** n/a
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: .meeting-room / 2026-05-06T18:23:20.465Z -->
---
## ⚪ [factory-l1-vm-test] — Integration test на чистой VM.
**Что нужно:**
1. Поднять Linux VM (干净)
2. Установить go, clone .factory
3. `go build` + cross-compile (Win/Mac/Linux × amd64/arm64)
4. Прогнать `factory status` на текущей машине
5. Прогнать L0b bootstrap на новой VM
**Status:** ready
**Next action:** Запустить VM, создать build скрипты
**Branch:** n/a
---
## ⚪ [factory-yaml-mcp-subdir-schema] — Bug в `factory.yaml` v0.1.0: компоненты `interns-mcp` (lines 41-53) и `projects-meta-mcp` (lines 27-39) объявлены как отдельные git-репы:
```yaml
- name: interns-mcp
source:
type: git
url: "{git_host}/{git_org}/interns-mcp" # ← репа НЕ существует
branch: main
target: "{projects_dir}/.common/lib/interns-mcp"
```
Реальная архитектура: `interns-mcp` и `projects-meta-mcp`**поддиректории единой репы `.common`** (`OpeItcLoc03/common`). Они мигрированы туда per closed task `[migrate-to-common-lib]` (см. `~/projects/projects-meta-mcp/.tasks/STATUS.md` line 127-134). Standalone-репа `projects-meta-mcp` на gitea **архивирована** (sync logs «1 archived skipped»). Standalone-репы `interns-mcp` **никогда не существовало** — она с самого начала жила субдиректорией `.common`.
Симптом: factory.yaml вводит в заблуждение. Если/когда L1 Go-бинарь будет реализован и попытается клонировать `{git_host}/{git_org}/interns-mcp`, он провалится (404). Сейчас манифест читают только люди (и редко) — но баг ловит и агентов: на 2026-05-07 `setup-interns` агент на свежей машине (stostayer.new) bail-out с предложением «initialize from scratch» вместо clone-`.common`-fallback. И я (meeting-room агент в этой же сессии) тиражировал это во временный wrong workaround `git clone .../interns-mcp.git` — пока юзер не поправил.
**Связь:** в `claude-skills` параллельно открыта `[setup-interns-clone-fallback]` — фикс L2-скила на правильный clone-`.common` pattern. Эта таска (factory) — фикс L1 manifest на ту же проблему.
**Status:** ready
**Where I stopped:** Created 2026-05-07 после incident на stostayer.new — где `setup-interns` skill bail-out на missing source, и meeting-room агент дал wrong workaround про clone несуществующей `interns-mcp.git` репы. Юзер указал, что это всё растёт из неверного описания в `factory.yaml`. Параллельный фикс L2-скила: `[setup-interns-clone-fallback]` в `claude-skills`.
**Next action:** 1) Решить schema-вопрос в `factory.yaml`: как описать «component, который — поддиректория другой репы»? Варианты: (a) дроп `source` блока, явный `deps: [dot-common]` + `health_check` на наличие subdir + `setup_skill: setup-interns` (минимально invasive); (b) ввести новый `source.type: subdir-of`, ссылающийся на parent component; (c) `source.type: dir` с относительным path внутри другой checkout-репы. **Recommendation:** (a) — минимум schema-изменений, semantics уже выражены через `deps`.
2) Применить (a) к двум компонентам: `interns-mcp` и `projects-meta-mcp` — убрать их `source.type: git` блоки, добавить `deps: [dot-common]` (если не было), оставить `target` + `setup_skill` + `health_check`.
3) Bump `factory.yaml > version: 0.1.0``0.2.0` (MINOR — schema/contract change, breaks naive consumers если они уже что-то парсили).
4) Если есть проза в `.wiki/concepts/factory-bootstrap.md` про эти компоненты — синхронизировать (упомянуть, что MCP-серверы живут субдирами `.common`, ссылка на `[migrate-to-common-lib]`).
5) Smoke-test: пройтись по manifest'у глазами, проверить consistency. Когда L1 Go-бинарь реализуется (`[factory-l1-design]`), он будет правильно интерпретировать subdir-компоненты через deps-chain (clone .common → verify subdirs).
6) Commit `fix(factory.yaml): v0.2.0 — interns-mcp + projects-meta-mcp как subdirs of .common, не standalone репы`.
7) `tasks_close`.
**Branch:** n/a
<!-- created-by: OpeItcLoc03@DESKTOP-NSEF0UK / from: meeting-room / 2026-05-07T10:37:18.577Z -->
---