mister-wolf 2.18.5 → 2.20.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 +12 -1
- package/README.ru.md +33 -14
- package/dist/adapters/cli/cli-entry.d.ts.map +1 -1
- package/dist/adapters/cli/cli-entry.js +10 -1
- package/dist/adapters/cli/cli-entry.js.map +1 -1
- package/dist/adapters/cli/commands/memory-doctor.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-doctor.js.map +1 -1
- package/dist/adapters/cli/commands/memory-sync.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-sync.js +3 -0
- package/dist/adapters/cli/commands/memory-sync.js.map +1 -1
- package/dist/adapters/cli/commands/memory-uninstall.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-uninstall.js.map +1 -1
- package/dist/adapters/cli/commands/memory-upgrade.d.ts +274 -0
- package/dist/adapters/cli/commands/memory-upgrade.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-upgrade.js +1354 -6
- package/dist/adapters/cli/commands/memory-upgrade.js.map +1 -1
- package/dist/adapters/cli/commands/upgrade-projects.d.ts +19 -0
- package/dist/adapters/cli/commands/upgrade-projects.d.ts.map +1 -0
- package/dist/adapters/cli/commands/upgrade-projects.js +85 -0
- package/dist/adapters/cli/commands/upgrade-projects.js.map +1 -0
- package/dist/adapters/cli/report-renderer.d.ts +43 -0
- package/dist/adapters/cli/report-renderer.d.ts.map +1 -0
- package/dist/adapters/cli/report-renderer.js +184 -0
- package/dist/adapters/cli/report-renderer.js.map +1 -0
- package/dist/adapters/fs/projects-registry.d.ts +21 -0
- package/dist/adapters/fs/projects-registry.d.ts.map +1 -1
- package/dist/adapters/fs/projects-registry.js +54 -1
- package/dist/adapters/fs/projects-registry.js.map +1 -1
- package/dist/adapters/fs/update-map.d.ts +102 -0
- package/dist/adapters/fs/update-map.d.ts.map +1 -0
- package/dist/adapters/fs/update-map.js +95 -0
- package/dist/adapters/fs/update-map.js.map +1 -0
- package/dist/adapters/fs/upgrade-lock.d.ts +23 -0
- package/dist/adapters/fs/upgrade-lock.d.ts.map +1 -0
- package/dist/adapters/fs/upgrade-lock.js +59 -0
- package/dist/adapters/fs/upgrade-lock.js.map +1 -0
- package/dist/adapters/render/opencode/opencode-renderer.d.ts +45 -5
- package/dist/adapters/render/opencode/opencode-renderer.d.ts.map +1 -1
- package/dist/adapters/render/opencode/opencode-renderer.js +434 -86
- package/dist/adapters/render/opencode/opencode-renderer.js.map +1 -1
- package/dist/adapters/render/stamp.d.ts +2 -0
- package/dist/adapters/render/stamp.d.ts.map +1 -1
- package/dist/adapters/render/stamp.js +9 -1
- package/dist/adapters/render/stamp.js.map +1 -1
- package/dist/adapters/render/sync-state.d.ts +15 -3
- package/dist/adapters/render/sync-state.d.ts.map +1 -1
- package/dist/adapters/render/sync-state.js +52 -8
- package/dist/adapters/render/sync-state.js.map +1 -1
- package/dist/app/use-cases/decisions.d.ts +247 -0
- package/dist/app/use-cases/decisions.d.ts.map +1 -0
- package/dist/app/use-cases/decisions.js +528 -0
- package/dist/app/use-cases/decisions.js.map +1 -0
- package/dist/app/use-cases/init-project.d.ts.map +1 -1
- package/dist/app/use-cases/init-project.js +34 -1
- package/dist/app/use-cases/init-project.js.map +1 -1
- package/dist/app/use-cases/platform-mismatch.d.ts +2 -1
- package/dist/app/use-cases/platform-mismatch.d.ts.map +1 -1
- package/dist/app/use-cases/platform-mismatch.js.map +1 -1
- package/dist/app/use-cases/project-step.d.ts +71 -0
- package/dist/app/use-cases/project-step.d.ts.map +1 -0
- package/dist/app/use-cases/project-step.js +163 -0
- package/dist/app/use-cases/project-step.js.map +1 -0
- package/dist/app/use-cases/repair-platform.d.ts +2 -1
- package/dist/app/use-cases/repair-platform.d.ts.map +1 -1
- package/dist/app/use-cases/repair-platform.js.map +1 -1
- package/dist/app/use-cases/scan-unregistered.d.ts +25 -0
- package/dist/app/use-cases/scan-unregistered.d.ts.map +1 -0
- package/dist/app/use-cases/scan-unregistered.js +74 -0
- package/dist/app/use-cases/scan-unregistered.js.map +1 -0
- package/dist/app/use-cases/seed-base-playbooks.d.ts +10 -0
- package/dist/app/use-cases/seed-base-playbooks.d.ts.map +1 -1
- package/dist/app/use-cases/seed-base-playbooks.js +54 -13
- package/dist/app/use-cases/seed-base-playbooks.js.map +1 -1
- package/dist/app/use-cases/sync-base-set.d.ts +4 -2
- package/dist/app/use-cases/sync-base-set.d.ts.map +1 -1
- package/dist/app/use-cases/sync-base-set.js +4 -2
- package/dist/app/use-cases/sync-base-set.js.map +1 -1
- package/dist/app/use-cases/uninstall.d.ts +2 -1
- package/dist/app/use-cases/uninstall.d.ts.map +1 -1
- package/dist/app/use-cases/uninstall.js.map +1 -1
- package/dist/app/use-cases/upgrade-projects.d.ts +91 -0
- package/dist/app/use-cases/upgrade-projects.d.ts.map +1 -0
- package/dist/app/use-cases/upgrade-projects.js +494 -0
- package/dist/app/use-cases/upgrade-projects.js.map +1 -0
- package/dist/app/use-cases/verify-against-map.d.ts +52 -0
- package/dist/app/use-cases/verify-against-map.d.ts.map +1 -0
- package/dist/app/use-cases/verify-against-map.js +189 -0
- package/dist/app/use-cases/verify-against-map.js.map +1 -0
- package/dist/domain/line-diff.d.ts +36 -0
- package/dist/domain/line-diff.d.ts.map +1 -0
- package/dist/domain/line-diff.js +175 -0
- package/dist/domain/line-diff.js.map +1 -0
- package/dist/domain/protect-key.d.ts +21 -0
- package/dist/domain/protect-key.d.ts.map +1 -0
- package/dist/domain/protect-key.js +112 -0
- package/dist/domain/protect-key.js.map +1 -0
- package/dist/ports/base-set-renderer.port.d.ts +62 -1
- package/dist/ports/base-set-renderer.port.d.ts.map +1 -1
- package/package.json +3 -2
- package/templates/.wolf/router.log +1 -1
- package/templates/base/AGENTS.md +6 -3
- package/update-map.json +204 -0
|
@@ -3,12 +3,51 @@ export interface RenderOutcome {
|
|
|
3
3
|
file: string;
|
|
4
4
|
action: RenderAction;
|
|
5
5
|
reason?: string;
|
|
6
|
+
/** 2.19.0 (design §«Сверка»): структурный флаг mutated-skip — сверка
|
|
7
|
+
* verifyAgainstMap различает skipped-identical / skipped-mutated полем,
|
|
8
|
+
* не парсингом reason-строки. */
|
|
9
|
+
mutated?: boolean;
|
|
10
|
+
/** Правило 2 §4.3: файл держится ключом protect, не тронут (вне needs-decision). */
|
|
11
|
+
protected?: true;
|
|
12
|
+
/** Значение ключа для дайджеста (`true` | `X.Y.Z` | raw вне грамматики). */
|
|
13
|
+
protect?: string | true;
|
|
14
|
+
/** Правило 6.5 §4.3: принятый локальный контент (origin:'keep'), файл не менялся. */
|
|
15
|
+
kept?: true;
|
|
16
|
+
/** Путь бэкапа, если файл был перезаписан по режиму take-on-mutated (§4.12). */
|
|
17
|
+
backup?: string;
|
|
6
18
|
}
|
|
7
19
|
/** Контекст подстановки моделей (onboarding v2, §4.5): {{model.primary}} / {{model.worker}}. */
|
|
8
20
|
export interface ModelContext {
|
|
9
21
|
primary: string;
|
|
10
22
|
worker: string;
|
|
11
23
|
}
|
|
24
|
+
/** Действие read-only инспекции цели (T10, REQ-08, design §«--check»): цель
|
|
25
|
+
* сверяется с текущим рендером без единой записи на диск. foreign — unstamped
|
|
26
|
+
* файл на месте цели (wx-политика: чужое, вне покрытия). protected/kept —
|
|
27
|
+
* защищённая вариация и принятый локальный контент: не решения (§4.6). */
|
|
28
|
+
export type InspectAction = 'identical' | 'differs' | 'missing' | 'mutated' | 'foreign' | 'unknown' | 'protected' | 'kept';
|
|
29
|
+
export interface InspectOutcome {
|
|
30
|
+
/** rel-путь от baseDir — тот же ключ, что RenderOutcome.file. */
|
|
31
|
+
file: string;
|
|
32
|
+
action: InspectAction;
|
|
33
|
+
protected?: true;
|
|
34
|
+
protect?: string | true;
|
|
35
|
+
kept?: true;
|
|
36
|
+
/** База, на которой владелец принял локальный контент (правило 6.5 §4.3). */
|
|
37
|
+
keepBase?: string;
|
|
38
|
+
/** Причина наблюдения для человека (`onboarding markers broken`, …); в classify
|
|
39
|
+
* и `--check` передаётся полем, а не разбором reason-строки (§4.15). */
|
|
40
|
+
detail?: string;
|
|
41
|
+
}
|
|
42
|
+
/** Хук бэкапа: приложение решает, куда и как копировать; рендерер только
|
|
43
|
+
* требует «сначала бэкап, потом запись» (NFR-05). Возвращает путь бэкапа. */
|
|
44
|
+
export type BackupHook = (rel: string, content: string) => Promise<string>;
|
|
45
|
+
export interface SyncBaseSetOptions {
|
|
46
|
+
/** --yes (§4.12): mutated → бэкап + эталон. Без хука режим запрещён. */
|
|
47
|
+
takeMutated?: {
|
|
48
|
+
backup: BackupHook;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
12
51
|
export interface BakeResolver {
|
|
13
52
|
/** Вернуть тело playbook'а для вживления (bake-in) или null. Источник — память целевого проекта (§4). */
|
|
14
53
|
(baseName: string): string | null;
|
|
@@ -21,6 +60,22 @@ export interface RenderBaseSetOptions {
|
|
|
21
60
|
* 'full' (дефолт) — весь базовый набор. */
|
|
22
61
|
scope?: 'full' | 'agents-md';
|
|
23
62
|
}
|
|
63
|
+
/** Реестр защит (`--check`, REQ-09; design §4.11): включая файлы вне карты. */
|
|
64
|
+
export interface ProtectEntry {
|
|
65
|
+
/** Корень проекта (abs). */
|
|
66
|
+
project: string;
|
|
67
|
+
/** rel-путь от корня проекта. */
|
|
68
|
+
file: string;
|
|
69
|
+
/** `true` | `X.Y.Z` либо raw вне грамматики. */
|
|
70
|
+
value: 'true' | string;
|
|
71
|
+
/** false — значение вне грамматики (вывод с предупреждением). */
|
|
72
|
+
recognized: boolean;
|
|
73
|
+
stamp: string | null;
|
|
74
|
+
/** Версия базы (map.version). */
|
|
75
|
+
base: string;
|
|
76
|
+
/** Нормализованный контент != fresh; null — эталона нет (файл вне карты). */
|
|
77
|
+
behind: boolean | null;
|
|
78
|
+
}
|
|
24
79
|
export interface BaseSetRenderer {
|
|
25
80
|
id: string;
|
|
26
81
|
/** Init-рендер: create + diff-ветка (§4.5: stamped + diff контента → updated; unstamped → skipped). */
|
|
@@ -30,9 +85,15 @@ export interface BaseSetRenderer {
|
|
|
30
85
|
* models — контекст из routing-объекта; 'omit' (и undefined — легаси без routing-объекта) —
|
|
31
86
|
* построчное удаление model:-строки из fresh-контента (§4.5).
|
|
32
87
|
*/
|
|
33
|
-
syncBaseSet(baseDir: string, models?: ModelContext | 'omit'): Promise<{
|
|
88
|
+
syncBaseSet(baseDir: string, models?: ModelContext | 'omit', opts?: SyncBaseSetOptions): Promise<{
|
|
34
89
|
outcomes: RenderOutcome[];
|
|
35
90
|
orphaned: string[];
|
|
36
91
|
}>;
|
|
92
|
+
/** Read-only инспекция целей base-set и AGENTS.md (`--check`, §4.6). */
|
|
93
|
+
inspectBaseSet?(baseDir: string, opts?: RenderBaseSetOptions): Promise<InspectOutcome[]>;
|
|
94
|
+
/** Read-only реестр защит по каталогам base-set, включая файлы вне карты (§4.11). */
|
|
95
|
+
listProtections?(baseDir: string, base: string): Promise<ProtectEntry[]>;
|
|
96
|
+
/** Свежий рендер одного rel-файла (эталон для `--show`/`behind`); null — файла нет в карте. */
|
|
97
|
+
renderFreshFile?(baseDir: string, rel: string, opts?: RenderBaseSetOptions): string | null;
|
|
37
98
|
}
|
|
38
99
|
//# sourceMappingURL=base-set-renderer.port.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base-set-renderer.port.d.ts","sourceRoot":"","sources":["../../src/ports/base-set-renderer.port.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"base-set-renderer.port.d.ts","sourceRoot":"","sources":["../../src/ports/base-set-renderer.port.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mister-wolf",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.20.0",
|
|
4
4
|
"description": "Local-first project memory for AI coding agents: decisions, lessons, tools and processes that outlive the session",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ai-agents",
|
|
@@ -24,7 +24,8 @@
|
|
|
24
24
|
},
|
|
25
25
|
"files": [
|
|
26
26
|
"dist",
|
|
27
|
-
"templates"
|
|
27
|
+
"templates",
|
|
28
|
+
"update-map.json"
|
|
28
29
|
],
|
|
29
30
|
"scripts": {
|
|
30
31
|
"build": "tsc",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
2026-10-
|
|
1
|
+
2026-10-25T15:56:04.865Z agent-id=v2-router-probe-xyz playbook=hit name=fallback variant=fallback source=default resolution=error face_id=- version=- hash=- session=opc-f3c9b14e-d389-4f32-bd73-6c36eedd3c72 injected=yes ms=0 bytes=1274
|
package/templates/base/AGENTS.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<!-- wolf:onboarding
|
|
1
|
+
<!-- wolf:onboarding v3 -->
|
|
2
2
|
|
|
3
3
|
# Mr. Wolf — память проекта
|
|
4
4
|
|
|
@@ -26,7 +26,10 @@
|
|
|
26
26
|
## Указатели
|
|
27
27
|
|
|
28
28
|
- Документация: `docs/README.md`
|
|
29
|
+
- Защита файла от обновления: `protect: true` (или `protect: X.Y.Z`) в YAML-frontmatter
|
|
30
|
+
agent/skill/command-файла; конфликты разбираются `wolf upgrade --review`,
|
|
31
|
+
снятие защиты — `wolf upgrade --resolve <файл>=take|keep`.
|
|
29
32
|
- Номер версии всегда полный X.Y.Z — в планах, тредах, волнах, тегах и разговоре.
|
|
30
|
-
Голый минор («2.16») запрещён как имя релиза/волны/треда/плана: релизов «2.16» не
|
|
31
|
-
существует, есть «2.16.0», «2.16.1» (пример корректного полного номера: 2.16.2).
|
|
33
|
+
Голый минор («2.16») запрещён как имя релиза/волны/треда/плана: релизов «2.16» не
|
|
34
|
+
существует, есть «2.16.0», «2.16.1» (пример корректного полного номера: 2.16.2).
|
|
32
35
|
<!-- /wolf:onboarding -->
|
package/update-map.json
ADDED
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "2.20.0",
|
|
3
|
+
"prev": "2.19.0",
|
|
4
|
+
"files": [
|
|
5
|
+
{
|
|
6
|
+
"path": "base/agents/executor-lead.md",
|
|
7
|
+
"kind": "agent",
|
|
8
|
+
"category": "unchanged"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"path": "base/agents/mr-wolf.md",
|
|
12
|
+
"kind": "agent",
|
|
13
|
+
"category": "unchanged"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"path": "base/agents/steward.md",
|
|
17
|
+
"kind": "agent",
|
|
18
|
+
"category": "unchanged"
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
"path": "base/agents/worker-implementer.md",
|
|
22
|
+
"kind": "agent",
|
|
23
|
+
"category": "unchanged"
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"path": "base/agents/worker-researcher.md",
|
|
27
|
+
"kind": "agent",
|
|
28
|
+
"category": "unchanged"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"path": "base/agents/worker-reviewer.md",
|
|
32
|
+
"kind": "agent",
|
|
33
|
+
"category": "unchanged"
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
"path": "base/commands/analyze-doc.md",
|
|
37
|
+
"kind": "command",
|
|
38
|
+
"category": "unchanged"
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
"path": "base/commands/complain.md",
|
|
42
|
+
"kind": "command",
|
|
43
|
+
"category": "unchanged"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"path": "base/commands/doc-review.md",
|
|
47
|
+
"kind": "command",
|
|
48
|
+
"category": "unchanged"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"path": "base/skills/finishing-a-development-branch/SKILL.md",
|
|
52
|
+
"kind": "skill",
|
|
53
|
+
"category": "unchanged"
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"path": "base/skills/receiving-code-review/SKILL.md",
|
|
57
|
+
"kind": "skill",
|
|
58
|
+
"category": "unchanged"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"path": "base/skills/requesting-code-review/SKILL.md",
|
|
62
|
+
"kind": "skill",
|
|
63
|
+
"category": "unchanged"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"path": "base/skills/test-driven-development/SKILL.md",
|
|
67
|
+
"kind": "skill",
|
|
68
|
+
"category": "unchanged"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"path": "base/skills/using-git-worktrees/SKILL.md",
|
|
72
|
+
"kind": "skill",
|
|
73
|
+
"category": "unchanged"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"path": "base/skills/using-skills/SKILL.md",
|
|
77
|
+
"kind": "skill",
|
|
78
|
+
"category": "unchanged"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"path": "base/skills/verification-before-completion/SKILL.md",
|
|
82
|
+
"kind": "skill",
|
|
83
|
+
"category": "unchanged"
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
"path": "base/skills/wolf-brainstorm/SKILL.md",
|
|
87
|
+
"kind": "skill",
|
|
88
|
+
"category": "unchanged"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"path": "base/skills/wolf-debug/SKILL.md",
|
|
92
|
+
"kind": "skill",
|
|
93
|
+
"category": "unchanged"
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"path": "base/skills/wolf-design/SKILL.md",
|
|
97
|
+
"kind": "skill",
|
|
98
|
+
"category": "unchanged"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"path": "base/skills/wolf-execute/SKILL.md",
|
|
102
|
+
"kind": "skill",
|
|
103
|
+
"category": "unchanged"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"path": "base/skills/wolf-explain/SKILL.md",
|
|
107
|
+
"kind": "skill",
|
|
108
|
+
"category": "unchanged"
|
|
109
|
+
},
|
|
110
|
+
{
|
|
111
|
+
"path": "base/skills/wolf-handoff/SKILL.md",
|
|
112
|
+
"kind": "skill",
|
|
113
|
+
"category": "unchanged"
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"path": "base/skills/wolf-plan/SKILL.md",
|
|
117
|
+
"kind": "skill",
|
|
118
|
+
"category": "unchanged"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"path": "base/skills/wolf-review/SKILL.md",
|
|
122
|
+
"kind": "skill",
|
|
123
|
+
"category": "unchanged"
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
"path": "base/skills/wolf-sdd/SKILL.md",
|
|
127
|
+
"kind": "skill",
|
|
128
|
+
"category": "unchanged"
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
"path": "base/skills/wolf-skill-intake/SKILL.md",
|
|
132
|
+
"kind": "skill",
|
|
133
|
+
"category": "unchanged"
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
"path": "base/skills/wolf-testplan/SKILL.md",
|
|
137
|
+
"kind": "skill",
|
|
138
|
+
"category": "unchanged"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"path": "base/skills/writing-skills/SKILL.md",
|
|
142
|
+
"kind": "skill",
|
|
143
|
+
"category": "unchanged"
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"path": "opencode/plugins/wolf-router.ts",
|
|
147
|
+
"kind": "plugin",
|
|
148
|
+
"category": "unchanged"
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"path": "opencode/plugins/wolf-session-start.js",
|
|
152
|
+
"kind": "plugin",
|
|
153
|
+
"category": "unchanged"
|
|
154
|
+
}
|
|
155
|
+
],
|
|
156
|
+
"faces": [
|
|
157
|
+
{
|
|
158
|
+
"template": "base/playbooks/complaint-protocol.md",
|
|
159
|
+
"owner_skill": "mr-wolf",
|
|
160
|
+
"category": "unchanged",
|
|
161
|
+
"seed": true
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
"template": "base/playbooks/executor-lead-playbook.md",
|
|
165
|
+
"owner_skill": "executor-lead",
|
|
166
|
+
"category": "unchanged",
|
|
167
|
+
"seed": true
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"template": "base/playbooks/steward-nastavnik.md",
|
|
171
|
+
"owner_skill": "steward",
|
|
172
|
+
"category": "unchanged",
|
|
173
|
+
"seed": true
|
|
174
|
+
},
|
|
175
|
+
{
|
|
176
|
+
"template": "base/playbooks/worker-implementer-playbook.md",
|
|
177
|
+
"owner_skill": "worker-implementer",
|
|
178
|
+
"category": "unchanged",
|
|
179
|
+
"seed": true
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
"template": "base/playbooks/worker-researcher-playbook.md",
|
|
183
|
+
"owner_skill": "worker-researcher",
|
|
184
|
+
"category": "unchanged",
|
|
185
|
+
"seed": true
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
"template": "base/playbooks/worker-reviewer-playbook.md",
|
|
189
|
+
"owner_skill": "worker-reviewer",
|
|
190
|
+
"category": "unchanged",
|
|
191
|
+
"seed": true
|
|
192
|
+
}
|
|
193
|
+
],
|
|
194
|
+
"agents_md": {
|
|
195
|
+
"category": "changed",
|
|
196
|
+
"mode": "append-block"
|
|
197
|
+
},
|
|
198
|
+
"schema_migrations": [],
|
|
199
|
+
"outside_v1": [
|
|
200
|
+
"taxonomy (config.yaml memory_types — manual wolf taxonomy)",
|
|
201
|
+
"tool-skills (generated by wolf tool — not a base-set path)",
|
|
202
|
+
"local/foreign artifacts (untracked .opencode/* and .wolf/* files)"
|
|
203
|
+
]
|
|
204
|
+
}
|