Compare commits
34 Commits
99f08dbcd5
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 4f907436a7 | |||
| 5f800f0d96 | |||
| 2fc99dc2a2 | |||
| 4686f53283 | |||
| 78444f9ef3 | |||
| 8c76244c01 | |||
| f8ecad8b40 | |||
| e749570e6c | |||
| f3cad514db | |||
| 8ddcf0dd27 | |||
| f00e2c8f9e | |||
| f927061e2e | |||
| 0adbfbb0aa | |||
| 94a49206fb | |||
| 75500e5cc5 | |||
| d7a7a79cba | |||
| 46f7ac3a0c | |||
| 7611f2ec3c | |||
| 091b5f2d02 | |||
| 3f714d1b23 | |||
| 0f76613aee | |||
| 5af65948a0 | |||
| 291f8c6391 | |||
| 8764b32ee2 | |||
| 8059faf5a8 | |||
| f10a341afa | |||
| 1f471afa4e | |||
| 9b5cf9c70b | |||
| c874ba55a6 | |||
| 26e8749ea2 | |||
| f6b3e74cad | |||
| 390f938658 | |||
| 205ba78cf9 | |||
| 243c045170 |
84
.claude/skills/meeting-room-register-persona/SKILL.md
Normal file
84
.claude/skills/meeting-room-register-persona/SKILL.md
Normal file
@@ -0,0 +1,84 @@
|
||||
---
|
||||
name: meeting-room-register-persona
|
||||
description: Use when user says "добавь персону", "новый агент в комнату", "register persona <role>", or wants to register a new persona for multi-agent meetings in .meeting-room. Updates config/config.yaml (single source of truth) AND generates .wiki/entities/persons/<role-id>.md. Only this skill writes to entities/persons/.
|
||||
---
|
||||
|
||||
# meeting-room-register-persona
|
||||
|
||||
Регистрирует новую persona-роль в meeting-room: пишет в `config/config.yaml` (рантайм SoT) и генерирует карточку в `.wiki/entities/persons/<role-id>.md`.
|
||||
|
||||
## When to use
|
||||
|
||||
- Пользователь говорит «добавь персону», «новый агент в комнату», «register persona <role>».
|
||||
- Пользователь вручную поправил `config/config.yaml` и хочет регенерировать карточку — тоже сюда.
|
||||
|
||||
## Inputs (collect interactively)
|
||||
|
||||
| Поле | Тип | Пример |
|
||||
|---|---|---|
|
||||
| `role-id` | snake_case, уникален в `config.yaml#roles` | `analyst` |
|
||||
| `name` | display name | `Analyst` |
|
||||
| `model` | строка | `glm-5.1` |
|
||||
| `provider` | ключ из `config.yaml#providers` | `ollama_cloud` |
|
||||
| `temperature` | число 0–1.5 | `0.5` |
|
||||
| `tools` | строка-категория | `discussion` / `web` / `none` |
|
||||
| `system_prompt` | многострочный текст | … |
|
||||
|
||||
Если данные уже есть в `config.yaml` (регенерация карточки) — не спрашивать, читать оттуда.
|
||||
|
||||
## Steps
|
||||
|
||||
1. **Прочитать `config/config.yaml`.** Если `roles.<role-id>` уже существует:
|
||||
- Если поля совпадают со словами пользователя — это регенерация, идти к шагу 4.
|
||||
- Иначе спросить: **overwrite** / **abort** / **новый id**.
|
||||
2. **Записать в `config.yaml`** под ключом `roles.<role-id>` со всеми полями.
|
||||
- Использовать YAML-парсер с round-trip (`ruamel.yaml` для Python, или ручной insert по структуре). **Не** перезаписывать файл `yaml.dump`-ом без round-trip — порвёт комментарии и порядок ключей.
|
||||
3. **Сгенерировать `.wiki/entities/persons/<role-id>.md`:**
|
||||
|
||||
```markdown
|
||||
---
|
||||
role-id: <role-id>
|
||||
model: <model>
|
||||
provider: <provider>
|
||||
source: config/config.yaml
|
||||
---
|
||||
|
||||
# <name>
|
||||
|
||||
**Model:** <model> (<provider>), temperature <temperature>
|
||||
**Tools:** <tools>
|
||||
|
||||
## System prompt
|
||||
|
||||
<первые 500 символов system_prompt>...
|
||||
|
||||
## Source of truth
|
||||
|
||||
Полное определение — в `config/config.yaml#roles.<role-id>`. Эта карточка генерируется скилом `meeting-room-register-persona`; не редактировать вручную.
|
||||
```
|
||||
|
||||
4. **Дописать в `.wiki/log.md`:**
|
||||
|
||||
```
|
||||
<YYYY-MM-DD> registered <role-id>
|
||||
```
|
||||
|
||||
5. **Сообщить пользователю** созданные/обновлённые пути.
|
||||
|
||||
## Failure modes
|
||||
|
||||
- `config/config.yaml` отсутствует или невалидный YAML → abort, перечислить ошибки парсинга.
|
||||
- Конфликт `role-id` без выбора пользователя → abort.
|
||||
- Запись в `config.yaml` упала → abort до записи карточки (single-direction failure).
|
||||
|
||||
## Side effects
|
||||
|
||||
- Изменяет `config/config.yaml`.
|
||||
- Создаёт/обновляет `.wiki/entities/persons/<role-id>.md`.
|
||||
- Аппендит строку в `.wiki/log.md`.
|
||||
|
||||
## What NOT to do
|
||||
|
||||
- Не пиши в `entities/persons/` ничего, кроме как через эту последовательность.
|
||||
- Не редактируй `config.yaml` без round-trip парсера.
|
||||
- Не удаляй существующие роли без явной команды пользователя.
|
||||
85
.claude/skills/meeting-room-start-meeting/SKILL.md
Normal file
85
.claude/skills/meeting-room-start-meeting/SKILL.md
Normal file
@@ -0,0 +1,85 @@
|
||||
---
|
||||
name: meeting-room-start-meeting
|
||||
description: Use when user says "запусти совещание <topic>", "start meeting <scenario>", "новое совещание <topic>", or wants to begin a multi-agent meeting from a scenarios/<topic>.md file in .meeting-room. Validates scenario frontmatter, creates skeleton transcript at .wiki/raw/transcripts/<date>-<topic>.md, opens working buffer at .brainstorm/<topic>.md, logs to .wiki/log.md.
|
||||
---
|
||||
|
||||
# meeting-room-start-meeting
|
||||
|
||||
Запускает совещание из `scenarios/<topic>.md`: валидирует frontmatter, создаёт skeleton-транскрипт в `.wiki/raw/transcripts/`, заводит рабочий буфер в `.brainstorm/`, логирует в `.wiki/log.md`.
|
||||
|
||||
## When to use
|
||||
|
||||
- Пользователь говорит «запусти совещание <topic>», «start meeting <scenario>», «новое совещание <topic>».
|
||||
- Пользователь указал scenario-файл и хочет подготовить артефакты под него.
|
||||
|
||||
## Inputs
|
||||
|
||||
- Путь `scenarios/<topic>.md` или просто `<topic>` (тогда искать `scenarios/<topic>.md`).
|
||||
|
||||
## Steps
|
||||
|
||||
1. **Прочитать `scenarios/<topic>.md`.** Распарсить YAML frontmatter.
|
||||
2. **Валидация:**
|
||||
- `name`, `problem` непустые;
|
||||
- `participants` — список, все элементы существуют как ключи `roles.*` в `config/config.yaml`;
|
||||
- `max_rounds` — целое (если присутствует).
|
||||
- При ошибке — перечислить, не создавать ничего.
|
||||
3. **Сегодняшняя дата** → `<date> = YYYY-MM-DD` (UTC локального компа).
|
||||
4. **Создать `.wiki/raw/transcripts/<date>-<topic>.md`** (skeleton):
|
||||
|
||||
```markdown
|
||||
---
|
||||
date: <date>
|
||||
scenario: scenarios/<topic>.md
|
||||
participants: [<participant1>, <participant2>, ...]
|
||||
problem: |
|
||||
<первая строка problem из scenario>
|
||||
---
|
||||
|
||||
# <name> — transcript <date>
|
||||
|
||||
<!-- runner будет дописывать сюда. Append-only после первой записи. -->
|
||||
```
|
||||
|
||||
5. **Создать `.brainstorm/<topic>.md`** (если ещё нет):
|
||||
|
||||
```markdown
|
||||
# <name> — working buffer
|
||||
|
||||
- **Scenario:** [scenarios/<topic>.md](../scenarios/<topic>.md)
|
||||
- **Transcript:** [.wiki/raw/transcripts/<date>-<topic>.md](../.wiki/raw/transcripts/<date>-<topic>.md)
|
||||
- **Started:** <date>
|
||||
|
||||
## Заметки
|
||||
|
||||
<!-- здесь черновик. Промочится скилом meeting-room-promote-brainstorm. -->
|
||||
```
|
||||
|
||||
Если файл уже существует — спросить: **append-skip**, **overwrite**, **abort**.
|
||||
|
||||
6. **Дописать в `.wiki/log.md`:**
|
||||
|
||||
```
|
||||
<date> started <topic> ([<participants comma-sep>])
|
||||
```
|
||||
|
||||
7. **Вернуть пользователю:** созданные пути и подсказку — как запустить runner (на сегодня запуск runner'а вне scope, скил готовит только артефакты).
|
||||
|
||||
## Failure modes
|
||||
|
||||
- `scenarios/<topic>.md` отсутствует → abort.
|
||||
- Frontmatter невалидный → перечислить ошибки, ничего не создавать.
|
||||
- Participant отсутствует в `config/config.yaml#roles` → abort с указанием отсутствующих ролей.
|
||||
- `.brainstorm/<topic>.md` уже есть и пользователь выбрал abort → exit без записи в `raw/transcripts/`.
|
||||
|
||||
## Side effects
|
||||
|
||||
- Создаёт `.wiki/raw/transcripts/<date>-<topic>.md`.
|
||||
- Создаёт `.brainstorm/<topic>.md` (или модифицирует с разрешения).
|
||||
- Аппендит строку в `.wiki/log.md`.
|
||||
|
||||
## What NOT to do
|
||||
|
||||
- Не запускать runner — это вне scope скила.
|
||||
- Не редактировать `scenarios/<topic>.md`.
|
||||
- Не пытаться угадать `participants` если их нет в `config.yaml`.
|
||||
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
/.claude/settings.local.json
|
||||
68
.wiki/CLAUDE.md
Normal file
68
.wiki/CLAUDE.md
Normal file
@@ -0,0 +1,68 @@
|
||||
# .wiki — Schema (room-meta only)
|
||||
|
||||
Эта `.wiki/` — локальная и узко-доменная: **только знание о том, как работает meeting-room**. Доменное содержимое из совещаний промочивается в глобальную вики через `mcp__projects-meta__knowledge_ingest`, не сюда.
|
||||
|
||||
## Layout (Karpathy LLM Wiki canonical)
|
||||
|
||||
- `index.md` — навигация
|
||||
- `overview.md` — что такое meeting-room на одной странице
|
||||
- `log.md` — append-only хронологический лог: `<YYYY-MM-DD> <event-type> <topic> [details]`
|
||||
- `raw/research/<date>-<topic>.md` — внешние clippings, immutable
|
||||
- `raw/transcripts/<date>-<topic>.md` — транскрипты совещаний, immutable
|
||||
- `entities/persons/<role-id>.md` — карточки persona (генерируются скилом `meeting-room-register-persona` из `config/config.yaml`)
|
||||
- `entities/projects/<proj>.md` — pointer-карточки целевых проектов
|
||||
- `concepts/<topic>.md` — room-meta: методология, ретроспективы, паттерны фасилитации
|
||||
- `packages/<tool>.md` — инструменты комнаты (runner, framework, schema)
|
||||
- `sources/<title>.md` — внешняя литература
|
||||
|
||||
## Frontmatter requirements
|
||||
|
||||
**`entities/persons/<role-id>.md`:**
|
||||
|
||||
```yaml
|
||||
---
|
||||
role-id: analyst
|
||||
model: glm-5.1
|
||||
provider: ollama_cloud
|
||||
source: config/config.yaml
|
||||
---
|
||||
```
|
||||
|
||||
**`raw/research/<date>-<topic>.md`:**
|
||||
|
||||
```yaml
|
||||
---
|
||||
date: 2026-05-03
|
||||
source: <URL>
|
||||
topic: <topic>
|
||||
---
|
||||
```
|
||||
|
||||
**`raw/transcripts/<date>-<topic>.md`:**
|
||||
|
||||
```yaml
|
||||
---
|
||||
date: 2026-05-03
|
||||
scenario: scenarios/<topic>.md
|
||||
participants: [moderator, skeptic, idea_generator, analyst]
|
||||
problem: <one-line>
|
||||
---
|
||||
```
|
||||
|
||||
**`concepts/<topic>.md`:**
|
||||
|
||||
```yaml
|
||||
---
|
||||
date: 2026-05-05
|
||||
source: .brainstorm/<topic>.md
|
||||
status: promoted
|
||||
type: room-meta
|
||||
---
|
||||
```
|
||||
|
||||
## Hard rules
|
||||
|
||||
1. **Никакого доменного содержимого** в `concepts/`. Если контент пригодился бы в чужом проекте — он не room-meta, а domain → `mcp__projects-meta__knowledge_ingest` в целевой проект.
|
||||
2. `raw/` immutable: append-only, не редактируем после фиксации.
|
||||
3. `entities/persons/` пишет **только** скил `meeting-room-register-persona`. Source-of-truth — `config/config.yaml`.
|
||||
4. `log.md` append-only, формат строки: `<YYYY-MM-DD> <event> <topic> [details]`. Никаких удалений.
|
||||
0
.wiki/concepts/.gitkeep
Normal file
0
.wiki/concepts/.gitkeep
Normal file
145
.wiki/concepts/meeting-room-architecture.md
Normal file
145
.wiki/concepts/meeting-room-architecture.md
Normal file
@@ -0,0 +1,145 @@
|
||||
---
|
||||
date: 2026-05-05
|
||||
source: .brainstorm/meeting-room-redesign.md
|
||||
status: promoted
|
||||
type: room-meta
|
||||
amended: 2026-05-08 (split-rewrite — runtime only, boss-зона выделена в .workshop/.wiki/concepts/workshop-architecture.md)
|
||||
---
|
||||
|
||||
# Meeting-Room Architecture — promoted spec (runtime-only post-split)
|
||||
|
||||
> Промочено 2026-05-05 из `.brainstorm/meeting-room-redesign.md`. Spec, который комната провалидировала на самой себе: первый прогон скила `meeting-room-promote-brainstorm` сделан над этим файлом. Implementation plan архивирован отдельно — `.archive/2026-05-05-meeting-room-redesign-plan.md`.
|
||||
>
|
||||
> **2026-05-08 split-rewrite:** комната разделена на multi-agent runtime (`.meeting-room/`, эта зона) и single-agent boss-zone (`.workshop/`). Из текущего документа удалены boss-секции (`.brainstorm/`, `.archive/`, `promote-brainstorm`-скил, single-agent CSO в lifecycle, room-meta concepts) — они переехали в `.workshop/.wiki/concepts/workshop-architecture.md`. Полная исходная версия доступна в git-истории (см. commit перед 2026-05-08). Мотивация и протокол split'а: `.workshop/.wiki/concepts/meeting-room-split.md` (после step #12 миграции).
|
||||
|
||||
## 1. Контекст
|
||||
|
||||
`.meeting-room/` — multi-agent runtime для срежиссированных круглых столов: тематических совещаний с ролями (analyst, skeptic, idea_generator, moderator …), сценарием и транскриптом. Не код-проект.
|
||||
|
||||
Зона выделена под темы, которые выигрывают от **многопозиционного спора** (architect vs implementer vs PM, или иные оппозиции). Single-agent + user брэйнсторм без режиссуры — другой режим, живёт в `.workshop/`. Дистилляция транскрипт → концепт — отдельный явный handoff в `.workshop/`.
|
||||
|
||||
## 2. Принятые решения
|
||||
|
||||
| # | Развилка | Решение |
|
||||
|---|---|---|
|
||||
| 1 | Wiki/Tasks семантика | локальный `.wiki/` есть (room-meta), локальный `.tasks/` нет (запрещён §3 в `CLAUDE.md`) |
|
||||
| 2 | Folder-миграция | Karpathy-канон: всё «сырое» в `.wiki/raw/`, скилы — в `~/projects/claude-skills/` |
|
||||
| 3 | Skills v1 | `meeting-room-start-meeting`, `meeting-room-register-persona` (boss-скил `workshop-promote-brainstorm` выделен в workshop-зону) |
|
||||
| 4 | Persona sync | писать в `entities/persons/` имеет право только `register-persona`; `config/config.yaml` — SoT |
|
||||
| 5 | Project-discipline | master-only ✅, push-by-permission ✅, semver — N/A, локальные tasks — N/A (запрет §3) |
|
||||
|
||||
## 3. Целевая структура
|
||||
|
||||
```
|
||||
.meeting-room/
|
||||
├── CLAUDE.md корневой контракт зоны
|
||||
├── README.md
|
||||
│
|
||||
├── scenarios/<topic>.md runtime: frontmatter сценариев multi-agent
|
||||
├── config/config.yaml runtime: реестр persona (SoT)
|
||||
│
|
||||
└── .wiki/ Karpathy-canonical, room-meta only
|
||||
├── CLAUDE.md wiki-схема
|
||||
├── index.md
|
||||
├── overview.md
|
||||
├── log.md append-only хроника
|
||||
├── raw/
|
||||
│ ├── README.md
|
||||
│ └── transcripts/<date>-<topic>.md immutable: транскрипты совещаний
|
||||
├── entities/
|
||||
│ ├── persons/<role-id>.md карточки персон (генерируются)
|
||||
│ └── projects/<proj>.md pointer-карточки целевых проектов
|
||||
└── concepts/<topic>.md room-meta: методология, ретро runtime'а
|
||||
```
|
||||
|
||||
**Boss-артефакты (`.brainstorm/`, `.archive/`, дистилляция, методология одиночного мышления) — в `.workshop/`, не здесь.**
|
||||
|
||||
## 4. Lifecycle (runtime-only)
|
||||
|
||||
```
|
||||
PRE-MEETING
|
||||
user clip → .meeting-room/.wiki/raw/research/<date>-<topic>.md
|
||||
(если research-материал, релевантный совещанию)
|
||||
user writes → scenarios/<topic>.md (frontmatter: name, participants, problem, max_rounds)
|
||||
|
||||
MEETING
|
||||
meeting-room- → создаёт .wiki/raw/transcripts/<date>-<topic>.md (skeleton)
|
||||
start-meeting логирует в .wiki/log.md
|
||||
multi-agent run → дописывает транскрипт в .wiki/raw/transcripts/<date>-<topic>.md
|
||||
|
||||
POST-MEETING (handoff в .workshop/)
|
||||
user явно: «дистиллируй транскрипт <topic>»
|
||||
→ boss создаёт .workshop/.brainstorm/<topic>-distill.md
|
||||
→ workshop-promote-brainstorm дальше
|
||||
```
|
||||
|
||||
**Без автоматического hop'а в workshop.** Транскрипт остаётся как primary артефакт runtime'а; распаковка в концепт — явный шаг человека.
|
||||
|
||||
## 5. Skills v1
|
||||
|
||||
Скилы живут в `~/projects/claude-skills/skills/`, не локально. Триггер-фразы — в SKILL.md frontmatter.
|
||||
|
||||
### 5.1 `meeting-room-start-meeting`
|
||||
|
||||
**Триггеры:** «запусти совещание `<topic>`», «start meeting `<scenario>`», «новое совещание `<topic>`».
|
||||
|
||||
**Аргумент:** путь `scenarios/<topic>.md` или topic-name.
|
||||
|
||||
**Шаги:**
|
||||
1. Прочитать `scenarios/<topic>.md`, распарсить YAML frontmatter.
|
||||
2. Валидация: `name`, `problem` непустые; все `participants` — роли в `config/config.yaml`; `max_rounds` целое (если есть).
|
||||
3. `<date> = YYYY-MM-DD`.
|
||||
4. Создать `.wiki/raw/transcripts/<date>-<topic>.md` (frontmatter: `date`, `scenario`, `participants`, `problem`).
|
||||
5. Дописать в `.wiki/log.md`: `<date> started <topic> ({participants})`.
|
||||
6. Вернуть пользователю созданный путь и подсказку, как запустить multi-agent runner.
|
||||
|
||||
**Failure modes:**
|
||||
- Frontmatter невалидный → перечислить ошибки, ничего не создавать.
|
||||
- `.wiki/raw/transcripts/<date>-<topic>.md` уже есть → спросить: продолжить (append-skip) или прервать.
|
||||
|
||||
### 5.2 `meeting-room-register-persona`
|
||||
|
||||
**Триггеры:** «добавь персону», «новый агент в комнату», «register persona `<role>`».
|
||||
|
||||
**Интерактивный сбор полей:**
|
||||
- `role-id` (snake_case, уникальный)
|
||||
- `name`, `model`, `provider`, `temperature`, `tools`, `system_prompt`
|
||||
|
||||
**Шаги:**
|
||||
1. Прочитать `config/config.yaml`. Если `roles.<role-id>` существует — спросить: overwrite, abort, новый id.
|
||||
2. Обновить `config.yaml`, **сохраняя YAML-форматирование** (round-trip парсер — иначе комментарии и порядок ключей побьются).
|
||||
3. Сгенерировать `.wiki/entities/persons/<role-id>.md` с frontmatter (`role-id`, `model`, `provider`, `source: config/config.yaml`) и body: summary поведения, цитата `system_prompt`, ссылка на `config.yaml`.
|
||||
4. Дописать в `.wiki/log.md`: `<date> registered persona <role-id>`.
|
||||
|
||||
**Sync-правило:** все автоматические записи в `entities/persons/` идут только через этот скил. Ручные правки разрешены только в `config.yaml`; для пере-генерации карточки — снова `register-persona <role>`.
|
||||
|
||||
## 6. Корневой `CLAUDE.md`
|
||||
|
||||
Полный текст — см. `.meeting-room/CLAUDE.md`. Outline:
|
||||
|
||||
1. Идентичность: «multi-agent runtime для круглых столов, не код-проект».
|
||||
2. Семантика артефактов (таблица).
|
||||
3. Жёсткие правила: доменное содержимое — в global wiki через `projects-meta`, локальный `.wiki/concepts/` — только room-meta, локальный `.tasks/` запрещён, `entities/persons/` пишет только `register-persona`, domain-промоушен с импл-тасками авто-создаёт review-чекпоинт (но сам промоушен теперь — workshop'а, не отсюда).
|
||||
4. Триггеры скилов v1 (только `start-meeting`, `register-persona`).
|
||||
5. Override `project-discipline`.
|
||||
6. Persona registry: SoT — `config/config.yaml`.
|
||||
|
||||
## 7. `.wiki/CLAUDE.md` (схема)
|
||||
|
||||
Karpathy-канон + meeting-room-специфика:
|
||||
|
||||
- `entities/persons/<role-id>.md` — frontmatter обязателен (`role-id`, `model`, `provider`, `source`); body — summary и цитата system_prompt.
|
||||
- `entities/projects/<proj>.md` — pointer-карточка к проекту (минимум: путь, краткая роль в контексте комнаты, ссылки на встречи).
|
||||
- `concepts/<topic>.md` — room-meta runtime'а (методология совещаний, ретро). Frontmatter: `date`, `source`, `status`, `type: room-meta`.
|
||||
- `raw/research/<date>-<topic>.md` — внешний clipping, frontmatter: `date`, `source` (URL), `topic`.
|
||||
- `raw/transcripts/<date>-<topic>.md` — транскрипт встречи, frontmatter: `date`, `scenario`, `participants`, `problem`.
|
||||
- `log.md` — append-only, `<date> <event-type> <topic> [details]`.
|
||||
|
||||
## 8. Handoff с `.workshop/`
|
||||
|
||||
См. `.workshop/.wiki/concepts/workshop-architecture.md` §8. Кратко: транскрипт в `.meeting-room/.wiki/raw/transcripts/` → boss создаёт дистилляционный буфер в `.workshop/.brainstorm/<topic>-distill.md` → `workshop-promote-brainstorm` → нужный target. Никакой автоматизации, явный шаг человека.
|
||||
|
||||
## 9. Открытые вопросы (не блокируют реализацию)
|
||||
|
||||
- **Что писать в `entities/projects/<proj>.md`** — формат карточки утрясём после первой реальной встречи (сейчас нет данных).
|
||||
- **Регистрация `.meeting-room` в `mcp__projects-meta`** — после split'а возможно понадобится для cross-project aggregation сценариев. Open вопрос из split-плана.
|
||||
0
.wiki/entities/persons/.gitkeep
Normal file
0
.wiki/entities/persons/.gitkeep
Normal file
27
.wiki/entities/persons/analyst.md
Normal file
27
.wiki/entities/persons/analyst.md
Normal file
@@ -0,0 +1,27 @@
|
||||
---
|
||||
role-id: analyst
|
||||
model: glm-5.1
|
||||
provider: ollama_cloud
|
||||
source: config/config.yaml
|
||||
---
|
||||
|
||||
# Analyst
|
||||
|
||||
**Model:** glm-5.1 (ollama_cloud), temperature 0.5
|
||||
**Tools:** discussion
|
||||
|
||||
## System prompt
|
||||
|
||||
You are an analyst participating in a group discussion.
|
||||
You will be given a specific problem to discuss — do NOT ask
|
||||
what the topic is, it is provided in the message below.
|
||||
Start by expressing your position and analysis. Only AFTER
|
||||
stating your view, use tools sparingly to verify specific
|
||||
claims or look up a detail. Do NOT research the entire topic
|
||||
before speaking — this is a discussion, not a research project.
|
||||
Structure the discussion, highlight key arguments, assess risks
|
||||
and benefits of each option...
|
||||
|
||||
## Source of truth
|
||||
|
||||
Полное определение — в `config/config.yaml#roles.analyst`. Эта карточка генерируется скилом `meeting-room-register-persona`; не редактировать вручную.
|
||||
26
.wiki/entities/persons/idea_generator.md
Normal file
26
.wiki/entities/persons/idea_generator.md
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
role-id: idea_generator
|
||||
model: deepseek-v4-flash
|
||||
provider: ollama_cloud
|
||||
source: config/config.yaml
|
||||
---
|
||||
|
||||
# Idea Generator
|
||||
|
||||
**Model:** deepseek-v4-flash (ollama_cloud), temperature 1.0
|
||||
**Tools:** web
|
||||
|
||||
## System prompt
|
||||
|
||||
You are a creative idea generator participating in a group discussion.
|
||||
You will be given a specific problem to discuss — do NOT ask
|
||||
what the topic is, it is provided in the message below.
|
||||
Start by proposing your ideas directly. Only use web search
|
||||
sparingly to find a specific analog or trend — do NOT research
|
||||
the entire topic before speaking. This is a discussion, not
|
||||
a research project.
|
||||
Propose unconventional solutions, think broader than the problem...
|
||||
|
||||
## Source of truth
|
||||
|
||||
Полное определение — в `config/config.yaml#roles.idea_generator`. Эта карточка генерируется скилом `meeting-room-register-persona`; не редактировать вручную.
|
||||
25
.wiki/entities/persons/moderator.md
Normal file
25
.wiki/entities/persons/moderator.md
Normal file
@@ -0,0 +1,25 @@
|
||||
---
|
||||
role-id: moderator
|
||||
model: glm-5.1
|
||||
provider: ollama_cloud
|
||||
source: config/config.yaml
|
||||
---
|
||||
|
||||
# Moderator
|
||||
|
||||
**Model:** glm-5.1 (ollama_cloud), temperature 0.7
|
||||
**Tools:** none
|
||||
|
||||
## System prompt
|
||||
|
||||
You are the moderator of a group discussion.
|
||||
You will be given a specific problem to discuss — do NOT ask
|
||||
what the topic is, it is provided in the message below.
|
||||
Guide the conversation, make sure everyone speaks, summarize
|
||||
intermediate results, ask clarifying questions about the problem.
|
||||
Don't push your own opinion. Keep it concise and on-topic.
|
||||
Always respond in Russian.
|
||||
|
||||
## Source of truth
|
||||
|
||||
Полное определение — в `config/config.yaml#roles.moderator`. Эта карточка генерируется скилом `meeting-room-register-persona`; не редактировать вручную.
|
||||
26
.wiki/entities/persons/skeptic.md
Normal file
26
.wiki/entities/persons/skeptic.md
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
role-id: skeptic
|
||||
model: qwen3.5:397b
|
||||
provider: ollama_cloud
|
||||
source: config/config.yaml
|
||||
---
|
||||
|
||||
# Skeptic
|
||||
|
||||
**Model:** qwen3.5:397b (ollama_cloud), temperature 0.9
|
||||
**Tools:** discussion
|
||||
|
||||
## System prompt
|
||||
|
||||
You are a skeptic and critic participating in a group discussion.
|
||||
You will be given a specific problem to discuss — do NOT ask
|
||||
what the topic is, it is provided in the message below.
|
||||
Start by expressing your critique and counter-arguments directly.
|
||||
Only use file-reading tools to verify a specific claim someone
|
||||
made — do NOT browse files before speaking. This is a discussion,
|
||||
not a research project.
|
||||
Find weaknesses in proposals, ask hard questions...
|
||||
|
||||
## Source of truth
|
||||
|
||||
Полное определение — в `config/config.yaml#roles.skeptic`. Эта карточка генерируется скилом `meeting-room-register-persona`; не редактировать вручную.
|
||||
0
.wiki/entities/projects/.gitkeep
Normal file
0
.wiki/entities/projects/.gitkeep
Normal file
19
.wiki/index.md
Normal file
19
.wiki/index.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# Meeting-Room Wiki — index
|
||||
|
||||
> Knowledge about how this meeting-room itself works. Domain content lives in `~/projects/.wiki/`.
|
||||
|
||||
## Navigation
|
||||
|
||||
- [Overview](overview.md) — что такое meeting-room
|
||||
- [Log](log.md) — хронология встреч, промоушенов, изменений persona
|
||||
- [Schema](CLAUDE.md) — раскладка и frontmatter-требования
|
||||
|
||||
## Sections
|
||||
|
||||
- [Personas](entities/persons/) — карточки ролей (генерируются из `config/config.yaml`)
|
||||
- [Projects](entities/projects/) — pointer-карточки целевых проектов
|
||||
- [Concepts](concepts/) — методология, ретро, паттерны
|
||||
- [Raw research](raw/research/) — clippings и внешние транскрипты
|
||||
- [Raw transcripts](raw/transcripts/) — транскрипты совещаний
|
||||
- [Packages](packages/) — инструменты комнаты
|
||||
- [Sources](sources/) — внешняя литература
|
||||
37
.wiki/log.md
Normal file
37
.wiki/log.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# Log
|
||||
|
||||
Append-only. Format: `<YYYY-MM-DD> <event> <topic> [details]`.
|
||||
|
||||
Events: `started`, `promoted`, `registered`, `archived`.
|
||||
|
||||
---
|
||||
|
||||
2026-05-05 bootstrapped meeting-room redesign (initial .wiki/ skeleton)
|
||||
2026-05-05 registered analyst
|
||||
2026-05-05 registered idea_generator
|
||||
2026-05-05 registered moderator
|
||||
2026-05-05 registered skeptic
|
||||
2026-05-05 started modulair ([moderator, skeptic, idea_generator, analyst])
|
||||
2026-05-05 promoted modulair-rag → .wiki/concepts/modulair-rag-brainstorm-trace.md (tasks_create skipped: target projects modulair-rag/meeting-room not yet registered in projects-meta; 3 actions deferred in trace)
|
||||
2026-05-05 promoted meeting-room-redesign → .wiki/concepts/meeting-room-architecture.md (no tasks; plan executed during this same session — implementation plan archived separately as 2026-05-05-meeting-room-redesign-plan.md)
|
||||
2026-05-05 archived meeting-room-redesign-plan (post-execution)
|
||||
2026-05-05 designed interns (.brainstorm/interns.md — domain spec, target promote: claude-skills)
|
||||
2026-05-05 promoted interns → claude-skills/.wiki/concepts/interns-design.md (commits 30c329fd+035e4dd5+3deaa357); tasks created: claude-skills#interns-skills-mvp (ready), common#interns-mcp-mvp (ready), projects-meta-mcp#migrate-to-common-lib (blocked), common#unify-llm-secrets (blocked)
|
||||
2026-05-05 archived interns → .archive/2026-05-05-interns.md
|
||||
2026-05-05 designed interns-repo-read (.brainstorm/repo-read.md — domain spec, target promote: claude-skills, parent: interns)
|
||||
2026-05-05 promoted interns-repo-read → claude-skills/.wiki/concepts/interns-repo-read-design.md (commits 34001022+b7943a3c+93a45007); tasks created: common#interns-repo-read-impl (ready), claude-skills#interns-repo-read-skill-updates (ready)
|
||||
2026-05-05 archived interns-repo-read → .archive/2026-05-05-repo-read.md
|
||||
2026-05-06 designed factory-bootstrap (.brainstorm/factory-bootstrap.md — domain spec, target promote: factory; field-test on Win11 laptop)
|
||||
2026-05-06 bootstrapped factory project (.tasks/STATUS.md + .wiki/ canonical layout, commit ecddcdf — fixed projects-meta sync indexing prerequisite)
|
||||
2026-05-06 promoted factory-bootstrap → factory/.wiki/concepts/factory-bootstrap.md (commits 549fe2ea+d26da137+b79be591); tasks created: factory#factory-bootstrap-script (ready), factory#factory-l1-design (blocked-by factory-bootstrap-script); also claude-skills#project-creation-lifecycle-skill (ready, gap surfaced during this promote)
|
||||
2026-05-06 archived factory-bootstrap → .archive/2026-05-06-factory-bootstrap.md
|
||||
2026-05-06 designed hermes-skills-rollout (.brainstorm/hermes-skills-rollout.md — domain spec, target promote: claude-skills)
|
||||
2026-05-06 promoted hermes-skills-rollout → claude-skills/.wiki/concepts/hermes-skills-rollout-design.md (commits b3dc1251+5ae14fd6+0f65e057); tasks created: claude-skills#hermes-converter-mvp (ready), claude-skills#hermes-flavour-mcp-setups (blocked), claude-skills#hermes-installer-skill (blocked), claude-skills#hermes-mvp-coverage (blocked), claude-skills#hermes-converter-ci (blocked, deferred), common#tasks-close-normalize-body (ready, discipline pre-req), claude-skills#using-tasks-close-coverage-gate (ready, discipline pre-req)
|
||||
2026-05-06 archived hermes-skills-rollout → .archive/2026-05-06-hermes-skills-rollout.md
|
||||
2026-05-07 designed tdd-criteria (.brainstorm/tdd-criteria.md — domain spec, target promote: claude-skills; 6-round arc with cross-project research via projects-meta)
|
||||
2026-05-07 promoted tdd-criteria → claude-skills/.wiki/concepts/tdd-criteria-design.md (commits a03d2804+2ad6f4ce+5fb648d4); tasks created: claude-skills#tdd-criteria-skill-write (ready), claude-skills#tdd-criteria-hermes-mapping (blocked), claude-skills#tdd-criteria-build-install (blocked), claude-skills#tdd-criteria-review (blocked, umbrella per §5)
|
||||
2026-05-07 archived tdd-criteria → .archive/2026-05-07-tdd-criteria.md
|
||||
2026-05-07 amended tdd-criteria post-promotion: anti-loophole rule 4 (test-immutability + [test-modify: was X; is Y] marker + separate-commit-from-impl) added; user surfaced symmetric vandalism risk on tests after initial promotion. Patches landed: claude-skills#tdd-criteria-skill-write description updated (commit b7819b17), claude-skills#tdd-criteria-precommit-hook task created (commit d440bb52). Design-doc amendment NOT applied directly (knowledge_ingest is create-only — overwrite blocked); amendment text embedded in skill-write task description for impl session to apply via direct git edit.
|
||||
2026-05-08 split meeting-room into multi-agent runtime (this zone) + .workshop/ boss-zone; remote workshop repo created at git.kzntsv.site/OpeItcLoc03/workshop.git
|
||||
2026-05-08 amended meeting-room-architecture.md: split-rewrite (runtime-only); boss sections moved to .workshop/.wiki/concepts/workshop-architecture.md
|
||||
2026-05-08 split-done cleanup: removed .archive/, .brainstorm/, .wiki/concepts/modulair-rag-brainstorm-trace.md, .wiki/raw/{naming,research}/, .claude/skills/meeting-room-promote-brainstorm/. All artifacts migrated to .workshop/ (commits 4608ba9..f8f6f1a in workshop repo). Promoted concept: .workshop/.wiki/concepts/meeting-room-split.md.
|
||||
19
.wiki/overview.md
Normal file
19
.wiki/overview.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# Meeting-Room — overview
|
||||
|
||||
`.meeting-room/` — кросс-проектное рабочее пространство для брейнштормов и круглых столов агентов. Не код-проект.
|
||||
|
||||
## Зачем
|
||||
|
||||
Место, где агенты из разных проектов пересекаются ради задач, которые не помещаются в один backlog. Брейнсторм-зона: артефакты вызревают здесь и потом промочиваются — либо в локальный `.wiki/concepts/` (если это знание про саму комнату), либо в глобальную вики и `.tasks/` целевого проекта (если доменное).
|
||||
|
||||
## Что внутри
|
||||
|
||||
- `scenarios/` — frontmatter-сценарии для запуска multi-agent совещания
|
||||
- `config/config.yaml` — реестр persona (рантайм-конфиг)
|
||||
- `.brainstorm/` — рабочий буфер: черновики, single-agent capture
|
||||
- `.archive/` — буфер после промоушена
|
||||
- `.wiki/` — Karpathy-style room-meta wiki (этот раздел)
|
||||
|
||||
## Как пользоваться
|
||||
|
||||
См. корневой `CLAUDE.md` — там семантика и триггер-фразы скилов.
|
||||
0
.wiki/packages/.gitkeep
Normal file
0
.wiki/packages/.gitkeep
Normal file
8
.wiki/raw/README.md
Normal file
8
.wiki/raw/README.md
Normal file
@@ -0,0 +1,8 @@
|
||||
# raw/
|
||||
|
||||
Immutable, append-only. Никаких редактур после фиксации.
|
||||
|
||||
- `research/` — внешние clippings, pre-loaded материалы перед совещанием.
|
||||
- `transcripts/` — транскрипты прошедших совещаний.
|
||||
|
||||
При промоушене `concepts/<topic>.md` ссылается сюда через frontmatter `source:`.
|
||||
0
.wiki/raw/transcripts/.gitkeep
Normal file
0
.wiki/raw/transcripts/.gitkeep
Normal file
0
.wiki/sources/.gitkeep
Normal file
0
.wiki/sources/.gitkeep
Normal file
76
CLAUDE.md
Normal file
76
CLAUDE.md
Normal file
@@ -0,0 +1,76 @@
|
||||
# .meeting-room — workspace contract
|
||||
|
||||
> ⚠️ **RETIRED 2026-06-08.** Зона распущена. НЕ запускать `meeting-room-start-meeting` / `register-persona` и не заводить совещания здесь. Multi-agent round-table теперь — тир consult-лестницы рантайма: **K локальных read-only coworker-спавнов через SpawnAdapter в worktree воркера** (federation-native, не центральная зона). Причина: несовместимость с federation-per-machine вердиктом (`agent-orchestration-without-user` Q9) + механическое дублирование `consult-arbiter-spawn`. Решение/размотка: `.workshop/.brainstorm/meeting-room-dissolve.md`. Дизайн: общая вики `concepts/consult-tier-escalation.md`. Контракт ниже сохранён как исторический record.
|
||||
|
||||
`.meeting-room/` — multi-agent runtime для кросс-проектных круглых столов: тематических совещаний с ролями, сценарием, транскриптом. **Не код-проект.**
|
||||
|
||||
Single-agent брэйнсторм + дистилляция — это `.workshop/` (отдельная зона после split'а 2026-05-08, см. `.wiki/concepts/meeting-room-architecture.md` §1, и `.workshop/.wiki/concepts/meeting-room-split.md` после промоушена).
|
||||
|
||||
## Семантика артефактов
|
||||
|
||||
| Папка | Что |
|
||||
|---|---|
|
||||
| `scenarios/<topic>.md` | runtime: сценарии запуска multi-agent совещания (frontmatter: `name`, `participants`, `problem`, `max_rounds`) |
|
||||
| `config/config.yaml` | runtime: реестр persona (single source of truth) |
|
||||
| `.wiki/raw/research/` | immutable: внешние clippings, релевантные совещанию |
|
||||
| `.wiki/raw/transcripts/` | immutable: транскрипты прошедших совещаний |
|
||||
| `.wiki/entities/persons/` | карточки persona, генерируются из `config.yaml` |
|
||||
| `.wiki/entities/projects/` | pointer-карточки целевых проектов |
|
||||
| `.wiki/concepts/` | room-meta: методология совещаний, ретро runtime'а |
|
||||
|
||||
**Перед предложением tooling/архитектуры — прочитать `.wiki/raw/research/` для текущего топика** (если research-материалы для совещания загружены).
|
||||
|
||||
## Жёсткие правила
|
||||
|
||||
1. **Доменное содержимое никогда не оседает в локальном `.wiki/`** — всегда в global через `mcp__projects-meta__knowledge_ingest` в `~/projects/<proj>/.wiki/`. Промоушен делается **из `.workshop/`** на основании дистилляционного буфера (см. handoff ниже).
|
||||
2. **Локальный `.wiki/concepts/` — только room-meta** (про runtime: methodology совещаний, ретро, паттерны фасилитации).
|
||||
3. **Локальные `.tasks/` не создавать** — workshop-meta таски (миграции, апгрейды скилов) живут в `.workshop/.tasks/`. Если runtime'у понадобятся свои таски — открыть отдельным решением.
|
||||
4. **`entities/persons/` пишет только скил `meeting-room-register-persona`.** SoT — `config/config.yaml`. Ручные правки только в `config.yaml`; регенерация карточки — снова `register-persona`.
|
||||
5. **Boss-режим (single-agent + user) сюда не приезжает.** Если возник полу-структурированный диалог требующий running-record `.brainstorm/<topic>.md` — переехать в `.workshop/`. Workshop делает дистилляцию транскриптов отсюда — пользовательским явным запросом, не автоматически.
|
||||
|
||||
## Триггеры скилов v1
|
||||
|
||||
| Скил | Триггер-фразы |
|
||||
|---|---|
|
||||
| `meeting-room-start-meeting` | «запусти совещание `<topic>`», «start meeting `<scenario>`», «новое совещание `<topic>`» |
|
||||
| `meeting-room-register-persona` | «добавь персону», «новый агент в комнату», «register persona `<role>`» |
|
||||
|
||||
Скил `workshop-promote-brainstorm` — в зоне `.workshop/`, не здесь. Дистилляция transcripts → концепт делается там.
|
||||
|
||||
## Override `project-discipline`
|
||||
|
||||
В этой комнате применяются:
|
||||
|
||||
- ✅ master-only (никаких feature-веток)
|
||||
- ✅ commit freely / push by permission
|
||||
|
||||
**Не применяются:**
|
||||
|
||||
- ❌ semver-bump — нет versioned-артефактов (`SKILL.md` скилов живут в `~/projects/claude-skills/`, у них свой semver)
|
||||
- ❌ локальный `.tasks/` — запрещён правилом §3
|
||||
|
||||
## Handoff с `.workshop/`
|
||||
|
||||
```
|
||||
.meeting-room/.wiki/raw/transcripts/<date>-<topic>.md ← runtime артефакт
|
||||
│
|
||||
│ user явно: «дистиллируй транскрипт <topic>»
|
||||
▼
|
||||
.workshop/.brainstorm/<topic>-distill.md
|
||||
│
|
||||
│ workshop-promote-brainstorm
|
||||
▼
|
||||
target (workshop-meta / domain via projects-meta / skill)
|
||||
```
|
||||
|
||||
Никакого автоматического hop'а. Multi-agent runtime производит сырьё (транскрипт), workshop производит дистилляты. Два разных режима, не смешиваются.
|
||||
|
||||
## Persona registry
|
||||
|
||||
SoT — `config/config.yaml`. Карточки `.wiki/entities/persons/<role-id>.md` — производные.
|
||||
|
||||
## Pointers
|
||||
|
||||
- Schema локальной вики: `.wiki/CLAUDE.md`
|
||||
- Архитектура runtime'а: `.wiki/concepts/meeting-room-architecture.md`
|
||||
- Архитектура boss-зоны: `.workshop/.wiki/concepts/workshop-architecture.md`
|
||||
69
README.md
69
README.md
@@ -1,57 +1,38 @@
|
||||
# .meeting-room — Shared Workspace
|
||||
|
||||
> "Офис" для кросс-проектных совещаний агентов. Транзитная зона — не ведёт `.tasks`/`.wiki`, всё репортит в глобальный скоуп.
|
||||
> ⚠️ **RETIRED 2026-06-08.** Эта зона распущена. Multi-agent round-table НЕ привязан к отдельной зоне-назначению: он переехал в consult-tier рантайма оркестрации как **K локальных read-only coworker-спавнов в worktree воркера** (тот же SpawnAdapter, что одиночный арбитр). Причина роспуска: зона была бы единственным централизованным компонентом в системе, специально сделанной federation-per-machine (`agent-orchestration-without-user` Q9), и механически дублировала `consult-arbiter-spawn`. Полная размотка: `.workshop/.brainstorm/meeting-room-dissolve.md`. Дизайн round-table: общая вики `concepts/consult-tier-escalation.md` §«Round-table тир». Файлы ниже сохранены как исторический record, не запускаются.
|
||||
|
||||
## Purpose
|
||||
> Кросс-проектные брейнстормы и круглые столы агентов. Brainstorm-зона: room-meta лежит локально в `.wiki/`, доменное промочивается в глобальную вики и `.tasks/` целевого проекта через `projects-meta`.
|
||||
|
||||
Место, где агенты из разных проектов пересекаются для решения кросс-проектных задач.
|
||||
## Quickstart
|
||||
|
||||
## Structure
|
||||
- Прочитать `CLAUDE.md` — workspace contract (семантика, правила, триггеры скилов).
|
||||
- Прочитать `.wiki/index.md` — навигация по локальной вики.
|
||||
- Сценарии для multi-agent совещаний — в `scenarios/`.
|
||||
- Реестр persona — в `config/config.yaml` (карточки в `.wiki/entities/persons/` генерируются скилом).
|
||||
|
||||
## Skills v1
|
||||
|
||||
- `meeting-room-promote-brainstorm` — `.brainstorm/<topic>.md` → либо локальный `.wiki/concepts/`, либо глобальная вики; action-items → `.tasks/` целевого проекта; исходник → `.archive/`.
|
||||
- `meeting-room-start-meeting` — валидирует `scenarios/<topic>.md`, заводит skeleton-транскрипт и буфер.
|
||||
- `meeting-room-register-persona` — добавляет роль в `config.yaml` и генерирует карточку в `.wiki/entities/persons/`.
|
||||
|
||||
## Folder map
|
||||
|
||||
```
|
||||
.meeting-room/
|
||||
├── .brainstorm/ # "Кабинет": обсуждение сырых идей с доверенным агентом (CSO)
|
||||
├── .archive/ # "Черный ящик": история завершенных совещаний
|
||||
└── README.md # This file
|
||||
├── CLAUDE.md ← workspace contract
|
||||
├── README.md ← этот файл
|
||||
├── .wiki/ ← Karpathy room-meta wiki
|
||||
├── scenarios/ ← runtime: сценарии запуска
|
||||
├── config/ ← runtime: реестр persona
|
||||
├── .brainstorm/ ← рабочий буфер
|
||||
├── .archive/ ← post-promotion
|
||||
└── .claude/skills/ ← локальные скилы
|
||||
```
|
||||
|
||||
## How It Works
|
||||
|
||||
### .brainstorm/ — Твой инкубатор идей
|
||||
|
||||
**Для работы с доверенным агентом (CSO):**
|
||||
|
||||
1. Создай файл идеи: `idea_001_name.md`
|
||||
2. Опиши свои тезисы
|
||||
3. Агент дописывает вопросы/критику
|
||||
4. Результат → в глобальные `.tasks` или `.wiki`
|
||||
|
||||
**Почему это круто:**
|
||||
- Markdown = структурированный артефакт
|
||||
- Версионность через Git
|
||||
- Готовый материал для митингов других агентов
|
||||
|
||||
### .archive/ — История совещаний
|
||||
|
||||
По завершении сессии → архив.
|
||||
В самой `.meeting-room` только **активные** обсуждения.
|
||||
|
||||
## Rules
|
||||
|
||||
- ❌ **NO** `.tasks` / `.wiki` внутри (транзитная зона)
|
||||
- ✅ Все задачи → в глобальный `../.tasks/`
|
||||
- ✅ Все выводы → в глобальный `../.wiki/`
|
||||
- ✅ Git для версионности идей
|
||||
|
||||
## Integration
|
||||
|
||||
- **Input**: Идеи из `.brainstorm/`
|
||||
- **Output**: Задачи в `.tasks/`, знания в `.wiki/`
|
||||
- **Context**: Доступ ко всем проектам
|
||||
|
||||
## Persona Registry
|
||||
|
||||
Твой доверенный агент для `.brainstorm/`:
|
||||
- **Role**: Chief Strategy Officer (CSO)
|
||||
- **Access**: Все глобальные папки (`.wiki`, `.tasks`)
|
||||
- **Job**: Обстучать идеи before линейной реализации
|
||||
- **Role:** Chief Strategy Officer (CSO)
|
||||
- **Job:** Обстучать идеи перед линейной реализацией.
|
||||
|
||||
85
config/config.yaml
Normal file
85
config/config.yaml
Normal file
@@ -0,0 +1,85 @@
|
||||
defaults:
|
||||
framework: custom
|
||||
max_rounds: 8
|
||||
language: ru
|
||||
workdir: ..
|
||||
|
||||
providers:
|
||||
routerai:
|
||||
api_key: ${MEETING_ROOM_ROUTERAI_API_KEY}
|
||||
base_url: ${MEETING_ROOM_ROUTERAI_BASE_URL}
|
||||
ollama_cloud:
|
||||
api_key: ${OLLAMA_CLOUD_API_KEY}
|
||||
base_url: https://ollama.com/v1
|
||||
|
||||
roles:
|
||||
analyst:
|
||||
model: glm-5.1
|
||||
name: Analyst
|
||||
provider: ollama_cloud
|
||||
temperature: 0.5
|
||||
tools: discussion
|
||||
system_prompt: |
|
||||
You are an analyst participating in a group discussion.
|
||||
You will be given a specific problem to discuss — do NOT ask
|
||||
what the topic is, it is provided in the message below.
|
||||
Start by expressing your position and analysis. Only AFTER
|
||||
stating your view, use tools sparingly to verify specific
|
||||
claims or look up a detail. Do NOT research the entire topic
|
||||
before speaking — this is a discussion, not a research project.
|
||||
Structure the discussion, highlight key arguments, assess risks
|
||||
and benefits of each option, summarize. Think logically and
|
||||
systematically. Propose concrete action plans.
|
||||
Always respond in Russian.
|
||||
|
||||
idea_generator:
|
||||
model: deepseek-v4-flash
|
||||
name: Idea Generator
|
||||
provider: ollama_cloud
|
||||
temperature: 1.0
|
||||
tools: web
|
||||
system_prompt: |
|
||||
You are a creative idea generator participating in a group discussion.
|
||||
You will be given a specific problem to discuss — do NOT ask
|
||||
what the topic is, it is provided in the message below.
|
||||
Start by proposing your ideas directly. Only use web search
|
||||
sparingly to find a specific analog or trend — do NOT research
|
||||
the entire topic before speaking. This is a discussion, not
|
||||
a research project.
|
||||
Propose unconventional solutions, think broader than the problem,
|
||||
generate many options. Don't be afraid of crazy ideas — the best
|
||||
solutions come from them. Build on others' ideas.
|
||||
Always respond in Russian.
|
||||
|
||||
moderator:
|
||||
model: glm-5.1
|
||||
name: Moderator
|
||||
provider: ollama_cloud
|
||||
temperature: 0.7
|
||||
tools: none
|
||||
system_prompt: |
|
||||
You are the moderator of a group discussion.
|
||||
You will be given a specific problem to discuss — do NOT ask
|
||||
what the topic is, it is provided in the message below.
|
||||
Guide the conversation, make sure everyone speaks, summarize
|
||||
intermediate results, ask clarifying questions about the problem.
|
||||
Don't push your own opinion. Keep it concise and on-topic.
|
||||
Always respond in Russian.
|
||||
|
||||
skeptic:
|
||||
model: qwen3.5:397b
|
||||
name: Skeptic
|
||||
provider: ollama_cloud
|
||||
temperature: 0.9
|
||||
tools: discussion
|
||||
system_prompt: |
|
||||
You are a skeptic and critic participating in a group discussion.
|
||||
You will be given a specific problem to discuss — do NOT ask
|
||||
what the topic is, it is provided in the message below.
|
||||
Start by expressing your critique and counter-arguments directly.
|
||||
Only use file-reading tools to verify a specific claim someone
|
||||
made — do NOT browse files before speaking. This is a discussion,
|
||||
not a research project.
|
||||
Find weaknesses in proposals, ask hard questions, offer
|
||||
counter-arguments. Be constructive but tough. Don't agree easily.
|
||||
Always respond in Russian.
|
||||
37
scenarios/example-problem.md
Normal file
37
scenarios/example-problem.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# Example Problem Scenario
|
||||
|
||||
## Context
|
||||
|
||||
Описание проблемы или задачи для совещания с агентами.
|
||||
|
||||
## Problem
|
||||
|
||||
Чётко сформулируй проблему:
|
||||
- Что не работает?
|
||||
- Что нужно улучшить?
|
||||
- Какие есть ограничения?
|
||||
|
||||
## Goals
|
||||
|
||||
Чего хотим достичь:
|
||||
1. Первая цель
|
||||
2. Вторая цель
|
||||
3. Третья цель
|
||||
|
||||
## Participants
|
||||
|
||||
Кто участвует в совещании:
|
||||
- CSO (Chief Strategy Officer) — ведёт
|
||||
- Эксперты из конкретных проектов
|
||||
- Другие агенты по необходимости
|
||||
|
||||
## Expected Output
|
||||
|
||||
Что должно получиться в результате:
|
||||
- Конкретное решение
|
||||
- План действий
|
||||
- Артефакты (код, документы, схемы)
|
||||
|
||||
## Notes
|
||||
|
||||
Заметки в процессе обсуждения...
|
||||
48
scenarios/modulair.md
Normal file
48
scenarios/modulair.md
Normal file
@@ -0,0 +1,48 @@
|
||||
---
|
||||
name: "ModulAIr"
|
||||
participants:
|
||||
- moderator
|
||||
- skeptic
|
||||
- idea_generator
|
||||
- analyst
|
||||
max_rounds: 6
|
||||
problem: |
|
||||
Спроектировать AI-управляемый модуль для еврорэк на базе Pico 2 W.
|
||||
Модуль — секвенсор/контроллер с 8 CV и 8 Gate выходами, входами Clock/Reset,
|
||||
MIDI (USB + UART), Wi-Fi и аудиовходами для анализа.
|
||||
Управляется через MCP-сервер + LightRAG (база знаний по модулям и теории музыки).
|
||||
Оркестратор — Hermes Agent.
|
||||
Вопросы: какой ЦАП выбрать (DAC8568?), как организовать скриптовый движок
|
||||
(Teletype-стиль), как интегрировать RAG для доступа к мануалам модулей,Я за
|
||||
и как обеспечить точный тайминг при Wi-Fi задержках.
|
||||
---
|
||||
|
||||
# ModulAIr — AI EuroRack Controller
|
||||
|
||||
## Суть проекта
|
||||
|
||||
Модуль еврорэк на Pico 2 W, который работает как AI-секвенсор. Человек играет на модулях,
|
||||
AI (через MCP) управляет CV/Gate выходами, опираясь на базу знаний о модулях (LightRAG)
|
||||
и теорию музыки. Человек и AI ведут диалог о том, что играть и как патчить.
|
||||
|
||||
## Железо
|
||||
|
||||
- Pico 2 W (RP2350, 2 ядра, Wi-Fi, USB-C)
|
||||
- 8 CV выходов (через внешний ЦАП — кандидаты: DAC8568 16-bit 8-ch, MCP4728 12-bit 4-ch)
|
||||
- 8 Gate выходов
|
||||
- Входы: Clock, Reset, Start/Stop, 2-4 CV для «прослушки» (ADC)
|
||||
- MIDI: USB-MIDI + TRS-MIDI (UART)
|
||||
- Аудиовходы: через преамп → ADC для анализа (envelope follower, pitch detection)
|
||||
|
||||
## Софт
|
||||
|
||||
- Скриптовый движок в стиле Monome Teletype / ER-101 на Pico
|
||||
- MCP-сервер на компе как мост между LLM и Pico
|
||||
- LightRAG как база знаний (мануалы модулей, теория музыки, исходники VCV Rack)
|
||||
- Hermes Agent как оркестратор
|
||||
|
||||
## Ссылки на контекст
|
||||
|
||||
- Проект по железу: heart-and-mask
|
||||
- Open-source ER-101: https://github.com/odevices/er-101
|
||||
- Open-source Teletype: https://github.com/monome/teletype
|
||||
Reference in New Issue
Block a user