11 KiB
Task Board
Updated: 2026-06-11 (factory-make-public done)
🟢 [infra-as-product-pointers] — Bootstrap-pointers для design infra-as-product. Pre-fills target's .wiki/CLAUDE.md Domain conventions ссылками на спецификацию. Дизайн лежит в concepts/infra-as-product.md этого репо — нужен pointer-stub чтобы следующий агент не угадывал архитектуру из where_stopped one-liner'ов.
Кто делает: любой следующий агент в этом проекте. Первая по приоритету таска — все остальные импл-таски ссылаются на дизайн через .wiki/CLAUDE.md.
Status: done Where I stopped: fore implementing any factory component. Do not invent the architecture from task prompts alone."
Assumption noted: The task's "Next action" block appeared to be minimal/truncated. I expanded it to a proper pointer stub (link + summary + guard) rather than inserting only the bare guard sentence — this is more useful for a future agent and is trivially reversible if the format needs adjusting. Next action: (none — kept until merged)
Mandatory: read design context before implementation
Before picking up any task in .tasks/, load the full design context:
- Design doc (canonical):
.wiki/concepts/infra-as-product.md— архитектура factory v1, модульная система, checklist до Алексея. - Brainstorm process trace (rationale):
~/projects/.workshop/.archive/2026-06-11-infra-as-product.md— почему каждое решение принято, что отвергнуто.
Закоммитить: wiki(claude): add design-context pointers for infra-as-product.
Branch: n/a
Weight: needs-claude
Notify: OpeItcLoc03/workshop
🟢 [factory-make-public] — Сделать репо OpeItcLoc03/factory публичным на git.kzntsv.site. Сейчас private — внешние пользователи не могут клонировать. Это первый шаг перед тем как давать factory Алексею или кому-либо ещё.
Status: done Where I stopped: Repo made public via PATCH /api/v1/repos/OpeItcLoc03/factory {"private": false}. API confirmed private=false. Next action: (none — kept until merged) Branch: n/a
🟢 [factory-bundle-mcp-servers] — Перенести MCP-серверы из .common/lib/ в factory/lib/ — курировано, без нашей операционной кухни (secrets/, config/, .tasks/). Три сервера: projects-meta-mcp, wiki-graph, interns-mcp. Источник в .common остаётся для нашей dev-среды.
Status: done
Where I stopped: commit ca669d9 — 116 files, lib/{projects-meta-mcp,wiki-graph,interns-mcp} + .gitignore + bootstrap.ps1 build step
Next action: (none — kept until merged)
Branch: n/a
🟢 [factory-bundle-skills] — Перенести минимальный набор скилов из claude-skills в factory/skills/. Bootstrap копирует их в ~/.claude/skills/ при установке. Минимальный набор: setup-wiki, using-wiki, setup-tasks, using-tasks, superpowers, project-discipline, pulling-before-work, active-platform, caveman.
Status: done
Where I stopped: perpowers:brainstorming(namespaced) depends on how it handles nested skill directories — if it doesn't, installing the plugin via/plugin install superpowers@claude-plugins-official` remains the correct path for superpowers skills, and the bundled copy serves as a pinned offline fallback. The alternative I passed over: skipping superpowers from the bundle entirely and keeping it as plugin-only.
Next action: (none — kept until merged)
Branch: n/a
🟢 [factory-write-yaml] — Написать factory.yaml — манифест компонентов с версиями и модульной системой. Ядро (всегда): MCP-серверы + skills. Модули (опционально): tasks, wiki, workshop, admin. Каждый модуль описывает что создаётся (Gitea-репо, локальный клон, CLAUDE.md-шаблон).
Status: done
Where I stopped: commit 0710baa — factory.yaml restructured (schema_version 1, core/modules split, 4 components + 4 modules with creates[]); bootstrap.ps1 gains Read-FactoryManifest + manifest-driven MCP build loop
Next action: (none — kept until merged)
Branch: n/a
🔴 [factory-write-bootstrap] — Дописать bootstrap.ps1 — закрыть все gaps из L0/install-log.md. Скрипт должен быть non-interactive и идемпотентным. Поддерживает --update режим. Параметризует git_host (не хардкодит git.kzntsv.site). Спрашивает какие модули включить. Создаёт Gitea-репо через API для выбранных модулей.
Status: active Where I stopped: exit 1 Next action: Читать L0/install-log.md — все gaps отмечены. Ключевые: (1) winget PATH сброс требует restart — скрипт должен самозавершаться с --resume; (2) claude native через irm не через npm-global; (3) git clone с extraheader не с USER:TOKEN@ в URL; (4) home.toml через Set-Content не here-string; (5) Gitea API для создания wiki/workshop репо. secrets.toml вместо разрозненных auth.toml+interns.env. Branch: n/a Owner: DESKTOP-NSEF0UK:claude-sonnet:34612 Claim token: fbb1d87a-4046-4bef-98a5-b01aac2f06a3 Claim expires at: 2026-06-11T11:42:21.857Z
⚪ [factory-test-laptop] — Тест чистой установки factory на новом ноуте (field-test 2026-05-06, частично настроен через старый ручной метод). Сброс старой установки, чистый прогон bootstrap.ps1. Ноут = наш beta-test до Алексея.
Status: ready Where I stopped: (not started) Next action: На ноуте: удалить старые артефакты (/.factory, /.common, ~/.claude/skills/, mcpServers из ~/.claude.json). Клонировать публичный factory. Запустить bootstrap.ps1. Пройти по install-log.md как чеклисту — все шаги должны пройти без ручных workaround'ов. Branch: n/a
⚪ [infra-as-product-review] — Review checkpoint для брейнсторма infra-as-product (промоушен 2026-06-11).
Спецификация: .wiki/concepts/infra-as-product.md в OpeItcLoc03/factory.
Pre-impl bootstrap: infra-as-product-pointers.
Импл-таски: factory-make-public, factory-bundle-mcp-servers, factory-bundle-skills, factory-write-yaml, factory-write-bootstrap, factory-test-laptop.
Кто делает: не имплементер. Следующая сессия с чистым контекстом.
Чек-лист:
- bootstrap.ps1 прогоняется на чистой машине без ручных workaround'ов
- git_host параметризован — нет хардкода git.kzntsv.site
- secrets.toml заменяет auth.toml + interns.env
- Модульный выбор работает (tasks/wiki/workshop/admin)
- --update режим идемпотентен
Status: ready Where I stopped: (not started) Next action: Дождаться 🟢 у всех blocker-тасок включая infra-as-product-pointers. Прочитать спецификацию. Проверить factory на чистой машине по чек-листу. Findings → follow-up tasks. Branch: n/a