mister-wolf 2.16.3 → 2.17.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.
Files changed (91) hide show
  1. package/README.md +4 -4
  2. package/README.ru.md +4 -4
  3. package/dist/adapters/cli/cli-entry.d.ts.map +1 -1
  4. package/dist/adapters/cli/cli-entry.js +17 -0
  5. package/dist/adapters/cli/cli-entry.js.map +1 -1
  6. package/dist/adapters/cli/commands/face.d.ts +3 -0
  7. package/dist/adapters/cli/commands/face.d.ts.map +1 -0
  8. package/dist/adapters/cli/commands/face.js +194 -0
  9. package/dist/adapters/cli/commands/face.js.map +1 -0
  10. package/dist/adapters/cli/commands/memory-add.d.ts.map +1 -1
  11. package/dist/adapters/cli/commands/memory-add.js +1 -1
  12. package/dist/adapters/cli/commands/memory-add.js.map +1 -1
  13. package/dist/adapters/cli/commands/memory-doctor.d.ts +20 -0
  14. package/dist/adapters/cli/commands/memory-doctor.d.ts.map +1 -1
  15. package/dist/adapters/cli/commands/memory-doctor.js +87 -3
  16. package/dist/adapters/cli/commands/memory-doctor.js.map +1 -1
  17. package/dist/adapters/cli/commands/memory-init.d.ts.map +1 -1
  18. package/dist/adapters/cli/commands/memory-init.js +11 -53
  19. package/dist/adapters/cli/commands/memory-init.js.map +1 -1
  20. package/dist/adapters/cli/commands/memory-list.d.ts.map +1 -1
  21. package/dist/adapters/cli/commands/memory-list.js +1 -1
  22. package/dist/adapters/cli/commands/memory-list.js.map +1 -1
  23. package/dist/adapters/cli/commands/memory-search.d.ts.map +1 -1
  24. package/dist/adapters/cli/commands/memory-search.js +1 -1
  25. package/dist/adapters/cli/commands/memory-search.js.map +1 -1
  26. package/dist/adapters/cli/commands/memory-sync.js +1 -1
  27. package/dist/adapters/cli/commands/memory-sync.js.map +1 -1
  28. package/dist/adapters/cli/commands/propose.d.ts +3 -0
  29. package/dist/adapters/cli/commands/propose.d.ts.map +1 -0
  30. package/dist/adapters/cli/commands/propose.js +94 -0
  31. package/dist/adapters/cli/commands/propose.js.map +1 -0
  32. package/dist/adapters/cli/type-command-generator.d.ts.map +1 -1
  33. package/dist/adapters/cli/type-command-generator.js +2 -0
  34. package/dist/adapters/cli/type-command-generator.js.map +1 -1
  35. package/dist/app/use-cases/add-memory-object.d.ts +5 -0
  36. package/dist/app/use-cases/add-memory-object.d.ts.map +1 -1
  37. package/dist/app/use-cases/add-memory-object.js +24 -5
  38. package/dist/app/use-cases/add-memory-object.js.map +1 -1
  39. package/dist/app/use-cases/create-face-version.d.ts +79 -0
  40. package/dist/app/use-cases/create-face-version.d.ts.map +1 -0
  41. package/dist/app/use-cases/create-face-version.js +224 -0
  42. package/dist/app/use-cases/create-face-version.js.map +1 -0
  43. package/dist/app/use-cases/create-mutation-record.d.ts +55 -0
  44. package/dist/app/use-cases/create-mutation-record.d.ts.map +1 -0
  45. package/dist/app/use-cases/create-mutation-record.js +78 -0
  46. package/dist/app/use-cases/create-mutation-record.js.map +1 -0
  47. package/dist/app/use-cases/deliver-proposal.d.ts +26 -0
  48. package/dist/app/use-cases/deliver-proposal.d.ts.map +1 -0
  49. package/dist/app/use-cases/deliver-proposal.js +35 -0
  50. package/dist/app/use-cases/deliver-proposal.js.map +1 -0
  51. package/dist/app/use-cases/migrate-faces.d.ts +47 -0
  52. package/dist/app/use-cases/migrate-faces.d.ts.map +1 -0
  53. package/dist/app/use-cases/migrate-faces.js +65 -0
  54. package/dist/app/use-cases/migrate-faces.js.map +1 -0
  55. package/dist/app/use-cases/record-relation.d.ts.map +1 -1
  56. package/dist/app/use-cases/record-relation.js +6 -0
  57. package/dist/app/use-cases/record-relation.js.map +1 -1
  58. package/dist/app/use-cases/save-proposal.d.ts +49 -0
  59. package/dist/app/use-cases/save-proposal.d.ts.map +1 -0
  60. package/dist/app/use-cases/save-proposal.js +32 -0
  61. package/dist/app/use-cases/save-proposal.js.map +1 -0
  62. package/dist/app/use-cases/scaffold-agent.d.ts.map +1 -1
  63. package/dist/app/use-cases/scaffold-agent.js +20 -52
  64. package/dist/app/use-cases/scaffold-agent.js.map +1 -1
  65. package/dist/app/use-cases/seed-base-playbooks.d.ts +16 -95
  66. package/dist/app/use-cases/seed-base-playbooks.d.ts.map +1 -1
  67. package/dist/app/use-cases/seed-base-playbooks.js +22 -23
  68. package/dist/app/use-cases/seed-base-playbooks.js.map +1 -1
  69. package/dist/domain/facet-colors.d.ts.map +1 -1
  70. package/dist/domain/facet-colors.js +1 -0
  71. package/dist/domain/facet-colors.js.map +1 -1
  72. package/dist/domain/memory-types.d.ts +32 -1
  73. package/dist/domain/memory-types.d.ts.map +1 -1
  74. package/dist/domain/memory-types.js +32 -2
  75. package/dist/domain/memory-types.js.map +1 -1
  76. package/dist/domain/schemas/memory-event-schema.d.ts +4 -0
  77. package/dist/domain/schemas/memory-event-schema.d.ts.map +1 -1
  78. package/dist/domain/schemas/memory-event-schema.js +30 -1
  79. package/dist/domain/schemas/memory-event-schema.js.map +1 -1
  80. package/dist/domain/schemas/relation-schema.d.ts +6 -2
  81. package/dist/domain/schemas/relation-schema.d.ts.map +1 -1
  82. package/dist/domain/schemas/relation-schema.js +8 -0
  83. package/dist/domain/schemas/relation-schema.js.map +1 -1
  84. package/dist/domain/schemas/session-checkpoint-schema.d.ts +1 -1
  85. package/dist/domain/type-schema-builder.d.ts +4 -2
  86. package/dist/domain/type-schema-builder.d.ts.map +1 -1
  87. package/dist/domain/type-schema-builder.js +32 -1
  88. package/dist/domain/type-schema-builder.js.map +1 -1
  89. package/package.json +1 -1
  90. package/templates/.wolf/router.log +1 -1
  91. package/templates/opencode/plugins/wolf-router.ts +60 -10
