@dzhechkov/keysarium 1.2.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +29 -11
- package/package.json +2 -2
- package/src/utils.js +1 -1
- package/templates/.claude/commands/brain-export.md +99 -20
- package/templates/.claude/commands/brain-import.md +75 -4
- package/templates/.claude/commands/bto-benchmark.md +302 -0
- package/templates/.claude/commands/harvest.md +28 -46
- package/templates/.claude/rules/trust-tiers.md +1 -0
- package/templates/.claude/skills/knowledge-extractor/SKILL.md +254 -0
- package/templates/.claude/skills/knowledge-extractor/modules/01-extract.md +188 -0
- package/templates/.claude/skills/knowledge-extractor/modules/02-classify.md +99 -0
- package/templates/.claude/skills/knowledge-extractor/modules/03-gate.md +150 -0
- package/templates/.claude/skills/knowledge-extractor/modules/04-integrate.md +159 -0
- package/templates/.claude/skills/knowledge-extractor/references/artifact-categories.md +100 -0
- package/templates/.claude/skills/knowledge-extractor/references/maturity-model.md +94 -0
- package/templates/.claude/skills/knowledge-extractor/references/quality-gates.md +98 -0
- package/templates/.claude/skills/knowledge-extractor/templates/artifact-card.md +63 -0
- package/templates/.claude/skills/knowledge-extractor/templates/harvest-report.md +102 -0
- package/templates/CLAUDE.md +42 -22
- package/templates/docs/continuous-learning-guide.md +622 -0
- package/templates/docs/feature-adr/01-architecture.md +750 -0
- package/templates/docs/feature-adr/02-functionality.md +712 -0
- package/templates/docs/feature-adr/03-deployment-guide.md +614 -0
- package/templates/docs/feature-adr/04-admin-guide.md +564 -0
- package/templates/docs/feature-adr/05-user-guide.md +508 -0
- package/templates/docs/feature-adr/06-user-flows.md +1101 -0
- package/templates/docs/improvement-directions.md +8 -4
- package/templates/docs/keysarium-core/01-architecture.md +559 -0
- package/templates/docs/keysarium-core/02-functionality.md +955 -0
- package/templates/docs/keysarium-core/03-deployment-guide.md +625 -0
- package/templates/docs/keysarium-core/04-admin-guide.md +529 -0
- package/templates/docs/keysarium-core/05-user-guide.md +599 -0
- package/templates/docs/keysarium-core/06-user-flows.md +804 -0
- package/templates/docs/skills-bto/01-deployment-guide.md +1 -1
- package/templates/docs/skills-bto/02-admin-guide.md +4 -1
- package/templates/docs/skills-bto/03-user-guide.md +4 -3
- package/templates/docs/skills-bto/04-infrastructure-requirements.md +2 -1
- package/templates/docs/skills-bto/05-architecture.md +11 -11
- package/templates/docs/skills-bto/06-user-flows.md +2 -1
- package/templates/lib/dream-engine.md +1 -1
- package/templates/lib/memory-protocol.md +131 -22
- package/templates/lib/reward-tracker.md +6 -3
|
@@ -0,0 +1,529 @@
|
|
|
1
|
+
# Руководство администратора @dzhechkov/keysarium-core
|
|
2
|
+
|
|
3
|
+
Практическое руководство по администрированию, мониторингу и обслуживанию фреймворка keysarium-core. Описывает управление модулями, памятью, воркерами, dream cycles, witness chain, trust tiers и резервным копированием.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## 1. Управление модулями
|
|
8
|
+
|
|
9
|
+
### Инвентаризация
|
|
10
|
+
|
|
11
|
+
Пакет `@dzhechkov/keysarium-core` содержит 6 модулей (19 файлов):
|
|
12
|
+
|
|
13
|
+
| Модуль | Файлы | Назначение |
|
|
14
|
+
|--------|-------|-----------|
|
|
15
|
+
| `governance/` | 3 | Constitution (инварианты), shard protocol, checkpoint/promise protocol |
|
|
16
|
+
| `memory/` | 3 | memory_query/store, reward tracking, dream engine |
|
|
17
|
+
| `orchestration/` | 4 | Queen protocol, 6 топологий, воркеры, model routing |
|
|
18
|
+
| `verification/` | 3 | Witness chain, judge attestation, audit trail |
|
|
19
|
+
| `trust-tiers/` | 2 | 4-уровневая классификация, протокол повышения |
|
|
20
|
+
| `platform/` | 4 | Реестр адаптеров + шаблоны (Cursor, OpenCode, Copilot) |
|
|
21
|
+
|
|
22
|
+
### Проверка здоровья модулей
|
|
23
|
+
|
|
24
|
+
Для проверки целостности модулей убедитесь, что все файлы на месте:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# Перечислить все файлы core-пакета
|
|
28
|
+
ls packages/dz-keysarium-core/governance/
|
|
29
|
+
ls packages/dz-keysarium-core/memory/
|
|
30
|
+
ls packages/dz-keysarium-core/orchestration/
|
|
31
|
+
ls packages/dz-keysarium-core/verification/
|
|
32
|
+
ls packages/dz-keysarium-core/trust-tiers/
|
|
33
|
+
ls packages/dz-keysarium-core/platform/
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Ожидаемые файлы по модулям:
|
|
37
|
+
- **governance/** -- `constitution.md`, `shard-protocol.md`, `checkpoint-protocol.md`
|
|
38
|
+
- **memory/** -- `memory-protocol.md`, `reward-tracker.md`, `dream-engine.md`
|
|
39
|
+
- **orchestration/** -- `queen-protocol.md`, `topology-selection.md`, `background-workers.md`, `model-routing.md`
|
|
40
|
+
- **verification/** -- `witness-chain.md`, `judge-attestation.md`, `audit-trail.md`
|
|
41
|
+
- **trust-tiers/** -- `tier-system.md`, `promotion-protocol.md`
|
|
42
|
+
- **platform/** -- `adapter-registry.md`, `templates/`
|
|
43
|
+
|
|
44
|
+
### Добавление пользовательских инвариантов
|
|
45
|
+
|
|
46
|
+
Инварианты определяются в `governance/constitution.md`. Для добавления доменных инвариантов:
|
|
47
|
+
|
|
48
|
+
1. Создайте файл `governance/constitution-{domain}.md`.
|
|
49
|
+
2. Нумеруйте новые инварианты начиная с `INV-100` (чтобы избежать конфликтов с core).
|
|
50
|
+
3. Используйте формат: Rule, Enforcement, On violation (HALT/WARN/RETRY), Rationale.
|
|
51
|
+
|
|
52
|
+
Пример для банковского домена:
|
|
53
|
+
|
|
54
|
+
```markdown
|
|
55
|
+
### INV-100: Data Perimeter
|
|
56
|
+
**Rule:** Данные клиентов не покидают контур безопасности.
|
|
57
|
+
**Enforcement:** Все LLM-вызовы только к on-premise моделям.
|
|
58
|
+
**On violation:** HALT -- нарушение ФЗ-152.
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Создание governance shards для новых стадий
|
|
62
|
+
|
|
63
|
+
Governance shards хранятся в директории shards вашего пайплайна. Каждый shard содержит: time budget, prerequisites (upstream promise tags), skill to load, stage-specific rules, quality gates, promise tag, anti-patterns.
|
|
64
|
+
|
|
65
|
+
Для создания нового shard:
|
|
66
|
+
1. Скопируйте шаблон из `governance/shard-protocol.md`.
|
|
67
|
+
2. Заполните stage-specific правила и quality gates.
|
|
68
|
+
3. Укажите time budget (% от общего времени пайплайна).
|
|
69
|
+
4. Сохраните как `{stage-id}.shard.md` в директории shards.
|
|
70
|
+
5. Рекомендуемый размер -- не более 100 строк для оптимального использования контекста.
|
|
71
|
+
|
|
72
|
+
---
|
|
73
|
+
|
|
74
|
+
## 2. Управление памятью
|
|
75
|
+
|
|
76
|
+
### Структура директории
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
.keysarium/memory/
|
|
80
|
+
├── config.json # Глобальная конфигурация
|
|
81
|
+
├── _patterns/
|
|
82
|
+
│ └── domain-patterns.json # Обнаруженные паттерны
|
|
83
|
+
├── _stats/
|
|
84
|
+
│ └── reward-summary.json # Агрегированная статистика
|
|
85
|
+
└── {domain}/ # banking | retail | enterprise | healthcare
|
|
86
|
+
└── {case-slug}/
|
|
87
|
+
└── {phase}_{timestamp}.json # Индивидуальные reward-записи
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Параметры config.json
|
|
91
|
+
|
|
92
|
+
Создается автоматически при первом доступе со значениями по умолчанию:
|
|
93
|
+
|
|
94
|
+
| Параметр | По умолчанию | Описание |
|
|
95
|
+
|----------|-------------|----------|
|
|
96
|
+
| `retention_days` | 90 | Срок хранения записей (дни). 0 = бессрочно |
|
|
97
|
+
| `max_results_per_query` | 10 | Макс. записей в ответе memory_query() |
|
|
98
|
+
| `enabled` | true | Включение/выключение системы памяти |
|
|
99
|
+
| `known_domains` | 4 домена | Список известных доменов |
|
|
100
|
+
| `reward_levels` | 4 уровня | Маппинг меток на числовые значения (1.0/0.7/0.3/0.0) |
|
|
101
|
+
|
|
102
|
+
### Протокол очистки (purge)
|
|
103
|
+
|
|
104
|
+
**Автоматическая очистка:** при каждом вызове `memory_query()` система сканирует запрошенный домен и удаляет записи, где `expires_at < текущая_дата`.
|
|
105
|
+
|
|
106
|
+
**Ручная очистка:** удалите директорию `.keysarium/memory/` целиком для полного сброса:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
rm -rf .keysarium/memory/
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
При следующем вызове `memory_store()` директория будет создана заново.
|
|
113
|
+
|
|
114
|
+
### Мониторинг размера и количества записей
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
# Количество записей по доменам
|
|
118
|
+
find .keysarium/memory/ -name "phase-*.json" | wc -l
|
|
119
|
+
|
|
120
|
+
# Размер директории памяти
|
|
121
|
+
du -sh .keysarium/memory/
|
|
122
|
+
|
|
123
|
+
# Записи по конкретному домену
|
|
124
|
+
find .keysarium/memory/banking/ -name "*.json" | wc -l
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Устранение неполадок памяти
|
|
128
|
+
|
|
129
|
+
| Симптом | Причина | Решение |
|
|
130
|
+
|---------|---------|---------|
|
|
131
|
+
| memory_query() возвращает пустой список | Директория не существует или нет записей | Нормально при первом запуске; запустите пайплайн для сбора данных |
|
|
132
|
+
| Corrupted JSON при чтении | Прерванная запись, битый файл | Система автоматически пропускает битые файлы с логом warning. Удалите поврежденный файл вручную |
|
|
133
|
+
| Все записи expired | `retention_days` слишком мал | Увеличьте `retention_days` в config.json или установите 0 для отключения |
|
|
134
|
+
| Ошибка записи (permissions) | Нет прав на запись в `.keysarium/` | Проверьте права: `chmod -R u+w .keysarium/memory/` |
|
|
135
|
+
| config.json отсутствует | Первый запуск или был удален | Система использует значения по умолчанию автоматически |
|
|
136
|
+
|
|
137
|
+
### Резервное копирование и восстановление памяти
|
|
138
|
+
|
|
139
|
+
Для ручного бэкапа:
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
tar czf keysarium-memory-backup-$(date +%Y%m%d).tar.gz .keysarium/memory/
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Восстановление:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
tar xzf keysarium-memory-backup-YYYYMMDD.tar.gz
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
---
|
|
152
|
+
|
|
153
|
+
## 3. Управление воркерами
|
|
154
|
+
|
|
155
|
+
### Типы воркеров и маршрутизация моделей
|
|
156
|
+
|
|
157
|
+
| Тип | Модель | Описание |
|
|
158
|
+
|-----|--------|----------|
|
|
159
|
+
| `consolidate` | sonnet | Сканирование исследований, извлечение паттернов |
|
|
160
|
+
| `export-brain` | haiku | Фоновый экспорт brain в `.keysarium/exports/` |
|
|
161
|
+
| `health-check` | haiku | Проверка trust tiers, поиск устаревших данных |
|
|
162
|
+
| `pattern-analysis` | sonnet | Анализ трендов reward-данных |
|
|
163
|
+
| `dream-cycle` | sonnet | Построение concept graph, генерация инсайтов |
|
|
164
|
+
|
|
165
|
+
Никогда не используйте opus для фоновых воркеров -- они выполняют рутинные задачи.
|
|
166
|
+
|
|
167
|
+
### Ограничения параллельности
|
|
168
|
+
|
|
169
|
+
Максимум одновременных воркеров: **3**. При превышении лимита новый запуск будет отклонен. Проверяйте активных воркеров через `/workers status`.
|
|
170
|
+
|
|
171
|
+
### Управление реестром
|
|
172
|
+
|
|
173
|
+
Файл `registry.json` расположен в `.keysarium/workers/registry.json`. Только оркестратор (`/workers` команда) имеет право записи в реестр. Воркеры пишут только в свой `status.json` в своей рабочей директории. Это предотвращает конфликты записи.
|
|
174
|
+
|
|
175
|
+
### Правила изоляции воркеров
|
|
176
|
+
|
|
177
|
+
6 ключевых правил изоляции:
|
|
178
|
+
|
|
179
|
+
1. **Только своя директория:** воркеры пишут только в `.keysarium/workers/{worker_id}/`.
|
|
180
|
+
2. **Нет модификации данных проекта:** запрещена запись в `researches/` и `features/`.
|
|
181
|
+
3. **Нет модификации конфигурации:** запрещена запись в `.claude/`, `CLAUDE.md` и корневые файлы.
|
|
182
|
+
4. **Запрет под-агентов:** воркеры не могут порождать дочерних агентов.
|
|
183
|
+
5. **Read-only доступ к проекту:** воркеры могут читать любые файлы для анализа.
|
|
184
|
+
6. **Дельта для ревью:** результаты записываются как дельта (например, `harvest-delta.md`), а пользователь решает, применять ли их.
|
|
185
|
+
|
|
186
|
+
### Мониторинг статуса воркеров
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
# Проверить реестр
|
|
190
|
+
cat .keysarium/workers/registry.json
|
|
191
|
+
|
|
192
|
+
# Проверить статус конкретного воркера
|
|
193
|
+
cat .keysarium/workers/wkr-XXXXXXXX-XXXXXX-TYPE/status.json
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
Либо используйте команду `/workers status` для форматированного вывода. Статусы воркеров: `starting`, `running`, `completing`, `completed`, `failed`, `stop-requested`, `stopped`.
|
|
197
|
+
|
|
198
|
+
### Остановка воркеров
|
|
199
|
+
|
|
200
|
+
Остановка запрашивается через файл-флаг `stop-requested`:
|
|
201
|
+
|
|
202
|
+
```
|
|
203
|
+
/workers stop <worker_id>
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
Оркестратор создает пустой файл `.keysarium/workers/{id}/stop-requested`. Воркер проверяет его между основными операциями и завершается gracefully. Если воркер не остановился, Agent tool timeout (~10 минут) завершит его принудительно.
|
|
207
|
+
|
|
208
|
+
### Обработка ошибок
|
|
209
|
+
|
|
210
|
+
- Максимум **2 повторных попытки** на запрос. Каждая попытка создает нового воркера с новым ID.
|
|
211
|
+
- После 2 неудач -- статус `permanently failed`. Требуется ручной перезапуск.
|
|
212
|
+
- Ошибки логируются в `.keysarium/workers/{id}/error.log`.
|
|
213
|
+
|
|
214
|
+
### Очистка старых директорий воркеров
|
|
215
|
+
|
|
216
|
+
При вызове `/workers status` записи старше **24 часов** со статусом `completed`, `failed` или `stopped` автоматически удаляются из реестра. Для ручной очистки директорий:
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
# Найти и удалить директории воркеров старше 24 часов
|
|
220
|
+
find .keysarium/workers/ -maxdepth 1 -name "wkr-*" -mtime +1 -exec rm -rf {} +
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
## 4. Dream Cycles
|
|
226
|
+
|
|
227
|
+
### Управление trigger state
|
|
228
|
+
|
|
229
|
+
Файл `.keysarium/insights/trigger-state.json` хранит состояние триггеров:
|
|
230
|
+
|
|
231
|
+
```json
|
|
232
|
+
{
|
|
233
|
+
"version": "1.0",
|
|
234
|
+
"last_dream_completed_at": "2026-03-01T12:00:00Z",
|
|
235
|
+
"last_dream_id": "dream-20260301-120000",
|
|
236
|
+
"records_since_last_dream": 0,
|
|
237
|
+
"pending_events": [],
|
|
238
|
+
"config": {
|
|
239
|
+
"time_threshold_minutes": 60,
|
|
240
|
+
"volume_threshold": 20,
|
|
241
|
+
"event_triggers_enabled": true
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### 3 типа триггеров
|
|
247
|
+
|
|
248
|
+
| Триггер | Порог по умолчанию | Описание |
|
|
249
|
+
|---------|-------------------|----------|
|
|
250
|
+
| **Time** | 60 минут | Прошло больше N минут с последнего dream cycle |
|
|
251
|
+
| **Volume** | 20 записей | Накоплено N новых reward-записей |
|
|
252
|
+
| **Event** | любое событие | Сбой quality gate, завершение кейса |
|
|
253
|
+
|
|
254
|
+
Приоритет при совпадении: event > volume > time.
|
|
255
|
+
|
|
256
|
+
### Политика хранения
|
|
257
|
+
|
|
258
|
+
Максимум **10 dream-файлов** в `.keysarium/insights/`. Ретенция применяется в конце каждого dream cycle (Step 5) и при вызове `/dream clear`. Файл `trigger-state.json` не подлежит удалению -- это состояние, а не результат.
|
|
259
|
+
|
|
260
|
+
### Ручной и автоматический запуск
|
|
261
|
+
|
|
262
|
+
**Ручной запуск:** `/dream run` -- запускает dream cycle немедленно, независимо от триггеров.
|
|
263
|
+
|
|
264
|
+
**Автоматический триггер:** при старте нового пайплайна (`/casarium` или `/feature-adr`) оркестратор проверяет триггеры и предлагает запуск. Это рекомендательный механизм -- запуск без подтверждения пользователя не происходит.
|
|
265
|
+
|
|
266
|
+
### Интерпретация dream insights
|
|
267
|
+
|
|
268
|
+
Инсайты классифицируются по типам:
|
|
269
|
+
|
|
270
|
+
| Тип | Источник | Применение |
|
|
271
|
+
|-----|---------|------------|
|
|
272
|
+
| `performance` | Кросс-доменное сравнение фаз | Корректировка time budget |
|
|
273
|
+
| `effectiveness` | Skill-domain mismatch | Выбор альтернативного скилла |
|
|
274
|
+
| `anti_pattern` | Корреляция фаз | Улучшение upstream фазы |
|
|
275
|
+
|
|
276
|
+
Каждый инсайт содержит `confidence` (0..1) и `impact` (low/medium/high). Фокусируйтесь на инсайтах с confidence >= 0.5 и impact high/medium.
|
|
277
|
+
|
|
278
|
+
### Очистка старых инсайтов
|
|
279
|
+
|
|
280
|
+
```
|
|
281
|
+
/dream clear
|
|
282
|
+
```
|
|
283
|
+
|
|
284
|
+
Удаляет все dream-файлы, кроме 10 самых свежих. `trigger-state.json` сохраняется.
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
## 5. Witness Chain и Audit Trail
|
|
289
|
+
|
|
290
|
+
### Расположение файлов цепочки
|
|
291
|
+
|
|
292
|
+
Каждое исследование имеет собственную независимую цепочку: `researches/<slug>/.witness-chain.json`. Цепочка инициализируется в Phase 0 с genesis record (previous_hash = NULL_HASH из 64 нулей).
|
|
293
|
+
|
|
294
|
+
### Восстановление цепочки после легитимных правок
|
|
295
|
+
|
|
296
|
+
Если артефакт изменен по запросу пользователя на чекпоинте:
|
|
297
|
+
|
|
298
|
+
1. Пересчитывается хеш измененного артефакта с тем же previous_hash.
|
|
299
|
+
2. Обновляется запись в `.witness-chain.json`.
|
|
300
|
+
3. Пересчитываются **все последующие записи** (каскадный rehash).
|
|
301
|
+
4. Обновляется `last_updated`.
|
|
302
|
+
5. Ремонт логируется в массиве `chain_repairs`:
|
|
303
|
+
|
|
304
|
+
```json
|
|
305
|
+
{
|
|
306
|
+
"chain_repairs": [{
|
|
307
|
+
"repaired_at": "2026-03-01T11:30:00Z",
|
|
308
|
+
"sequence": 2,
|
|
309
|
+
"artifact": "02_research_findings.md",
|
|
310
|
+
"reason": "User requested additional research depth",
|
|
311
|
+
"records_rehashed": 3
|
|
312
|
+
}]
|
|
313
|
+
}
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
### Протокол верификации
|
|
317
|
+
|
|
318
|
+
Запустите `/verify-chain researches/<slug>/` для полной проверки цепочки. Алгоритм:
|
|
319
|
+
|
|
320
|
+
1. Загрузить `.witness-chain.json`.
|
|
321
|
+
2. Для каждой записи: прочитать артефакт, вычислить SHA-256(content + previous_hash), сравнить с записанным хешем.
|
|
322
|
+
3. Если все совпадают -- `PASS`. Если нет -- список сломанных звеньев с причинами.
|
|
323
|
+
|
|
324
|
+
### Структура Audit Trail
|
|
325
|
+
|
|
326
|
+
```
|
|
327
|
+
{audit-root}/
|
|
328
|
+
├── audit-log.json # Мастер-лог всех событий
|
|
329
|
+
├── witness-chains/
|
|
330
|
+
│ └── {project-slug}.json # Цепочки по проектам
|
|
331
|
+
├── attestations/
|
|
332
|
+
│ └── {evaluation-id}.json # Аттестации по оценкам
|
|
333
|
+
└── decisions/
|
|
334
|
+
└── {decision-id}.json # Записи решений
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
10 типов событий: `artifact_created`, `artifact_verified`, `artifact_modified`, `evaluation_started`, `evaluation_completed`, `checkpoint_reached`, `checkpoint_approved`, `checkpoint_revised`, `reward_stored`, `decision_made`.
|
|
338
|
+
|
|
339
|
+
### Хранение
|
|
340
|
+
|
|
341
|
+
Audit trail хранится **бессрочно** -- на весь срок жизни проекта. Он не подчиняется правилам expiration из memory protocol.
|
|
342
|
+
|
|
343
|
+
### Заметки по регуляторному соответствию
|
|
344
|
+
|
|
345
|
+
**Банковский домен:** witness chain обеспечивает аудиторский след для соответствия ФЗ-152 и требованиям ЦБ. Сбой создания цепочки в банковском домене генерирует WARNING на чекпоинте.
|
|
346
|
+
|
|
347
|
+
**Медицинский домен:** audit trail обеспечивает прослеживаемость решений (ФЗ-323) и доказательство human oversight.
|
|
348
|
+
|
|
349
|
+
Для обоих доменов: `.witness-chain.json` и `.judge-attestations.json` коммитятся в git (не добавляйте их в `.gitignore`).
|
|
350
|
+
|
|
351
|
+
---
|
|
352
|
+
|
|
353
|
+
## 6. Trust Tiers
|
|
354
|
+
|
|
355
|
+
### Оценка текущего уровня
|
|
356
|
+
|
|
357
|
+
Чек-лист для определения tier скилла:
|
|
358
|
+
|
|
359
|
+
```
|
|
360
|
+
[ ] SKILL.md существует --> Tier 0 минимум
|
|
361
|
+
[ ] SKILL.md содержит полную документацию протокола --> Tier 0
|
|
362
|
+
[ ] references/ ИЛИ modules/ ИЛИ structured output --> Tier 1
|
|
363
|
+
[ ] Оценка мульти-судейской панелью >= 7.0 --> Tier 2
|
|
364
|
+
[ ] Детерминистический eval test suite существует и проходит --> Tier 3
|
|
365
|
+
[ ] Оценка панелью >= 8.5 --> Tier 3
|
|
366
|
+
```
|
|
367
|
+
|
|
368
|
+
### Процесс повышения
|
|
369
|
+
|
|
370
|
+
**Tier 0 --> Tier 1 (структурная проверка, без оценки):**
|
|
371
|
+
- Добавьте `references/` (2+ примера) или `modules/` или structured output format.
|
|
372
|
+
- Убедитесь, что SKILL.md содержит полный протокол.
|
|
373
|
+
|
|
374
|
+
**Tier 1 --> Tier 2 (мульти-судейская оценка):**
|
|
375
|
+
- Запустите `/bto-test .claude/skills/<name>/`.
|
|
376
|
+
- Панель из 3 судей (Domain Expert 0.4, Critic 0.3, Completeness Auditor 0.3).
|
|
377
|
+
- Средний балл >= 7.0, ни один судья не ниже 5.0.
|
|
378
|
+
- Запишите `trust_tier: 2`, `bto_score`, `bto_date` в metadata скилла.
|
|
379
|
+
|
|
380
|
+
**Tier 2 --> Tier 3 (верифицированный):**
|
|
381
|
+
- Создайте детерминистический eval test suite (минимум 5 тест-кейсов).
|
|
382
|
+
- Все тесты должны проходить воспроизводимо.
|
|
383
|
+
- Балл панели >= 8.5.
|
|
384
|
+
|
|
385
|
+
### Триггеры понижения (demotion)
|
|
386
|
+
|
|
387
|
+
| Триггер | Результат |
|
|
388
|
+
|---------|----------|
|
|
389
|
+
| Eval тесты перестали проходить | Tier 3 --> Tier 2 |
|
|
390
|
+
| Повторная оценка ниже порога | Tier 2 --> Tier 1 |
|
|
391
|
+
| Удалены references/modules | Tier 1 --> Tier 0 |
|
|
392
|
+
|
|
393
|
+
Понижение логируется с причиной и датой в promotion history скилла.
|
|
394
|
+
|
|
395
|
+
### Мониторинг здоровья скиллов
|
|
396
|
+
|
|
397
|
+
Используйте health-check воркер (`/workers start health-check`) для автоматической проверки всех скиллов. Воркер использует модель haiku и выполняет структурные проверки.
|
|
398
|
+
|
|
399
|
+
### Перенос tier между проектами
|
|
400
|
+
|
|
401
|
+
При импорте скилла из другого проекта (через `/brain-import`), импортированный tier -- это рекомендация. Варианты принятия:
|
|
402
|
+
1. Принять as-is (доверять источнику).
|
|
403
|
+
2. Потребовать ре-оценку (проверить локально).
|
|
404
|
+
3. Понизить на один уровень (консервативный подход).
|
|
405
|
+
|
|
406
|
+
---
|
|
407
|
+
|
|
408
|
+
## 7. Мониторинг и здоровье системы
|
|
409
|
+
|
|
410
|
+
### Health-check воркер
|
|
411
|
+
|
|
412
|
+
Запуск: `/workers start health-check`. Модель: haiku. Выполняет:
|
|
413
|
+
- Проверку trust tiers всех скиллов.
|
|
414
|
+
- Поиск устаревших данных в `.keysarium/memory/`.
|
|
415
|
+
- Проверку структурной целостности конфигурации.
|
|
416
|
+
- Отчет записывается в `.keysarium/workers/{id}/output/health-report.json`.
|
|
417
|
+
|
|
418
|
+
### Аналитика через /learning-stats
|
|
419
|
+
|
|
420
|
+
Команда `/learning-stats` вычисляет и выводит:
|
|
421
|
+
|
|
422
|
+
- **Средний reward по фазам** -- таблица с avg, runs, trend по каждой фазе.
|
|
423
|
+
- **Разбивка по доменам** -- avg, cases, bottleneck phase для каждого домена.
|
|
424
|
+
- **Эффективность скиллов** -- avg reward и лучший домен для каждого скилла.
|
|
425
|
+
- **Обнаруженные паттерны** -- паттерны с confidence > 0.5 и actionable advice.
|
|
426
|
+
|
|
427
|
+
Фильтрация: `/learning-stats --domain banking --phase 2`.
|
|
428
|
+
|
|
429
|
+
### Ключевые метрики
|
|
430
|
+
|
|
431
|
+
| Метрика | Источник | Значимость |
|
|
432
|
+
|---------|---------|-----------|
|
|
433
|
+
| Overall average reward | `reward-summary.json` | Общее здоровье пайплайна |
|
|
434
|
+
| Per-phase bottleneck | `domain_averages.bottleneck_phase` | Фаза, требующая внимания |
|
|
435
|
+
| Per-domain patterns | `domain-patterns.json` | Доменные особенности |
|
|
436
|
+
| Trend (improving/stable/degrading) | reward-tracker algorithm | Динамика качества |
|
|
437
|
+
|
|
438
|
+
### Тревожные сигналы
|
|
439
|
+
|
|
440
|
+
| Сигнал | Порог | Действие |
|
|
441
|
+
|--------|-------|----------|
|
|
442
|
+
| Degrading trend по фазе | newer_avg - older_avg < -0.15 | Исследовать причину, проверить скиллы |
|
|
443
|
+
| Высокое число итераций | avg iterations > 2.0 для фазы | Пересмотреть подход к фазе в домене |
|
|
444
|
+
| Низкий avg reward по домену | < 0.5 | Рассмотреть доменные шаблоны и скиллы |
|
|
445
|
+
| Все записи expired | 0 valid records | Увеличить retention_days или создать свежие данные |
|
|
446
|
+
|
|
447
|
+
---
|
|
448
|
+
|
|
449
|
+
## 8. Резервное копирование
|
|
450
|
+
|
|
451
|
+
### Что нужно бэкапить
|
|
452
|
+
|
|
453
|
+
| Что | Путь | Приоритет |
|
|
454
|
+
|-----|------|----------|
|
|
455
|
+
| Данные памяти | `.keysarium/memory/` | Высокий |
|
|
456
|
+
| Dream insights | `.keysarium/insights/` | Средний |
|
|
457
|
+
| Witness chains | `researches/*/.witness-chain.json` | Высокий |
|
|
458
|
+
| Judge attestations | `.judge-attestations.json` (рядом с оценками) | Средний |
|
|
459
|
+
| Реестр воркеров | `.keysarium/workers/registry.json` | Низкий |
|
|
460
|
+
|
|
461
|
+
### Полный бэкап
|
|
462
|
+
|
|
463
|
+
```bash
|
|
464
|
+
tar czf keysarium-backup-$(date +%Y%m%d).tar.gz \
|
|
465
|
+
.keysarium/ \
|
|
466
|
+
researches/*/.witness-chain.json \
|
|
467
|
+
researches/*/.judge-attestations.json
|
|
468
|
+
```
|
|
469
|
+
|
|
470
|
+
### Brain export как портативный бэкап
|
|
471
|
+
|
|
472
|
+
```
|
|
473
|
+
/brain-export all
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
Экспортирует в JSON-контейнер: metadata скиллов, domain patterns, research summaries, harvest patterns, pipeline metrics, top dream insights. Индивидуальные reward-записи не экспортируются (слишком объемно) -- только агрегаты.
|
|
477
|
+
|
|
478
|
+
### Восстановление из brain import
|
|
479
|
+
|
|
480
|
+
```
|
|
481
|
+
/brain-import path/to/keysarium-brain.json
|
|
482
|
+
```
|
|
483
|
+
|
|
484
|
+
Стратегия импорта: merge-not-overwrite. Существующие данные не перезаписываются, новые добавляются. Trust tiers из импорта трактуются как рекомендации.
|
|
485
|
+
|
|
486
|
+
---
|
|
487
|
+
|
|
488
|
+
## 9. Устранение неполадок
|
|
489
|
+
|
|
490
|
+
### Проблемы с памятью
|
|
491
|
+
|
|
492
|
+
| Симптом | Причина | Решение |
|
|
493
|
+
|---------|---------|---------|
|
|
494
|
+
| `memory_query()` всегда пустой | Нет директории `.keysarium/memory/` | Нормально при первом запуске. Пройдите хотя бы один кейс |
|
|
495
|
+
| Corrupted JSON при чтении | Прерванная запись | Удалите поврежденный файл. Система пропустит его автоматически |
|
|
496
|
+
| Все записи expired | Низкий `retention_days` | Измените `retention_days` в `config.json` (0 = бессрочно) |
|
|
497
|
+
| Неизвестный домен | Домен не в `known_domains` | Записи сохраняются в `unknown/`. Добавьте домен в config.json |
|
|
498
|
+
| memory_store() не записывает | Ошибка прав файловой системы | `chmod -R u+w .keysarium/memory/` |
|
|
499
|
+
|
|
500
|
+
### Проблемы с воркерами
|
|
501
|
+
|
|
502
|
+
| Симптом | Причина | Решение |
|
|
503
|
+
|---------|---------|---------|
|
|
504
|
+
| Воркер "зависает" (status: running дольше 10 мин) | Превышен timeout Agent tool | Воркер автоматически завершится. Проверьте `error.log` |
|
|
505
|
+
| "Maximum concurrent workers reached" | 3 воркера уже активны | Дождитесь завершения или остановите лишних: `/workers stop <id>` |
|
|
506
|
+
| Isolation violation (запись вне `.keysarium/workers/`) | Ошибка в шаблоне воркера | Проверьте и исправьте шаблон в `lib/worker-templates/` |
|
|
507
|
+
| Registry.json рассинхронизирован | Воркер завершился аварийно | `/workers status` автоматически обновит реестр из status.json файлов |
|
|
508
|
+
| Воркер не останавливается | Не проверяет stop-requested | Дождитесь timeout (~10 мин) для принудительного завершения |
|
|
509
|
+
|
|
510
|
+
### Проблемы с witness chain
|
|
511
|
+
|
|
512
|
+
| Симптом | Причина | Решение |
|
|
513
|
+
|---------|---------|---------|
|
|
514
|
+
| "Hash mismatch" при верификации | Артефакт изменен после хеширования | Запустите repair: пересчитайте хеш и каскад downstream |
|
|
515
|
+
| "sha256sum: command not found" | Нет утилиты хеширования | Установите coreutils. На macOS используется `shasum -a 256` |
|
|
516
|
+
| Permission error при записи цепочки | Нет прав на запись в директорию | `chmod u+w researches/<slug>/` |
|
|
517
|
+
| "File not found" при верификации | Артефакт удален или перемещен | Восстановите файл из git или бэкапа |
|
|
518
|
+
| Нет `.witness-chain.json` | Phase 0 не создала genesis | Пайплайн продолжит работу (graceful degradation), но цепочка отсутствует |
|
|
519
|
+
|
|
520
|
+
### Проблемы с dream cycles
|
|
521
|
+
|
|
522
|
+
| Симптом | Причина | Решение |
|
|
523
|
+
|---------|---------|---------|
|
|
524
|
+
| Триггеры не срабатывают | `trigger-state.json` отсутствует или сброшен | Будет создан с defaults при следующем memory_store() |
|
|
525
|
+
| "insufficient_data" при /dream run | Менее 5 valid reward-записей | Проведите больше кейсов для накопления данных |
|
|
526
|
+
| Stale insights (устаревшие) | Dream cycle не запускался давно | Запустите `/dream run` вручную |
|
|
527
|
+
| `trigger-state.json` corrupted | Прерванная запись | Удалите файл -- будет пересоздан с defaults |
|
|
528
|
+
| Dream cycle завершился с "no_data" | `.keysarium/memory/` не существует | Сначала соберите reward-данные через пайплайн |
|
|
529
|
+
| Слишком много dream-файлов | Ретенция не сработала | `/dream clear` принудительно очистит до 10 файлов |
|