96 lines
6.7 KiB
Markdown
96 lines
6.7 KiB
Markdown
# 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:** 🟡 paused
|
||
**Next action:** Запустить VM, прогон build.sh → test L0b + L1
|
||
**Branch:** master (561a7fd)
|
||
|
||
---
|
||
|
||
## ⚪ [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 -->
|
||
|
||
---
|