@@ -1 +1 @@
1
- {"version":3,"file":"memory-types.d.ts","sourceRoot":"","sources":["../../src/domain/memory-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-types.d.ts","sourceRoot":"","sources":["../../src/domain/memory-types.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,GACpB,QAAQ,GACR,MAAM,GACN,UAAU,GACV,OAAO,GACP,aAAa,GACb,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,WAAW,GACX,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,UAAU,GACV,WAAW,GACX,YAAY,GAEZ,SAAS,GACT,gBAAgB,CAAC;AACrB,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,iBAAiB,CAAC;AACnF,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AACnD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAEhE,mFAAmF;AACnF,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,IAAI,CAAA;CAAE,GACnC;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAEjE,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,UAAU,CAAC;IACjB,sFAAsF;IACtF,SAAS,EAAE,SAAS,YAAY,EAAE,CAAC;IACnC,qEAAqE;IACrE,aAAa,CAAC,EAAE,YAAY,CAAC;IAC7B,oEAAoE;IACpE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,8DAA8D;IAC9D,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,wEAAwE;IACxE,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnC,iDAAiD;IACjD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAuBD,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EASrD,CAAC;AAMF,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAAiB,CAAC;AAM7D,QAAA,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA8Hf,CAAC;AAEX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,eAAO,MAAM,YAAY,wFAAyC,CAAC;AAEnE;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,eAAO,MAAM,uBAAuB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAqB3E,CAAC;AAEF,oFAAoF;AACpF,eAAO,MAAM,aAAa,EAAE,SAAS,qBAAqB,EAAwB,CAAC;AAEnF,4FAA4F;AAC5F,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,SAAS,qBAAqB,EAAE,GAAG,qBAAqB,CAc5G;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,IAAI,CAG3F"}
@@ -17,6 +17,8 @@ const FULL = [
17
17
  ];
18
18
  // Волна 2.13 §5.3: закрытый словарь фасетов «характер записи» для типа note.
19
19
  // Диапазон длины словаря 7–10 (config-file); кастомизация — facets.character в config.yaml.
20
+ // Волна 2.17 (ADR-3, REQ-08): +proposal (8/10) — сигнал-фасет предложения
21
+ // входит в character-словарь note; прочие core-типы — SIGNAL_FACETS ниже.
20
22
  export const DEFAULT_CHARACTER_FACETS = [
21
23
  'howto',
22
24
  'pitfall',
@@ -25,11 +27,17 @@ export const DEFAULT_CHARACTER_FACETS = [
25
27
  'history',
26
28
  'legacy',
27
29
  'constraint',
30
+ 'proposal',
28
31
  ];
32
+ // Волна 2.17 ADR-3 (REQ-08): сигнал-словарь facet для не-note core-типов —
33
+ // единственное значение proposal, отдельно от character-словаря note (новый
34
+ // тег-словарь не вводится). Инжектится в per-type схемы type-schema-builder'ом,
35
+ // а не декларацией fields — чтобы не попадать в генерацию CLI-флагов.
36
+ export const SIGNAL_FACETS = ['proposal'];
29
37
  // Единственный источник истины: типы (MemoryType, MEMORY_TYPES) выводятся
30
38
  // отсюда — новый core-тип добавляется ТОЛЬКО в этот массив.
31
- // Волна 2.13 §5.1: 7 выживших типов (дословно Т1); старые типы — карта
32
- // DEPRECATED_TYPE_ALIASES ниже (alias-чтение P211) и migrate taxonomy (P213).
39
+ // Волна 2.13 §5.1: 7 выживших типов (дословно Т1); волна 2.17: +face (REQ-01).
40
+ // Старые типы — карта DEPRECATED_TYPE_ALIASES ниже (alias-чтение P211) и migrate taxonomy (P213).
33
41
  const CORE_TAXONOMY_DECLS = [
34
42
  {
35
43
  name: 'rule',
@@ -134,6 +142,28 @@ const CORE_TAXONOMY_DECLS = [
134
142
  facet: { kind: 'enum', values: DEFAULT_CHARACTER_FACETS },
135
143
  },
136
144
  },
145
+ {
146
+ // Волна 2.17 REQ-01 (design §Контракты «Тип face»): лицо агента —
147
+ // канонический playbook как самостоятельный core-тип; история = цепочка
148
+ // записей-версий через существующий supersede (ADR-1). Создание — только
149
+ // версионирующим путём (guard в use-case, T-02/T-07).
150
+ name: 'face',
151
+ // T18: только существующие статусы
152
+ lifecycle: ['active', 'superseded', 'archived'],
153
+ subdirThread: null,
154
+ subdirShared: 'faces',
155
+ fields: {
156
+ owner_skill: { kind: 'string', required: true, min: 1 },
157
+ // '1','2',… — номер версии назначает версионирующая команда (T-02)
158
+ version: { kind: 'string', required: true, min: 1 },
159
+ // id версии-основы; отсутствует у первой версии
160
+ based_on: { kind: 'string', optional: true },
161
+ // REQ-04 AC2: причина обязательна
162
+ reason: { kind: 'string', required: true, min: 1 },
163
+ // ADR-6: seed — посев первых версий (wolf init)
164
+ initiator: { kind: 'enum', values: ['steward', 'owner', 'breakglass', 'migration', 'seed'] },
165
+ },
166
+ },
137
167
  ];
138
168
  export const MEMORY_TYPES = CORE_TAXONOMY_DECLS.map((d) => d.name);
139
169
  export const DEPRECATED_TYPE_ALIASES = {
@@ -1 +1 @@
1
- {"version":3,"file":"memory-types.js","sourceRoot":"","sources":["../../src/domain/memory-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-types.js","sourceRoot":"","sources":["../../src/domain/memory-types.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,10 @@ import { z } from 'zod';
2
2
  export declare const MemoryEventSchema: z.ZodObject<{
3
3
  id: z.ZodString;
4
4
  type: z.ZodEnum<{
5
+ "memory.face.versioned": "memory.face.versioned";
6
+ "memory.face.breakglass": "memory.face.breakglass";
7
+ "memory.face.denied": "memory.face.denied";
8
+ "memory.proposal.delivered": "memory.proposal.delivered";
5
9
  "memory.added": "memory.added";
6
10
  "memory.edited": "memory.edited";
7
11
  "memory.updated": "memory.updated";
@@ -1 +1 @@
1
- {"version":3,"file":"memory-event-schema.d.ts","sourceRoot":"","sources":["../../../src/domain/schemas/memory-event-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;iBAiB5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"memory-event-schema.d.ts","sourceRoot":"","sources":["../../../src/domain/schemas/memory-event-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAYxB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;iBAoC1B,CAAC;AAEL,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
@@ -1,5 +1,15 @@
1
1
  import { z } from 'zod';
2
- export const MemoryEventSchema = z.object({
2
+ // Волна 2.17 (design §События журнала): обязательные ключи payload новых
3
+ // face/proposal-событий. breakglass зеркалит versioned (также создаёт версию);
4
+ // from может быть null (первая версия) — проверяется наличие ключа, не тип.
5
+ const EVENT_PAYLOAD_KEYS = {
6
+ 'memory.face.versioned': ['owner_skill', 'from', 'new', 'initiator', 'reason'],
7
+ 'memory.face.breakglass': ['owner_skill', 'from', 'new', 'initiator', 'reason'],
8
+ 'memory.face.denied': ['owner_skill', 'actor', 'command'],
9
+ 'memory.proposal.delivered': ['id', 'addressee'],
10
+ };
11
+ export const MemoryEventSchema = z
12
+ .object({
3
13
  id: z.string().min(1),
4
14
  type: z.enum([
5
15
  'memory.added',
@@ -12,9 +22,28 @@ export const MemoryEventSchema = z.object({
12
22
  'memory.overwritten',
13
23
  'memory.aggregated',
14
24
  'memory.scope_promoted',
25
+ // волна 2.17: face-операции и доставка предложений
26
+ 'memory.face.versioned',
27
+ 'memory.face.breakglass',
28
+ 'memory.face.denied',
29
+ 'memory.proposal.delivered',
15
30
  ]),
16
31
  timestamp: z.string().datetime(),
17
32
  actor: z.string().min(1),
18
33
  payload: z.record(z.string(), z.unknown()).default({}),
34
+ })
35
+ .superRefine((ev, ctx) => {
36
+ const required = EVENT_PAYLOAD_KEYS[ev.type];
37
+ if (!required)
38
+ return;
39
+ for (const key of required) {
40
+ if (ev.payload[key] === undefined) {
41
+ ctx.addIssue({
42
+ code: z.ZodIssueCode.custom,
43
+ path: ['payload', key],
44
+ message: `event "${ev.type}" requires payload key "${key}"`,
45
+ });
46
+ }
47
+ }
19
48
  });
20
49
  //# sourceMappingURL=memory-event-schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"memory-event-schema.js","sourceRoot":"","sources":["../../../src/domain/schemas/memory-event-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;QACX,cAAc;QACd,eAAe;QACf,gBAAgB;QAChB,qBAAqB;QACrB,mBAAmB;QACnB,iBAAiB;QACjB,qBAAqB;QACrB,oBAAoB;QACpB,mBAAmB;QACnB,uBAAuB;KACxB,CAAC;IACF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACvD,CAAC,CAAC"}
1
+ {"version":3,"file":"memory-event-schema.js","sourceRoot":"","sources":["../../../src/domain/schemas/memory-event-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,yEAAyE;AACzE,+EAA+E;AAC/E,4EAA4E;AAC5E,MAAM,kBAAkB,GAAgD;IACtE,uBAAuB,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC;IAC9E,wBAAwB,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,CAAC;IAC/E,oBAAoB,EAAE,CAAC,aAAa,EAAE,OAAO,EAAE,SAAS,CAAC;IACzD,2BAA2B,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;CACjD,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,CAAC;IACN,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;QACX,cAAc;QACd,eAAe;QACf,gBAAgB;QAChB,qBAAqB;QACrB,mBAAmB;QACnB,iBAAiB;QACjB,qBAAqB;QACrB,oBAAoB;QACpB,mBAAmB;QACnB,uBAAuB;QACvB,mDAAmD;QACnD,uBAAuB;QACvB,wBAAwB;QACxB,oBAAoB;QACpB,2BAA2B;KAC5B,CAAC;IACF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACxB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CACvD,CAAC;KACD,WAAW,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE;IACvB,MAAM,QAAQ,GAAG,kBAAkB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;YAClC,GAAG,CAAC,QAAQ,CAAC;gBACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;gBAC3B,IAAI,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC;gBACtB,OAAO,EAAE,UAAU,EAAE,CAAC,IAAI,2BAA2B,GAAG,GAAG;aAC5D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC"}
@@ -1,16 +1,16 @@
1
1
  import { z } from 'zod';
2
- export declare const RELATION_PREDICATES: readonly ["answers", "answered_by", "supports", "supported_by", "based_on", "basis_for", "updates", "updated_by", "supersedes", "superseded_by", "blocks", "blocked_by", "resolves", "resolved_by", "related_to", "produced_by", "owner_skill", "skill_of", "complain", "complained_by", "outcome", "outcome_of", "aggregates", "aggregated_in"];
2
+ export declare const RELATION_PREDICATES: readonly ["answers", "answered_by", "supports", "supported_by", "based_on", "basis_for", "updates", "updated_by", "supersedes", "superseded_by", "blocks", "blocked_by", "resolves", "resolved_by", "related_to", "produced_by", "owner_skill", "skill_of", "complain", "complained_by", "outcome", "outcome_of", "aggregates", "aggregated_in", "mutates", "mutated_by", "proposes", "proposed_by"];
3
3
  export declare const RelationSchema: z.ZodObject<{
4
4
  id: z.ZodString;
5
5
  subject: z.ZodString;
6
6
  predicate: z.ZodEnum<{
7
7
  owner_skill: "owner_skill";
8
+ based_on: "based_on";
8
9
  superseded_by: "superseded_by";
9
10
  answers: "answers";
10
11
  answered_by: "answered_by";
11
12
  supports: "supports";
12
13
  supported_by: "supported_by";
13
- based_on: "based_on";
14
14
  basis_for: "basis_for";
15
15
  updates: "updates";
16
16
  updated_by: "updated_by";
@@ -28,6 +28,10 @@ export declare const RelationSchema: z.ZodObject<{
28
28
  outcome_of: "outcome_of";
29
29
  aggregates: "aggregates";
30
30
  aggregated_in: "aggregated_in";
31
+ mutates: "mutates";
32
+ mutated_by: "mutated_by";
33
+ proposes: "proposes";
34
+ proposed_by: "proposed_by";
31
35
  }>;
32
36
  object: z.ZodString;
33
37
  created_at: z.ZodString;
@@ -1 +1 @@
1
- {"version":3,"file":"relation-schema.d.ts","sourceRoot":"","sources":["../../../src/domain/schemas/relation-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB,kVA6BtB,CAAC;AAEX,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAYzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"relation-schema.d.ts","sourceRoot":"","sources":["../../../src/domain/schemas/relation-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,mBAAmB,sYAqCtB,CAAC;AAEX,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAYzB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AACtD,MAAM,MAAM,iBAAiB,GAAG,CAAC,OAAO,mBAAmB,CAAC,CAAC,MAAM,CAAC,CAAC"}
@@ -28,6 +28,14 @@ export const RELATION_PREDICATES = [
28
28
  // инверсия — aggregated_in от исходника к агрегату)
29
29
  'aggregates',
30
30
  'aggregated_in',
31
+ // 2.17 REQ-06 (design §«Запись мутации Стюарда»): G17-запись -mutates->
32
+ // версия лица (пара, прецедент complain/complained_by)
33
+ 'mutates',
34
+ 'mutated_by',
35
+ // 2.17 T-09 (design §«Механика версий», строка 88): --from-proposal:
36
+ // proposal -proposes-> face-версия (пара, прецедент mutates/mutated_by)
37
+ 'proposes',
38
+ 'proposed_by',
31
39
  ];
32
40
  export const RelationSchema = z.object({
33
41
  id: z.string().min(1),
@@ -1 +1 @@
1
- {"version":3,"file":"relation-schema.js","sourceRoot":"","sources":["../../../src/domain/schemas/relation-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,SAAS;IACT,aAAa;IACb,UAAU;IACV,cAAc;IACd,UAAU;IACV,WAAW;IACX,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,QAAQ;IACR,YAAY;IACZ,UAAU;IACV,aAAa;IACb,YAAY;IACZ,aAAa;IACb,aAAa;IACb,UAAU;IACV,UAAU;IACV,eAAe;IACf,oEAAoE;IACpE,8EAA8E;IAC9E,SAAS;IACT,YAAY;IACZ,yEAAyE;IACzE,oDAAoD;IACpD,YAAY;IACZ,eAAe;CACP,CAAC;AAEX,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;IACtC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7C,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,wEAAwE;IACxE,4DAA4D;IAC5D,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC"}
1
+ {"version":3,"file":"relation-schema.js","sourceRoot":"","sources":["../../../src/domain/schemas/relation-schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,SAAS;IACT,aAAa;IACb,UAAU;IACV,cAAc;IACd,UAAU;IACV,WAAW;IACX,SAAS;IACT,YAAY;IACZ,YAAY;IACZ,eAAe;IACf,QAAQ;IACR,YAAY;IACZ,UAAU;IACV,aAAa;IACb,YAAY;IACZ,aAAa;IACb,aAAa;IACb,UAAU;IACV,UAAU;IACV,eAAe;IACf,oEAAoE;IACpE,8EAA8E;IAC9E,SAAS;IACT,YAAY;IACZ,yEAAyE;IACzE,oDAAoD;IACpD,YAAY;IACZ,eAAe;IACf,wEAAwE;IACxE,uDAAuD;IACvD,SAAS;IACT,YAAY;IACZ,qEAAqE;IACrE,wEAAwE;IACxE,UAAU;IACV,aAAa;CACL,CAAC;AAEX,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC;IACtC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACzB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7C,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,wEAAwE;IACxE,4DAA4D;IAC5D,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CAC7C,CAAC,CAAC"}
@@ -50,7 +50,7 @@ export declare const SessionCheckpointSchema: z.ZodObject<{
50
50
  long_term: "long_term";
51
51
  short_term: "short_term";
52
52
  }>>;
53
- type: z.ZodLiteral<"rule" | "lesson" | "decision" | "thread" | "complaint" | "tool" | "note">;
53
+ type: z.ZodLiteral<"rule" | "lesson" | "decision" | "thread" | "complaint" | "tool" | "note" | "face">;
54
54
  status: z.ZodEnum<{
55
55
  active: "active";
56
56
  open: "open";
@@ -1,5 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  import { type FieldSpec, type MemoryTypeDeclaration } from './memory-types.js';
3
+ export declare const PROPOSAL_FACET = "proposal";
4
+ export declare const PROPOSAL_CONTRACT_FIELDS: readonly string[];
3
5
  /** FieldSpec -> zod. Используется для декларативных полей и будет использован
4
6
  * для project-типов из config.yaml (Phase 8, Task 3). */
5
7
  export declare function fieldToZod(spec: FieldSpec): z.ZodTypeAny;
@@ -87,7 +89,7 @@ export declare function buildTypeSchema<F extends z.ZodRawShape = Record<string,
87
89
  short_term: "short_term";
88
90
  }>>;
89
91
  } & ({
90
- type: z.ZodLiteral<"rule" | "lesson" | "decision" | "thread" | "complaint" | "tool" | "note">;
92
+ type: z.ZodLiteral<"rule" | "lesson" | "decision" | "thread" | "complaint" | "tool" | "note" | "face">;
91
93
  status: z.ZodEnum<{
92
94
  active: "active";
93
95
  open: "open";
@@ -181,7 +183,7 @@ export declare function buildTypeSchema<F extends z.ZodRawShape = Record<string,
181
183
  short_term: "short_term";
182
184
  }>>;
183
185
  } extends infer T_2 extends z.core.util.SomeObject ? { [K in keyof T_2 as K extends "type" | "status" | keyof F ? never : K]: T_2[K]; } : never) & (({
184
- type: z.ZodLiteral<"rule" | "lesson" | "decision" | "thread" | "complaint" | "tool" | "note">;
186
+ type: z.ZodLiteral<"rule" | "lesson" | "decision" | "thread" | "complaint" | "tool" | "note" | "face">;
185
187
  status: z.ZodEnum<{
186
188
  active: "active";
187
189
  open: "open";
@@ -1 +1 @@
1
- {"version":3,"file":"type-schema-builder.d.ts","sourceRoot":"","sources":["../../src/domain/type-schema-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAiB,KAAK,SAAS,EAAqB,KAAK,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAEjH;yDACyD;AACzD,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,CAAC,CAAC,UAAU,CAmCxD;AAED;;;;;;;;;;GAUG;AAGH,wBAAgB,eAAe,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC7E,IAAI,EAAE,qBAAqB,EAC3B,MAAM,GAAE,CAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8OAuBpB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,qBAAqB,CAE5G;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,GAAE,SAAS,qBAAqB,EAAkB,GACtD,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAwB9B"}
1
+ {"version":3,"file":"type-schema-builder.d.ts","sourceRoot":"","sources":["../../src/domain/type-schema-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAIL,KAAK,SAAS,EAEd,KAAK,qBAAqB,EAC3B,MAAM,mBAAmB,CAAC;AAM3B,eAAO,MAAM,cAAc,aAAa,CAAC;AACzC,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAMrD,CAAC;AAEF;yDACyD;AACzD,wBAAgB,UAAU,CAAC,IAAI,EAAE,SAAS,GAAG,CAAC,CAAC,UAAU,CAmCxD;AAED;;;;;;;;;;GAUG;AAGH,wBAAgB,eAAe,CAAC,CAAC,SAAS,CAAC,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,EAC7E,IAAI,EAAE,qBAAqB,EAC3B,MAAM,GAAE,CAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8OA0CpB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,qBAAqB,CAE5G;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,GAAE,SAAS,qBAAqB,EAAkB,GACtD,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,UAAU,CAAC,CAwB9B"}
@@ -1,6 +1,18 @@
1
1
  import { z } from 'zod';
2
2
  import { MemoryObjectSchema } from './schemas/memory-object-schema.js';
3
- import { CORE_TAXONOMY } from './memory-types.js';
3
+ import { CORE_TAXONOMY, MEMORY_TYPES, SIGNAL_FACETS, } from './memory-types.js';
4
+ // Волна 2.17 REQ-08 (design §Контракты «Proposal»): facet='proposal' на любом
5
+ // core-типе обязывает поля контракта предложения. Автор пиннится из created_by
6
+ // (saveProposal, T-09), delivered_at заполняет только propose deliver (T-09) —
7
+ // оба поля вне схемы сохранения.
8
+ export const PROPOSAL_FACET = 'proposal';
9
+ export const PROPOSAL_CONTRACT_FIELDS = [
10
+ 'addressee',
11
+ 'basis',
12
+ 'proposed_change',
13
+ 'expected_benefit',
14
+ 'applicability_bounds',
15
+ ];
4
16
  /** FieldSpec -> zod. Используется для декларативных полей и будет использован
5
17
  * для project-типов из config.yaml (Phase 8, Task 3). */
6
18
  export function fieldToZod(spec) {
@@ -52,6 +64,11 @@ export function buildTypeSchema(decl, fields = {}) {
52
64
  for (const [name, fs] of Object.entries(decl.fields ?? {})) {
53
65
  declFields[name] = fieldToZod(fs);
54
66
  }
67
+ // Волна 2.17 ADR-3: не-note core-типы получают опциональный сигнал-фасет
68
+ // SIGNAL_FACETS — отдельно от character-словаря note; project-типы не затронуты.
69
+ if (MEMORY_TYPES.includes(decl.name) && !('facet' in declFields)) {
70
+ declFields.facet = fieldToZod({ kind: 'enum', values: SIGNAL_FACETS, optional: true });
71
+ }
55
72
  const typed = MemoryObjectSchema.extend({
56
73
  type: z.literal(decl.name),
57
74
  status: z.enum(decl.lifecycle),
@@ -68,6 +85,20 @@ export function buildTypeSchema(decl, fields = {}) {
68
85
  message: `${decl.name} requires source.path`,
69
86
  });
70
87
  }
88
+ // Волна 2.17 REQ-08 AC2: контракт предложения обязателен при facet='proposal'
89
+ // на любом типе (валидация наличия и непустоты; пустой контракт ≠ предложение)
90
+ if (obj.facet === PROPOSAL_FACET) {
91
+ for (const field of PROPOSAL_CONTRACT_FIELDS) {
92
+ const v = obj[field];
93
+ if (typeof v !== 'string' || v.length < 1) {
94
+ ctx.addIssue({
95
+ code: z.ZodIssueCode.custom,
96
+ path: [field],
97
+ message: `facet "${PROPOSAL_FACET}" requires non-empty field "${field}"`,
98
+ });
99
+ }
100
+ }
101
+ }
71
102
  });
72
103
  }
73
104
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"type-schema-builder.js","sourceRoot":"","sources":["../../src/domain/type-schema-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-schema-builder.js","sourceRoot":"","sources":["../../src/domain/type-schema-builder.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.16.3",
3
+ "version": "2.17.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",
@@ -1 +1 @@
1
- 2026-10-12T22:33:24.657Z agent-id=v2-router-probe-xyz playbook=hit name=fallback variant=fallback injected=yes ms=0 bytes=1274
1
+ 2026-10-13T12:13:01.206Z agent-id=v2-router-probe-xyz playbook=hit name=fallback variant=fallback injected=yes ms=0 bytes=1274
@@ -7,8 +7,11 @@
7
7
  * попадает — известная грабля) → wolf search `<agentId> playbook` (после
8
8
  * таксономии 2.13 канон — note+facet howto, type-фильтр не применим) → get +
9
9
  * гвард owner_skill === agentId | `skill:${agentId}` (legacy) → первый
10
- * прошедший гвард кандидат (ранний стоп, A2-б) → инжект в system-промпт
11
- * на каждое сообщение.
10
+ * прошедший гвард кандидат (ранний стоп, A2-б) → инжект в system-промпт.
11
+ * Вариант Б (CR-2026-10-13-02): инъекция мемоизируется по opencode-сессии
12
+ * (пересборка system в пределах сессии получает запечатанный текст той же
13
+ * версии — без переключения посередине задания), кэш версионируется ключом
14
+ * head-записи — новая сессия всегда получает актуальную версию.
12
15
  *
13
16
  * Fallback (T012, волна 1.1): канон приоритетен; при miss для ЛЮБОГО
14
17
  * agent-id инъецируется встроенный универсальный FALLBACK_PLAYBOOK —
@@ -56,7 +59,10 @@ const FALLBACK_PLAYBOOK = `# Универсальный playbook (fallback)
56
59
  // [ \t] вместо \s: \s съедает переводы строк и вытаскивает id с чужой строки.
57
60
  const AGENT_ID_RE = /^agent-id:[ \t]*([\w-]+)[ \t]*$/m;
58
61
  // Спека A2: playbook — canonical-память, Стюард мутирует редко → TTL 5 минут.
59
- // Негативный кэш (null) живёт тем же TTL — повторный miss не спавнит CLI.
62
+ // Вариант Б: барьер свежести — search живой раз на новую сессию (мемоизация
63
+ // в deliverPlaybook); TTL-кэш экономит только get-спавн при совпадении head,
64
+ // не search. Негативная запись (null) в гвард hit?.value не попадает —
65
+ // повторный miss новой сессии снова спавнит search.
60
66
  const CACHE_TTL_MS = 300_000;
61
67
 
62
68
  // agent-id последней рамки, пропущенной через system.transform (для skill-метрики B3)
@@ -84,12 +90,20 @@ function logRoute(line: string): void {
84
90
  }
85
91
 
86
92
  // ponytail: per-agent кэш на TTL 5 мин — canonical-память мутируется редко,
87
- // CLI-спавн не на каждое сообщение.
93
+ // CLI-спавн не на каждое сообщение. Вариант Б (CR-2026-10-13-02): запись
94
+ // версионируется ключом head — кэш экономит только get-спавн и отдаётся лишь
95
+ // при совпадении id с актуальной записью живого search; устаревшая версия
96
+ // лица не отдаётся никогда (новая сессия в пределах TTL получает head).
88
97
  const cache = new Map<string, { value: { id: string; body: string } | null; at: number }>();
89
98
 
99
+ // Вариант Б (а): мемоизация инъекции по opencode-сессии. Ключ сессии —
100
+ // WOLF_SESSION (ставится на процесс opencode; несколько чатов одного
101
+ // процесса — задокументированный потолок, см. ensureSession). Сессия
102
+ // пригвождена к версии первого задания: пересборка system не запускает
103
+ // ре-резолв — переключение версии посередине задания исключено (REQ-05).
104
+ const sessionInject = new Map<string, { text: string; name: string; variant: string; bytes: number }>();
105
+
90
106
  async function resolvePlaybook(agentId: string): Promise<{ id: string; body: string } | null> {
91
- const hit = cache.get(agentId);
92
- if (hit && Date.now() - hit.at < CACHE_TTL_MS) return hit.value;
93
107
  let found: { id: string; body: string } | null = null;
94
108
  try {
95
109
  // 2.13: плейбуки живут как note+facet howto (type 'playbook' — legacy),
@@ -98,6 +112,14 @@ async function resolvePlaybook(agentId: string): Promise<{ id: string; body: str
98
112
  // фильтруем — каноничность решает гвард owner_skill ниже.
99
113
  const { stdout } = await runWolf(['search', agentId, 'playbook', '--hide-superseded']);
100
114
  const ids = [...stdout.matchAll(/^([\w-]+) \[\w+\]/gm)].map((m) => m[1]);
115
+ // Вариант Б (б): search живой на каждой новой сессии (мемоизация в
116
+ // deliverPlaybook гарантирует «раз на сессию», не «на сообщение») — это
117
+ // барьер свежести; кэш отдаётся только при совпадении head-id с первой
118
+ // строкой выборки, устаревшая версия лица не отдаётся.
119
+ const hit = cache.get(agentId);
120
+ if (hit?.value && Date.now() - hit.at < CACHE_TTL_MS && hit.value.id === ids[0]) {
121
+ return hit.value;
122
+ }
101
123
  // Ранний стоп (спека A2-б): релевантность поиска уже отсортировала,
102
124
  // --hide-superseded отсекает старые версии — первый кандидат, прошедший
103
125
  // гвард владельца, и есть результат (один get при miss вместо K подряд).
@@ -139,8 +161,9 @@ function recordSkillMetric(tool: unknown, args: unknown): void {
139
161
  }
140
162
 
141
163
  // Общая доставка playbook (v1 system.transform / v2 context): joined system-текст
142
- // → маркер agent-id → гвард идемпотентности INJECT_HEADER → resolvePlaybook →
143
- // push(текст). Fail-safe: не роняем сессию ни на одном шаге.
164
+ // → маркер agent-id → гвард идемпотентности INJECT_HEADER → мемоизация сессии
165
+ // (вариант Б: запечатанный текст без ре-резолва) → resolvePlaybook → push(текст).
166
+ // Fail-safe: не роняем сессию ни на одном шаге.
144
167
  async function deliverPlaybook(joined: string, push: (text: string) => void): Promise<void> {
145
168
  try {
146
169
  const m = joined.match(AGENT_ID_RE);
@@ -148,18 +171,45 @@ async function deliverPlaybook(joined: string, push: (text: string) => void): Pr
148
171
  if (joined.includes(INJECT_HEADER)) return; // идемпотентность: не вставляем дважды
149
172
  const agentId = m[1];
150
173
  lastAgentId = agentId; // агент известен хуку skill-метрики (B3)
174
+ // Вариант Б (а): сессия уже получила инъекцию → отдаём запечатанный текст
175
+ // (то же содержание, тот же вариант), без CLI-спавнов и ре-резолва —
176
+ // независимо от того, персистит ли рантайм system-текст между сообщениями.
177
+ const memoKey = `${process.env.WOLF_SESSION ?? ''}:${agentId}`;
178
+ const memoized = sessionInject.get(memoKey);
179
+ if (memoized) {
180
+ push(memoized.text);
181
+ logRoute(
182
+ `agent-id=${agentId} playbook=hit name=${memoized.name} variant=${memoized.variant} injected=yes` +
183
+ ` ms=0 bytes=${memoized.bytes}`
184
+ );
185
+ return;
186
+ }
151
187
  const startedAt = Date.now();
152
188
  const resolved = await resolvePlaybook(agentId);
153
189
  const ms = Date.now() - startedAt;
154
190
  if (resolved) {
155
- push(`\n\n${INJECT_HEADER}\n\n${resolved.body}`);
191
+ const text = `\n\n${INJECT_HEADER}\n\n${resolved.body}`;
192
+ sessionInject.set(memoKey, {
193
+ text,
194
+ name: resolved.id,
195
+ variant: 'canonical',
196
+ bytes: Buffer.byteLength(resolved.body),
197
+ });
198
+ push(text);
156
199
  logRoute(
157
200
  `agent-id=${agentId} playbook=hit name=${resolved.id} variant=canonical injected=yes` +
158
201
  ` ms=${ms} bytes=${Buffer.byteLength(resolved.body)}`
159
202
  );
160
203
  } else {
161
204
  // T012: miss канона → универсальный fallback; инъекция для любого agent-id
162
- push(`\n\n${INJECT_HEADER}\n\n${FALLBACK_PLAYBOOK}`);
205
+ const text = `\n\n${INJECT_HEADER}\n\n${FALLBACK_PLAYBOOK}`;
206
+ sessionInject.set(memoKey, {
207
+ text,
208
+ name: 'fallback',
209
+ variant: 'fallback',
210
+ bytes: Buffer.byteLength(FALLBACK_PLAYBOOK),
211
+ });
212
+ push(text);
163
213
  logRoute(
164
214
  `agent-id=${agentId} playbook=hit name=fallback variant=fallback injected=yes` +
165
215
  ` ms=${ms} bytes=${Buffer.byteLength(FALLBACK_PLAYBOOK)}`