@dzhechkov/keysarium 1.2.0 → 1.3.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 +7 -2
- package/package.json +2 -2
- package/templates/.claude/commands/brain-export.md +97 -20
- package/templates/.claude/commands/brain-import.md +75 -4
- package/templates/CLAUDE.md +20 -14
- 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/keysarium-core/01-architecture.md +559 -0
- package/templates/docs/keysarium-core/02-functionality.md +953 -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/lib/memory-protocol.md +127 -22
|
@@ -0,0 +1,625 @@
|
|
|
1
|
+
# Руководство по развёртыванию @dzhechkov/keysarium-core
|
|
2
|
+
|
|
3
|
+
## Содержание
|
|
4
|
+
|
|
5
|
+
1. [Предварительные требования](#1-предварительные-требования)
|
|
6
|
+
2. [Установка](#2-установка)
|
|
7
|
+
3. [Конфигурация](#3-конфигурация)
|
|
8
|
+
4. [Первый запуск](#4-первый-запуск)
|
|
9
|
+
5. [Интеграция в существующий проект](#5-интеграция-в-существующий-проект)
|
|
10
|
+
6. [Верификация установки](#6-верификация-установки)
|
|
11
|
+
7. [Обновление](#7-обновление)
|
|
12
|
+
8. [Удаление](#8-удаление)
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## 1. Предварительные требования
|
|
17
|
+
|
|
18
|
+
Перед установкой убедитесь, что на вашей машине присутствуют следующие инструменты.
|
|
19
|
+
|
|
20
|
+
### 1.1. Node.js >= 16.0.0
|
|
21
|
+
|
|
22
|
+
Node.js необходим для установки пакета через npm.
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# Проверка версии
|
|
26
|
+
node --version
|
|
27
|
+
# Ожидаемый вывод: v16.x.x или выше (рекомендуется v20+)
|
|
28
|
+
|
|
29
|
+
npm --version
|
|
30
|
+
# Ожидаемый вывод: 8.x.x или выше
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Если Node.js не установлен, используйте nvm:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
|
|
37
|
+
source ~/.bashrc
|
|
38
|
+
nvm install 20
|
|
39
|
+
nvm use 20
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### 1.2. npm или yarn
|
|
43
|
+
|
|
44
|
+
Любой из двух пакетных менеджеров подходит для установки. npm поставляется вместе с Node.js. Для yarn:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npm install -g yarn
|
|
48
|
+
yarn --version
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 1.3. sha256sum или shasum (для witness chain)
|
|
52
|
+
|
|
53
|
+
Модуль верификации (`verification/witness-chain.md`) использует SHA-256 для построения хеш-цепочки. Убедитесь, что одна из утилит доступна:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# Linux (обычно предустановлен)
|
|
57
|
+
sha256sum --version
|
|
58
|
+
|
|
59
|
+
# macOS (shasum предустановлен)
|
|
60
|
+
shasum -a 256 --version
|
|
61
|
+
|
|
62
|
+
# Проверка доступности любой из двух
|
|
63
|
+
if command -v sha256sum &>/dev/null; then
|
|
64
|
+
echo "sha256sum доступен"
|
|
65
|
+
elif command -v shasum &>/dev/null; then
|
|
66
|
+
echo "shasum доступен"
|
|
67
|
+
else
|
|
68
|
+
echo "ОШИБКА: SHA-256 утилита не найдена"
|
|
69
|
+
fi
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Если ни одна утилита не найдена (редкий случай), установите coreutils:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# Ubuntu/Debian
|
|
76
|
+
sudo apt install coreutils
|
|
77
|
+
|
|
78
|
+
# macOS (shasum входит в стандартную поставку)
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### 1.4. AI-платформа
|
|
82
|
+
|
|
83
|
+
keysarium-core -- протокольный фреймворк для AI-агентов. Для его использования нужна одна из платформ:
|
|
84
|
+
|
|
85
|
+
| Платформа | Установка | Примечание |
|
|
86
|
+
|-----------|-----------|------------|
|
|
87
|
+
| Claude Code CLI | `npm install -g @anthropic-ai/claude-code` | Нативная поддержка |
|
|
88
|
+
| Cursor | [cursor.sh](https://cursor.sh) | Через `/init-platform --platform cursor` |
|
|
89
|
+
| OpenCode | [opencode.dev](https://opencode.dev) | Через `/init-platform --platform opencode` |
|
|
90
|
+
| GitHub Copilot | Расширение VS Code | Через `/init-platform --platform copilot` |
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## 2. Установка
|
|
95
|
+
|
|
96
|
+
### 2.1. Как npm-зависимость (standalone)
|
|
97
|
+
|
|
98
|
+
Установка только ядра -- для создания собственного пайплайна:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
npm install @dzhechkov/keysarium-core
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### 2.2. Совместно с Keysarium (исследовательский пайплайн)
|
|
105
|
+
|
|
106
|
+
Для работы с 7-фазным пайплайном AI-исследований:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
npm install @dzhechkov/keysarium @dzhechkov/keysarium-core
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### 2.3. Совместно с BTO (оценка и оптимизация)
|
|
113
|
+
|
|
114
|
+
Для мульти-агентной оценки скиллов и артефактов:
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
npm install @dzhechkov/skills-bto @dzhechkov/keysarium-core
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
### 2.4. Совместно с Feature ADR (разработка фич)
|
|
121
|
+
|
|
122
|
+
Для адаптивной разработки фич с 9-шаговым пайплайном:
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
npm install @dzhechkov/skills-feature-adr @dzhechkov/keysarium-core
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### 2.5. Из Git-репозитория
|
|
129
|
+
|
|
130
|
+
Если вам нужна последняя версия из исходников:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
git clone https://github.com/dzhechko/product-keysarium-2026.git
|
|
134
|
+
cd product-keysarium-2026/packages/dz-keysarium-core/
|
|
135
|
+
|
|
136
|
+
# Проверка содержимого
|
|
137
|
+
ls -la
|
|
138
|
+
# Ожидаемые директории: governance/ memory/ orchestration/
|
|
139
|
+
# verification/ trust-tiers/ platform/
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
## 3. Конфигурация
|
|
145
|
+
|
|
146
|
+
keysarium-core использует файловую конфигурацию в директории `.keysarium/`. Все файлы создаются автоматически при первом обращении, но вы можете настроить их заранее.
|
|
147
|
+
|
|
148
|
+
### 3.1. Memory -- `.keysarium/memory/config.json`
|
|
149
|
+
|
|
150
|
+
Управляет протоколом `memory_query()` / `memory_store()`:
|
|
151
|
+
|
|
152
|
+
```json
|
|
153
|
+
{
|
|
154
|
+
"version": "1.0",
|
|
155
|
+
"retention_days": 90,
|
|
156
|
+
"max_results_per_query": 10,
|
|
157
|
+
"enabled": true,
|
|
158
|
+
"known_domains": [],
|
|
159
|
+
"reward_levels": {
|
|
160
|
+
"excellent": 1.0,
|
|
161
|
+
"good": 0.7,
|
|
162
|
+
"needs_work": 0.3,
|
|
163
|
+
"failed": 0.0
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
| Параметр | По умолчанию | Описание |
|
|
169
|
+
|----------|-------------|----------|
|
|
170
|
+
| `retention_days` | 90 | Срок хранения записей (0 -- хранить вечно) |
|
|
171
|
+
| `max_results_per_query` | 10 | Максимум результатов в `memory_query()` |
|
|
172
|
+
| `enabled` | true | Включить/выключить подсистему памяти |
|
|
173
|
+
| `reward_levels` | см. выше | Шкала оценок от failed (0.0) до excellent (1.0) |
|
|
174
|
+
|
|
175
|
+
### 3.2. Workers -- `.keysarium/workers/registry.json`
|
|
176
|
+
|
|
177
|
+
Управляет фоновыми воркерами:
|
|
178
|
+
|
|
179
|
+
```json
|
|
180
|
+
{
|
|
181
|
+
"version": "1.0",
|
|
182
|
+
"max_concurrent": 3,
|
|
183
|
+
"active_workers": []
|
|
184
|
+
}
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
| Параметр | По умолчанию | Описание |
|
|
188
|
+
|----------|-------------|----------|
|
|
189
|
+
| `max_concurrent` | 3 | Максимум одновременно работающих воркеров |
|
|
190
|
+
|
|
191
|
+
### 3.3. Dream -- `.keysarium/insights/trigger-state.json`
|
|
192
|
+
|
|
193
|
+
Управляет триггерами dream cycle (фоновый анализ паттернов):
|
|
194
|
+
|
|
195
|
+
```json
|
|
196
|
+
{
|
|
197
|
+
"version": "1.0",
|
|
198
|
+
"records_since_last_dream": 0,
|
|
199
|
+
"last_dream_timestamp": null,
|
|
200
|
+
"triggers": {
|
|
201
|
+
"time_threshold_hours": 168,
|
|
202
|
+
"volume_threshold_records": 20
|
|
203
|
+
},
|
|
204
|
+
"events": []
|
|
205
|
+
}
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
| Параметр | По умолчанию | Описание |
|
|
209
|
+
|----------|-------------|----------|
|
|
210
|
+
| `time_threshold_hours` | 168 (7 дней) | Минимальное время между dream cycle |
|
|
211
|
+
| `volume_threshold_records` | 20 | Количество записей для автоматического триггера |
|
|
212
|
+
|
|
213
|
+
### 3.4. Trust Tiers
|
|
214
|
+
|
|
215
|
+
Тиры доверия настраиваются через метаданные в файлах `SKILL.md` каждого скилла. Специального файла конфигурации нет -- классификация определяется структурой скилла:
|
|
216
|
+
|
|
217
|
+
| Tier | Требования к структуре |
|
|
218
|
+
|------|----------------------|
|
|
219
|
+
| Tier 0 (Advisory) | Только `SKILL.md` |
|
|
220
|
+
| Tier 1 (Structured) | `SKILL.md` + `references/` или `modules/` |
|
|
221
|
+
| Tier 2 (Validated) | Tier 1 + оценка `/bto-test` >= 7.0 |
|
|
222
|
+
| Tier 3 (Verified) | Tier 2 + детерминистические eval-тесты |
|
|
223
|
+
|
|
224
|
+
### 3.5. Platform
|
|
225
|
+
|
|
226
|
+
Адаптеры платформ описаны в `platform/adapter-registry.md`. Шаблоны для генерации конфигов находятся в `platform/templates/`:
|
|
227
|
+
|
|
228
|
+
- `cursor.md` -- генерация `.cursorrules`
|
|
229
|
+
- `opencode.md` -- генерация `.opencode/`
|
|
230
|
+
- `copilot.md` -- генерация `.github/copilot-instructions.md`
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## 4. Первый запуск
|
|
235
|
+
|
|
236
|
+
Пошаговое руководство для запуска вашего первого пайплайна на базе keysarium-core.
|
|
237
|
+
|
|
238
|
+
### Шаг 1. Установка пакета
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
mkdir my-pipeline && cd my-pipeline
|
|
242
|
+
npm init -y
|
|
243
|
+
npm install @dzhechkov/keysarium-core
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Шаг 2. Загрузка конституции
|
|
247
|
+
|
|
248
|
+
При старте пайплайна агент должен прочитать файл `governance/constitution.md` для загрузки универсальных инвариантов:
|
|
249
|
+
|
|
250
|
+
```
|
|
251
|
+
node_modules/@dzhechkov/keysarium-core/governance/constitution.md
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
Конституция определяет правила, которые никогда не могут быть нарушены (целостность артефактов, обязательность checkpoints, изоляция агентов).
|
|
255
|
+
|
|
256
|
+
### Шаг 3. Создание governance shards
|
|
257
|
+
|
|
258
|
+
Создайте shard-файлы для каждого этапа вашего пайплайна по протоколу из `governance/shard-protocol.md`. Пример shard-файла:
|
|
259
|
+
|
|
260
|
+
```markdown
|
|
261
|
+
# Stage: Data Collection
|
|
262
|
+
|
|
263
|
+
## Time Budget: 15%
|
|
264
|
+
## Skill: data-collector
|
|
265
|
+
## Prerequisites: none
|
|
266
|
+
## Quality Gate: all sources verified
|
|
267
|
+
## Promise Tag: DATA_COLLECTED
|
|
268
|
+
```
|
|
269
|
+
|
|
270
|
+
### Шаг 4. Определение promise tags
|
|
271
|
+
|
|
272
|
+
Назначьте каждому этапу свой promise tag по протоколу из `governance/checkpoint-protocol.md`:
|
|
273
|
+
|
|
274
|
+
| Этап | Promise Tag |
|
|
275
|
+
|------|-------------|
|
|
276
|
+
| Сбор данных | `DATA_COLLECTED` |
|
|
277
|
+
| Анализ | `ANALYSIS_COMPLETE` |
|
|
278
|
+
| Генерация отчёта | `REPORT_READY` |
|
|
279
|
+
|
|
280
|
+
### Шаг 5. Настройка памяти (опционально)
|
|
281
|
+
|
|
282
|
+
Создайте директорию и конфигурацию:
|
|
283
|
+
|
|
284
|
+
```bash
|
|
285
|
+
mkdir -p .keysarium/memory
|
|
286
|
+
cat > .keysarium/memory/config.json << 'EOF'
|
|
287
|
+
{
|
|
288
|
+
"version": "1.0",
|
|
289
|
+
"retention_days": 90,
|
|
290
|
+
"max_results_per_query": 10,
|
|
291
|
+
"enabled": true,
|
|
292
|
+
"known_domains": [],
|
|
293
|
+
"reward_levels": {
|
|
294
|
+
"excellent": 1.0,
|
|
295
|
+
"good": 0.7,
|
|
296
|
+
"needs_work": 0.3,
|
|
297
|
+
"failed": 0.0
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
EOF
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
Если вы пропустите этот шаг, конфигурация будет создана автоматически при первом вызове `memory_store()`.
|
|
304
|
+
|
|
305
|
+
### Шаг 6. Запуск первого этапа пайплайна
|
|
306
|
+
|
|
307
|
+
Запустите AI-агента (Claude Code, Cursor и т.д.) в директории проекта. Агент должен:
|
|
308
|
+
|
|
309
|
+
1. Прочитать `constitution.md` -- загрузить инварианты
|
|
310
|
+
2. Прочитать shard текущего этапа -- загрузить правила этапа
|
|
311
|
+
3. Вызвать `memory_query()` -- загрузить исторические паттерны
|
|
312
|
+
4. Выполнить работу этапа
|
|
313
|
+
5. Показать checkpoint и дождаться подтверждения
|
|
314
|
+
6. Вызвать `memory_store()` с оценкой результата
|
|
315
|
+
|
|
316
|
+
### Шаг 7. Проверка witness chain
|
|
317
|
+
|
|
318
|
+
После завершения этапа убедитесь, что запись в хеш-цепочке создана:
|
|
319
|
+
|
|
320
|
+
```bash
|
|
321
|
+
# Проверка наличия файла цепочки
|
|
322
|
+
cat .witness-chain.json
|
|
323
|
+
|
|
324
|
+
# Ожидаемая структура (первый записанный этап):
|
|
325
|
+
# {
|
|
326
|
+
# "chain": [
|
|
327
|
+
# {
|
|
328
|
+
# "sequence": 0,
|
|
329
|
+
# "phase": "data-collection",
|
|
330
|
+
# "artifact": "01_data_report.md",
|
|
331
|
+
# "hash": "sha256:a1b2c3...",
|
|
332
|
+
# "previous_hash": "sha256:0000000000000000000000000000000000000000000000000000000000000000",
|
|
333
|
+
# "timestamp": "2026-03-02T10:00:00Z",
|
|
334
|
+
# "promise_tag": "DATA_COLLECTED"
|
|
335
|
+
# }
|
|
336
|
+
# ]
|
|
337
|
+
# }
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
---
|
|
341
|
+
|
|
342
|
+
## 5. Интеграция в существующий проект
|
|
343
|
+
|
|
344
|
+
### 5.1. Для Claude Code
|
|
345
|
+
|
|
346
|
+
Скопируйте протоколы в структуру `.claude/`:
|
|
347
|
+
|
|
348
|
+
```bash
|
|
349
|
+
# Скопировать governance shards
|
|
350
|
+
cp -r node_modules/@dzhechkov/keysarium-core/governance/ .claude/core/governance/
|
|
351
|
+
|
|
352
|
+
# Скопировать протоколы памяти
|
|
353
|
+
cp -r node_modules/@dzhechkov/keysarium-core/memory/ .claude/core/memory/
|
|
354
|
+
|
|
355
|
+
# Скопировать оркестрацию
|
|
356
|
+
cp -r node_modules/@dzhechkov/keysarium-core/orchestration/ .claude/core/orchestration/
|
|
357
|
+
|
|
358
|
+
# Скопировать верификацию
|
|
359
|
+
cp -r node_modules/@dzhechkov/keysarium-core/verification/ .claude/core/verification/
|
|
360
|
+
```
|
|
361
|
+
|
|
362
|
+
Затем добавьте в ваш `CLAUDE.md` ссылки на загрузку этих протоколов при старте пайплайна.
|
|
363
|
+
|
|
364
|
+
### 5.2. Для Cursor
|
|
365
|
+
|
|
366
|
+
Используйте генератор платформенных конфигов:
|
|
367
|
+
|
|
368
|
+
```bash
|
|
369
|
+
# В Claude Code
|
|
370
|
+
/init-platform --platform cursor
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
Это создаст файл `.cursorrules` на основе шаблона `platform/templates/cursor.md` с адаптированными протоколами keysarium-core.
|
|
374
|
+
|
|
375
|
+
### 5.3. Для OpenCode
|
|
376
|
+
|
|
377
|
+
```bash
|
|
378
|
+
/init-platform --platform opencode
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
Создаст директорию `.opencode/` с конфигурацией на основе `platform/templates/opencode.md`.
|
|
382
|
+
|
|
383
|
+
### 5.4. Для GitHub Copilot
|
|
384
|
+
|
|
385
|
+
```bash
|
|
386
|
+
/init-platform --platform copilot
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
Создаст файл `.github/copilot-instructions.md` на основе `platform/templates/copilot.md`.
|
|
390
|
+
|
|
391
|
+
---
|
|
392
|
+
|
|
393
|
+
## 6. Верификация установки
|
|
394
|
+
|
|
395
|
+
### 6.1. Проверка количества модулей
|
|
396
|
+
|
|
397
|
+
Пакет содержит 19 файлов протоколов (без учёта `package.json` и `README.md`):
|
|
398
|
+
|
|
399
|
+
```bash
|
|
400
|
+
# Подсчёт .md файлов в пакете
|
|
401
|
+
find node_modules/@dzhechkov/keysarium-core -name "*.md" | wc -l
|
|
402
|
+
# Ожидаемый результат: 19
|
|
403
|
+
|
|
404
|
+
# Или при установке из git:
|
|
405
|
+
find packages/dz-keysarium-core -name "*.md" | wc -l
|
|
406
|
+
# Ожидаемый результат: 19
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
Распределение по модулям:
|
|
410
|
+
|
|
411
|
+
| Модуль | Файлов | Файлы |
|
|
412
|
+
|--------|--------|-------|
|
|
413
|
+
| governance | 3 | constitution.md, shard-protocol.md, checkpoint-protocol.md |
|
|
414
|
+
| memory | 3 | memory-protocol.md, reward-tracker.md, dream-engine.md |
|
|
415
|
+
| orchestration | 4 | queen-protocol.md, topology-selection.md, background-workers.md, model-routing.md |
|
|
416
|
+
| verification | 3 | witness-chain.md, judge-attestation.md, audit-trail.md |
|
|
417
|
+
| trust-tiers | 2 | tier-system.md, promotion-protocol.md |
|
|
418
|
+
| platform | 4 | adapter-registry.md, templates/cursor.md, templates/opencode.md, templates/copilot.md |
|
|
419
|
+
|
|
420
|
+
### 6.2. Проверка sha256sum
|
|
421
|
+
|
|
422
|
+
```bash
|
|
423
|
+
# Создайте тестовый файл и проверьте хеширование
|
|
424
|
+
echo "test witness chain" > /tmp/test-artifact.md
|
|
425
|
+
|
|
426
|
+
if command -v sha256sum &>/dev/null; then
|
|
427
|
+
sha256sum /tmp/test-artifact.md
|
|
428
|
+
elif command -v shasum &>/dev/null; then
|
|
429
|
+
shasum -a 256 /tmp/test-artifact.md
|
|
430
|
+
fi
|
|
431
|
+
|
|
432
|
+
# Ожидаемый результат: 64-символьный hex-хеш + имя файла
|
|
433
|
+
rm /tmp/test-artifact.md
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
### 6.3. Тест протокола памяти
|
|
437
|
+
|
|
438
|
+
Создайте тестовую запись и выполните запрос:
|
|
439
|
+
|
|
440
|
+
```bash
|
|
441
|
+
# Создание структуры
|
|
442
|
+
mkdir -p .keysarium/memory/test-domain/test-project
|
|
443
|
+
|
|
444
|
+
# Создание тестовой записи
|
|
445
|
+
cat > .keysarium/memory/test-domain/test-project/stage-0_20260302T120000Z.json << 'EOF'
|
|
446
|
+
{
|
|
447
|
+
"version": "1.0",
|
|
448
|
+
"stage": "stage-0",
|
|
449
|
+
"domain": "test-domain",
|
|
450
|
+
"project": "test-project",
|
|
451
|
+
"reward": 1.0,
|
|
452
|
+
"reward_label": "excellent",
|
|
453
|
+
"promise_tag": "TEST_COMPLETE",
|
|
454
|
+
"timestamp": "2026-03-02T12:00:00Z",
|
|
455
|
+
"patterns_loaded": 0,
|
|
456
|
+
"context": {
|
|
457
|
+
"description": "Тестовая запись для верификации установки"
|
|
458
|
+
}
|
|
459
|
+
}
|
|
460
|
+
EOF
|
|
461
|
+
|
|
462
|
+
# Проверка: файл создан и корректен
|
|
463
|
+
cat .keysarium/memory/test-domain/test-project/stage-0_20260302T120000Z.json
|
|
464
|
+
|
|
465
|
+
# Очистка после теста
|
|
466
|
+
rm -rf .keysarium/memory/test-domain/
|
|
467
|
+
```
|
|
468
|
+
|
|
469
|
+
### 6.4. Тест witness chain
|
|
470
|
+
|
|
471
|
+
```bash
|
|
472
|
+
# Создание тестового артефакта
|
|
473
|
+
echo "# Test Artifact" > /tmp/test-witness.md
|
|
474
|
+
|
|
475
|
+
# Вычисление хеша
|
|
476
|
+
if command -v sha256sum &>/dev/null; then
|
|
477
|
+
HASH=$(sha256sum /tmp/test-witness.md | awk '{print $1}')
|
|
478
|
+
else
|
|
479
|
+
HASH=$(shasum -a 256 /tmp/test-witness.md | awk '{print $1}')
|
|
480
|
+
fi
|
|
481
|
+
|
|
482
|
+
NULL_HASH="0000000000000000000000000000000000000000000000000000000000000000"
|
|
483
|
+
|
|
484
|
+
# Создание genesis-записи
|
|
485
|
+
cat > /tmp/test-chain.json << EOF
|
|
486
|
+
{
|
|
487
|
+
"chain": [
|
|
488
|
+
{
|
|
489
|
+
"sequence": 0,
|
|
490
|
+
"phase": "test",
|
|
491
|
+
"artifact": "test-witness.md",
|
|
492
|
+
"hash": "sha256:${HASH}",
|
|
493
|
+
"previous_hash": "sha256:${NULL_HASH}",
|
|
494
|
+
"timestamp": "$(date -u +%Y-%m-%dT%H:%M:%SZ)",
|
|
495
|
+
"promise_tag": "TEST_VERIFIED"
|
|
496
|
+
}
|
|
497
|
+
]
|
|
498
|
+
}
|
|
499
|
+
EOF
|
|
500
|
+
|
|
501
|
+
# Проверка: цепочка создана
|
|
502
|
+
cat /tmp/test-chain.json
|
|
503
|
+
|
|
504
|
+
# Верификация: повторный хеш должен совпасть
|
|
505
|
+
if command -v sha256sum &>/dev/null; then
|
|
506
|
+
VERIFY=$(sha256sum /tmp/test-witness.md | awk '{print $1}')
|
|
507
|
+
else
|
|
508
|
+
VERIFY=$(shasum -a 256 /tmp/test-witness.md | awk '{print $1}')
|
|
509
|
+
fi
|
|
510
|
+
|
|
511
|
+
if [ "$HASH" = "$VERIFY" ]; then
|
|
512
|
+
echo "Witness chain: верификация пройдена"
|
|
513
|
+
else
|
|
514
|
+
echo "ОШИБКА: хеши не совпадают"
|
|
515
|
+
fi
|
|
516
|
+
|
|
517
|
+
# Очистка
|
|
518
|
+
rm /tmp/test-witness.md /tmp/test-chain.json
|
|
519
|
+
```
|
|
520
|
+
|
|
521
|
+
---
|
|
522
|
+
|
|
523
|
+
## 7. Обновление
|
|
524
|
+
|
|
525
|
+
### 7.1. Обновление через npm
|
|
526
|
+
|
|
527
|
+
```bash
|
|
528
|
+
npm update @dzhechkov/keysarium-core
|
|
529
|
+
```
|
|
530
|
+
|
|
531
|
+
Для обновления до конкретной версии:
|
|
532
|
+
|
|
533
|
+
```bash
|
|
534
|
+
npm install @dzhechkov/keysarium-core@latest
|
|
535
|
+
```
|
|
536
|
+
|
|
537
|
+
### 7.2. Проверка версии
|
|
538
|
+
|
|
539
|
+
Текущая версия указана в `index.md` (таблица Protocol Version History):
|
|
540
|
+
|
|
541
|
+
```bash
|
|
542
|
+
# Проверка версии пакета
|
|
543
|
+
cat node_modules/@dzhechkov/keysarium-core/package.json | grep '"version"'
|
|
544
|
+
# Ожидаемый вывод: "version": "1.0.0"
|
|
545
|
+
|
|
546
|
+
# Проверка версии протоколов
|
|
547
|
+
head -5 node_modules/@dzhechkov/keysarium-core/index.md
|
|
548
|
+
# Строка: > Manifest of all modules in @dzhechkov/keysarium-core v1.0.0
|
|
549
|
+
```
|
|
550
|
+
|
|
551
|
+
### 7.3. Совместимость схем
|
|
552
|
+
|
|
553
|
+
Все JSON-схемы в пакете содержат поле `"version": "1.0"`. При обновлении проверьте совместимость:
|
|
554
|
+
|
|
555
|
+
```bash
|
|
556
|
+
# Проверка версии схемы в ваших конфигурационных файлах
|
|
557
|
+
cat .keysarium/memory/config.json | grep '"version"'
|
|
558
|
+
# Должно совпадать с версией протокола в пакете
|
|
559
|
+
```
|
|
560
|
+
|
|
561
|
+
Если версия схемы в пакете изменилась (например, `"1.0"` -> `"2.0"`), прочтите CHANGELOG на предмет миграции. Мажорные изменения схем сопровождаются инструкцией по миграции.
|
|
562
|
+
|
|
563
|
+
### 7.4. Обновление из Git
|
|
564
|
+
|
|
565
|
+
```bash
|
|
566
|
+
cd product-keysarium-2026
|
|
567
|
+
git fetch origin
|
|
568
|
+
git pull origin main
|
|
569
|
+
|
|
570
|
+
# Проверка обновлений в core
|
|
571
|
+
git log --oneline -5 -- packages/dz-keysarium-core/
|
|
572
|
+
```
|
|
573
|
+
|
|
574
|
+
---
|
|
575
|
+
|
|
576
|
+
## 8. Удаление
|
|
577
|
+
|
|
578
|
+
### 8.1. Удаление npm-пакета
|
|
579
|
+
|
|
580
|
+
```bash
|
|
581
|
+
npm uninstall @dzhechkov/keysarium-core
|
|
582
|
+
```
|
|
583
|
+
|
|
584
|
+
Если keysarium-core установлен совместно с другими пакетами:
|
|
585
|
+
|
|
586
|
+
```bash
|
|
587
|
+
# Удаление всего стека
|
|
588
|
+
npm uninstall @dzhechkov/keysarium @dzhechkov/keysarium-core
|
|
589
|
+
|
|
590
|
+
# Или только BTO
|
|
591
|
+
npm uninstall @dzhechkov/skills-bto @dzhechkov/keysarium-core
|
|
592
|
+
|
|
593
|
+
# Или только Feature ADR
|
|
594
|
+
npm uninstall @dzhechkov/skills-feature-adr @dzhechkov/keysarium-core
|
|
595
|
+
```
|
|
596
|
+
|
|
597
|
+
### 8.2. Очистка рабочих данных
|
|
598
|
+
|
|
599
|
+
Директория `.keysarium/` содержит данные, накопленные в процессе работы: память, воркеры, инсайты. Если они больше не нужны:
|
|
600
|
+
|
|
601
|
+
```bash
|
|
602
|
+
# Просмотр содержимого перед удалением
|
|
603
|
+
du -sh .keysarium/
|
|
604
|
+
ls -la .keysarium/
|
|
605
|
+
|
|
606
|
+
# Удаление всех рабочих данных
|
|
607
|
+
rm -rf .keysarium/
|
|
608
|
+
```
|
|
609
|
+
|
|
610
|
+
> **Внимание:** Удаление `.keysarium/memory/` уничтожит все накопленные паттерны обучения. Если вы планируете использовать keysarium-core в будущем, рассмотрите экспорт через `/brain-export` перед удалением.
|
|
611
|
+
|
|
612
|
+
### 8.3. Удаление платформенных конфигов
|
|
613
|
+
|
|
614
|
+
Если вы генерировали конфиги через `/init-platform`, удалите их вручную:
|
|
615
|
+
|
|
616
|
+
```bash
|
|
617
|
+
# Cursor
|
|
618
|
+
rm -f .cursorrules
|
|
619
|
+
|
|
620
|
+
# OpenCode
|
|
621
|
+
rm -rf .opencode/
|
|
622
|
+
|
|
623
|
+
# GitHub Copilot
|
|
624
|
+
rm -f .github/copilot-instructions.md
|
|
625
|
+
```
|