mister-wolf 2.18.3 → 2.18.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"claim.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/claim.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC;;mEAEmE;AAEnE,wBAAgB,YAAY,CAAC,OAAO,GAAE,MAAkB,GAAG,OAAO,CAqEjE"}
1
+ {"version":3,"file":"claim.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/claim.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC;;mEAEmE;AAEnE,wBAAgB,YAAY,CAAC,OAAO,GAAE,MAAkB,GAAG,OAAO,CAuFjE"}
@@ -35,10 +35,22 @@ export function claimCommand(baseDir = safeCwd()) {
35
35
  });
36
36
  cmd
37
37
  .command('heartbeat')
38
- .description('Refresh the claim heartbeat (keeps a long-running claim fresh within the 10-minute window)')
38
+ .description('Refresh the claim heartbeat (keeps a long-running claim fresh within the 10-minute window). ' +
39
+ 'Background jobs must pass --claim-token from the acquired claim (2.18.5).')
39
40
  .argument('<artifact>', 'Artifact id whose claim heartbeat to refresh')
40
- .action((artifact) => {
41
- const hb = heartbeatArtifactClaim({ baseDir }, artifact);
41
+ .option('--session <id>', 'Assert the claim session (2.18.4): refuse on mismatch')
42
+ .option('--pid <n>', 'Record writer pid in the heartbeat (debug, not auth)', parseInt)
43
+ .option('--claim-token <t>', 'Assert the claim token (2.18.4): refuse after re-acquire')
44
+ .action((artifact, options) => {
45
+ // 2.18.4: флаги включают строгую идентификацию; без них — legacy (только writer)
46
+ const hasFlags = options.session !== undefined || options.pid !== undefined || options.claimToken !== undefined;
47
+ const hb = heartbeatArtifactClaim({ baseDir }, artifact, hasFlags
48
+ ? {
49
+ ...(options.session !== undefined ? { sessionId: options.session } : {}),
50
+ ...(options.pid !== undefined ? { pid: options.pid } : {}),
51
+ ...(options.claimToken !== undefined ? { claimToken: options.claimToken } : {}),
52
+ }
53
+ : undefined);
42
54
  console.log(`Heartbeat written: ${artifact} at ${hb.written_at} (writer ${hb.writer})`);
43
55
  console.log(`heartbeat file: ${heartbeatFilePath(resolveMemoryRoot(baseDir).root, artifact, hb.claim_token)}`);
44
56
  });
@@ -1 +1 @@
1
- {"version":3,"file":"claim.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/claim.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claim.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/claim.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"face.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/face.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AA8E5C,wBAAgB,WAAW,CAAC,OAAO,GAAE,MAAkB,GAAG,OAAO,CA0NhE"}
1
+ {"version":3,"file":"face.d.ts","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/face.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAU,MAAM,WAAW,CAAC;AA+E5C,wBAAgB,WAAW,CAAC,OAAO,GAAE,MAAkB,GAAG,OAAO,CA0OhE"}
@@ -5,6 +5,7 @@ import { safeCwd } from '../cli-entry.js';
5
5
  import { createFaceVersion } from '../../../app/use-cases/create-face-version.js';
6
6
  import { abortFaceOperation, resumeFaceOperation } from '../../../app/use-cases/face-operation.js';
7
7
  import { migrateFaces } from '../../../app/use-cases/migrate-faces.js';
8
+ import { resolveFace } from '../../../app/use-cases/resolve-face.js';
8
9
  import { createCliContainer } from '../../../bootstrap/container.js';
9
10
  import { UserFacingError } from '../../../domain/errors.js';
10
11
  /** Волна 2.17 T-04 (design §«CLI: проектируемые команды», REQ-03/04/05/07/10):
@@ -222,6 +223,20 @@ export function faceCommand(baseDir = safeCwd()) {
222
223
  console.log('---');
223
224
  console.log(active.body ?? '');
224
225
  });
226
+ // 2.18.4: канонический резолвер лица — машинный канал доставки (wolf-router
227
+ // плагин). Строгий отказ (exit 1) при нуле/конфликте активных лиц — плагин
228
+ // переходит на legacy-путь, диагностику конфликта ловит wolf doctor.
229
+ createdByTrap(cmd
230
+ .command('resolve')
231
+ .description('Resolve the canonical active face for an agent (JSON: {ok, face|error}; exit 1 on miss/conflict)')
232
+ .argument('<owner_skill>', 'Agent id or skill (owner_skill)')).action(async (ownerSkill, options) => {
233
+ denyCreatedBy(options);
234
+ const { store } = createCliContainer(baseDir);
235
+ const result = await resolveFace(store, ownerSkill);
236
+ if (!result.ok)
237
+ process.exitCode = 1;
238
+ console.log(JSON.stringify(result));
239
+ });
225
240
  return cmd;
226
241
  }
227
242
  //# sourceMappingURL=face.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"face.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/face.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"face.js","sourceRoot":"","sources":["../../../../src/adapters/cli/commands/face.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,20 @@ export interface HeartbeatRecord {
37
37
  claim_acquired_at?: string;
38
38
  /** Уникальный токен владения claim'ом (2.18.3). */
39
39
  claim_token?: string;
40
+ /** 2.18.4: полный идентификатор сессии писателя (null — переданное владение). */
41
+ session_id?: string | null;
42
+ /** 2.18.4: pid писателя (для отладки, не auth). */
43
+ pid?: number;
44
+ }
45
+ /** 2.18.4: полная идентичность писателя heartbeat. Проверяются только переданные
46
+ * поля: owner — всегда; sessionId (null трактуется строго: claim тоже без сессии —
47
+ * переданное владение) и claimToken — только если определены. Непереданные поля —
48
+ * legacy-поведение (только writer). */
49
+ export interface HeartbeatIdentity {
50
+ owner: string;
51
+ sessionId?: string | null;
52
+ pid?: number;
53
+ claimToken?: string;
40
54
  }
41
55
  export type HeartbeatReadResult = HeartbeatRecord | {
42
56
  corrupt: true;
@@ -82,12 +96,15 @@ export declare function readClaimHeartbeat(root: string, artifact: string, rec?:
82
96
  /** Чтение heartbeat (F-01; 2.18.3): null при отсутствии файла (ENOENT); { corrupt: true }
83
97
  * при повреждённом файле/JSON; HeartbeatRecord при валидном JSON. */
84
98
  export declare function readHeartbeat(path: string): HeartbeatReadResult;
85
- /** Запись heartbeat (REQ-03, ADR-7; 2.18.2 F-01; 2.18.3 per-token isolation): атомарная замена —
86
- * уникальный tmp (wx) + rename поверх per-token heartbeat-файла. Проверяет, что claim существует,
87
- * активен и принадлежит writer. Привязывает heartbeat к rec.acquired_at и rec.claim_token. */
99
+ /** Запись heartbeat (REQ-03, ADR-7; 2.18.2 F-01; 2.18.3 per-token isolation; 2.18.4
100
+ * полная идентификация): атомарная замена — уникальный tmp (wx) + rename поверх
101
+ * per-token heartbeat-файла. Проверяет, что claim существует, активен и принадлежит
102
+ * писателю (owner обязателен; sessionId/claimToken — при передаче в identity).
103
+ * Привязывает heartbeat к rec.acquired_at и rec.claim_token. */
88
104
  export declare function writeHeartbeat(deps: ClaimRegistryDeps, input: {
89
105
  artifact: string;
90
106
  writer: string;
107
+ identity?: HeartbeatIdentity;
91
108
  }): HeartbeatRecord;
92
109
  /** Прод-liveness: signal 0; ESRCH — мёртв, EPERM — жив (чужой user). pid<=0 —
93
110
  * неизвестен (переданный claim) — считаем живым, пока не истечёт TTL. */
@@ -1 +1 @@
1
- {"version":3,"file":"claim-registry.d.ts","sourceRoot":"","sources":["../../../src/adapters/fs/claim-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claim-registry.d.ts","sourceRoot":"","sources":["../../../src/adapters/fs/claim-registry.ts"],"names":[],"mappings":"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"}
@@ -110,15 +110,23 @@ export function readHeartbeat(path) {
110
110
  writer: d.writer,
111
111
  ...(typeof d.claim_acquired_at === 'string' ? { claim_acquired_at: d.claim_acquired_at } : {}),
112
112
  ...(typeof d.claim_token === 'string' ? { claim_token: d.claim_token } : {}),
113
+ ...(typeof d.session_id === 'string'
114
+ ? { session_id: d.session_id }
115
+ : d.session_id === null
116
+ ? { session_id: null }
117
+ : {}),
118
+ ...(typeof d.pid === 'number' ? { pid: d.pid } : {}),
113
119
  };
114
120
  }
115
121
  catch {
116
122
  return { corrupt: true };
117
123
  }
118
124
  }
119
- /** Запись heartbeat (REQ-03, ADR-7; 2.18.2 F-01; 2.18.3 per-token isolation): атомарная замена —
120
- * уникальный tmp (wx) + rename поверх per-token heartbeat-файла. Проверяет, что claim существует,
121
- * активен и принадлежит writer. Привязывает heartbeat к rec.acquired_at и rec.claim_token. */
125
+ /** Запись heartbeat (REQ-03, ADR-7; 2.18.2 F-01; 2.18.3 per-token isolation; 2.18.4
126
+ * полная идентификация): атомарная замена — уникальный tmp (wx) + rename поверх
127
+ * per-token heartbeat-файла. Проверяет, что claim существует, активен и принадлежит
128
+ * писателю (owner обязателен; sessionId/claimToken — при передаче в identity).
129
+ * Привязывает heartbeat к rec.acquired_at и rec.claim_token. */
122
130
  export function writeHeartbeat(deps, input) {
123
131
  const cPath = claimFilePath(deps.root, input.artifact);
124
132
  const { rec } = readClaimFile(cPath);
@@ -128,7 +136,36 @@ export function writeHeartbeat(deps, input) {
128
136
  if (isStale(rec, readClaimHeartbeat(deps.root, input.artifact, rec), deps)) {
129
137
  throw new UserFacingError(`Claim for "${input.artifact}" is stale — cannot heartbeat (claim file: ${cPath})`);
130
138
  }
131
- if (rec.owner !== input.writer) {
139
+ if (input.identity) {
140
+ const id = input.identity;
141
+ if (rec.owner !== id.owner) {
142
+ throw new UserFacingError(`Claim for "${input.artifact}" is owned by ${rec.owner}, not ${id.owner} (claim file: ${cPath})`);
143
+ }
144
+ // 2.18.4: сессия — строгое совпадение; оба null — переданное владение (легально)
145
+ if (id.sessionId !== undefined && rec.session_id !== id.sessionId) {
146
+ // 2.18.5 (AC2): переданное владение (session_id null, release --transfer-to)
147
+ // принимает первая heartbeat новой сессии того же owner; повторная попытка
148
+ // от другой сессии отклонена — владение уже привязано принявшей сессией.
149
+ if (rec.session_id === null && rec.owner === id.owner) {
150
+ const existing = readClaimHeartbeat(deps.root, input.artifact, rec);
151
+ const takenBy = existing && !('corrupt' in existing) ? (existing.session_id ?? null) : null;
152
+ if (takenBy !== null && takenBy !== id.sessionId) {
153
+ throw new UserFacingError(`Claim for "${input.artifact}" was transferred to ${rec.owner} and heartbeat ` +
154
+ `already accepted by another session (heartbeat session '${takenBy}') (claim file: ${cPath})`);
155
+ }
156
+ }
157
+ else {
158
+ throw new UserFacingError(`Claim for "${input.artifact}" is held by ${rec.owner} (session ${rec.session_id ?? '-'}) — ` +
159
+ `heartbeat session '${id.sessionId ?? '-'}' does not match (claim file: ${cPath})`);
160
+ }
161
+ }
162
+ // 2.18.4: токен — защита от heartbeat'а прежнего владения после перезахвата
163
+ if (id.claimToken !== undefined && id.claimToken !== rec.claim_token) {
164
+ throw new UserFacingError(`Claim for "${input.artifact}" was re-acquired by ${rec.owner} — ` +
165
+ `claim_token does not match the current claim (claim file: ${cPath})`);
166
+ }
167
+ }
168
+ else if (rec.owner !== input.writer) {
132
169
  throw new UserFacingError(`Claim for "${input.artifact}" is owned by ${rec.owner}, not ${input.writer} (claim file: ${cPath})`);
133
170
  }
134
171
  const dir = claimsDir(deps.root);
@@ -140,6 +177,8 @@ export function writeHeartbeat(deps, input) {
140
177
  writer: input.writer,
141
178
  claim_acquired_at: rec.acquired_at,
142
179
  claim_token: token,
180
+ ...(input.identity && input.identity.sessionId !== undefined ? { session_id: input.identity.sessionId } : {}),
181
+ ...(input.identity?.pid !== undefined ? { pid: input.identity.pid } : {}),
143
182
  };
144
183
  const tag = `${process.hrtime.bigint().toString(36)}.${Math.random().toString(36).slice(2, 10)}`;
145
184
  const tmp = join(dir, `${claimSlug(input.artifact)}.${token}.heartbeat.${tag}.tmp`);
@@ -1 +1 @@
1
- {"version":3,"file":"claim-registry.js","sourceRoot":"","sources":["../../../src/adapters/fs/claim-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claim-registry.js","sourceRoot":"","sources":["../../../src/adapters/fs/claim-registry.ts"],"names":[],"mappings":"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"}
@@ -22,8 +22,17 @@ export declare function releaseArtifactClaim(deps: ClaimArtifactDeps, artifact:
22
22
  };
23
23
  export declare function listArtifactClaims(deps: ClaimArtifactDeps): ClaimRecord[];
24
24
  /** Heartbeat держателя (2.18.0 REQ-03): продлевает свежесть claim'а долгой
25
- * операции в окне CLAIM_HEARTBEAT_WINDOW_MS; writer — owner из env (не auth). */
26
- export declare function heartbeatArtifactClaim(deps: ClaimArtifactDeps, artifact: string): HeartbeatRecord;
25
+ * операции в окне CLAIM_HEARTBEAT_WINDOW_MS; writer — owner из env (не auth).
26
+ * 2.18.4: identityOverride (CLI-флаги --session/--pid/--claim-token) включает
27
+ * строгие проверки владения.
28
+ * 2.18.5 (AC2): штатный вызов без override проверяет сессию из WOLF_SESSION
29
+ * автоматически; совместимость только по имени — явный legacy-режим
30
+ * (WOLF_CLAIM_HEARTBEAT_LEGACY=1) для внешних интеграций без сессии. */
31
+ export declare function heartbeatArtifactClaim(deps: ClaimArtifactDeps, artifact: string, identityOverride?: {
32
+ sessionId?: string | null;
33
+ pid?: number;
34
+ claimToken?: string;
35
+ }): HeartbeatRecord;
27
36
  /** Guard для use-cases записи общих артефактов: claim артефакта должен
28
37
  * принадлежать текущей идентичности (owner+session); pid писателя не важен
29
38
  * (захват и запись — разные процессы). */
@@ -1 +1 @@
1
- {"version":3,"file":"claim-artifact.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/claim-artifact.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,WAAW,EAEhB,KAAK,eAAe,EACrB,MAAM,qCAAqC,CAAC;AAE7C;;;;;;GAMG;AAEH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CACpC;AAkBD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAM3F;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,iBAAiB,EACvB,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB;IAAE,MAAM,EAAE,UAAU,GAAG,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAEvD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,WAAW,EAAE,CAEzE;AAED;iFACiF;AACjF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,CAEjG;AAED;;0CAE0C;AAC1C,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,iBAAiB,GAAG,UAAU,CAOlE"}
1
+ {"version":3,"file":"claim-artifact.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/claim-artifact.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,WAAW,EAGhB,KAAK,eAAe,EACrB,MAAM,qCAAqC,CAAC;AAE7C;;;;;;GAMG;AAEH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CACpC;AAkBD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAM3F;AAED,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,iBAAiB,EACvB,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB;IAAE,MAAM,EAAE,UAAU,GAAG,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAEvD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,WAAW,EAAE,CAEzE;AAED;;;;;;wEAMwE;AACxE,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,iBAAiB,EACvB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAClF,eAAe,CAUjB;AAED;;0CAE0C;AAC1C,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,iBAAiB,GAAG,UAAU,CAOlE"}
@@ -29,9 +29,22 @@ export function listArtifactClaims(deps) {
29
29
  return listClaims(registryDeps(deps));
30
30
  }
31
31
  /** Heartbeat держателя (2.18.0 REQ-03): продлевает свежесть claim'а долгой
32
- * операции в окне CLAIM_HEARTBEAT_WINDOW_MS; writer — owner из env (не auth). */
33
- export function heartbeatArtifactClaim(deps, artifact) {
34
- return writeHeartbeat(registryDeps(deps), { artifact, writer: identityOf(deps).owner });
32
+ * операции в окне CLAIM_HEARTBEAT_WINDOW_MS; writer — owner из env (не auth).
33
+ * 2.18.4: identityOverride (CLI-флаги --session/--pid/--claim-token) включает
34
+ * строгие проверки владения.
35
+ * 2.18.5 (AC2): штатный вызов без override проверяет сессию из WOLF_SESSION
36
+ * автоматически; совместимость только по имени — явный legacy-режим
37
+ * (WOLF_CLAIM_HEARTBEAT_LEGACY=1) для внешних интеграций без сессии. */
38
+ export function heartbeatArtifactClaim(deps, artifact, identityOverride) {
39
+ const env = deps.env ?? process.env;
40
+ const who = identityOf(deps);
41
+ const legacy = env.WOLF_CLAIM_HEARTBEAT_LEGACY === '1' || env.WOLF_CLAIM_HEARTBEAT_LEGACY === 'true';
42
+ const identity = identityOverride
43
+ ? { owner: who.owner, ...identityOverride }
44
+ : legacy
45
+ ? undefined
46
+ : { owner: who.owner, sessionId: resolveSessionId(env) };
47
+ return writeHeartbeat(registryDeps(deps), { artifact, writer: who.owner, ...(identity ? { identity } : {}) });
35
48
  }
36
49
  export function makeClaimGuard(deps) {
37
50
  const registry = registryDeps(deps);
@@ -1 +1 @@
1
- {"version":3,"file":"claim-artifact.js","sourceRoot":"","sources":["../../../src/app/use-cases/claim-artifact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EACL,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,GAKf,MAAM,qCAAqC,CAAC;AAoB7C,SAAS,UAAU,CAAC,IAAuB;IACzC,OAAO;QACL,KAAK,EAAE,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;QAC3D,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;QACpD,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAuB;IAC3C,OAAO;QACL,IAAI,EAAE,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI;QAC1C,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,OAAO,EAAE,IAAI,CAAC,OAAO;KACtB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAuB,EAAE,QAAgB;IAC5E,OAAO,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;QACtC,QAAQ;QACR,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC;QAC1B,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;KAC/B,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,IAAuB,EACvB,QAAgB,EAChB,UAAmB;IAEnB,OAAO,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAuB;IACxD,OAAO,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,CAAC;AAED;iFACiF;AACjF,MAAM,UAAU,sBAAsB,CAAC,IAAuB,EAAE,QAAgB;IAC9E,OAAO,cAAc,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;AAC1F,CAAC;AASD,MAAM,UAAU,cAAc,CAAC,IAAuB;IACpD,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAC7B,OAAO;QACL,YAAY,EAAE,CAAC,QAAgB,EAAE,EAAE,CACjC,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC;KACnF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"claim-artifact.js","sourceRoot":"","sources":["../../../src/app/use-cases/claim-artifact.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { MemoryStore } from '../../ports/memory-store.port.js';
2
+ /**
3
+ * 2.18.4: канонический резолвер лица агента. Строгий запрос к объектам памяти:
4
+ * type=face, status=active, owner_skill === agentId (legacy-префикс `skill:` —
5
+ * тот же гвард, что в wolf-router). Ровно одно активное лицо → тело, версия,
6
+ * hash содержимого. Ноль или больше одного — детерминированный отказ (не выбор
7
+ * «первого попавшегося»): конфликт диагностируется отсортированным списком
8
+ * кандидатов (updated_at, затем версия — стабильный порядок для вывода и тестов).
9
+ */
10
+ export interface ResolvedFace {
11
+ id: string;
12
+ body: string;
13
+ version: string;
14
+ /** checksumBlock(body) — контроль целостности доставленного канона. */
15
+ hash: string;
16
+ }
17
+ export type ResolveFaceError = {
18
+ kind: 'none';
19
+ owner: string;
20
+ } | {
21
+ kind: 'multiple';
22
+ owner: string;
23
+ candidates: {
24
+ id: string;
25
+ version: string;
26
+ updated_at: string;
27
+ }[];
28
+ };
29
+ export type ResolveFaceResult = {
30
+ ok: true;
31
+ face: ResolvedFace;
32
+ } | {
33
+ ok: false;
34
+ error: ResolveFaceError;
35
+ };
36
+ export declare function resolveFace(store: MemoryStore, agentId: string): Promise<ResolveFaceResult>;
37
+ //# sourceMappingURL=resolve-face.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-face.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/resolve-face.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAI/D;;;;;;;GAOG;AAEH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAC/B;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACnE,CAAC;AAEN,MAAM,MAAM,iBAAiB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,gBAAgB,CAAA;CAAE,CAAC;AAM1G,wBAAsB,WAAW,CAAC,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAsBjG"}
@@ -0,0 +1,24 @@
1
+ import { checksumBlock } from '../../adapters/fs/session-delivery-registry.js';
2
+ function ownerMatches(face, agentId) {
3
+ return face.owner_skill === agentId || face.owner_skill === `skill:${agentId}`;
4
+ }
5
+ export async function resolveFace(store, agentId) {
6
+ const active = (await store.list({ type: 'face', status: 'active' })).filter((o) => ownerMatches(o, agentId));
7
+ const sorted = [...active].sort((a, b) => String(b.updated_at ?? '').localeCompare(String(a.updated_at ?? '')) || Number(b.version) - Number(a.version));
8
+ if (sorted.length === 0)
9
+ return { ok: false, error: { kind: 'none', owner: agentId } };
10
+ if (sorted.length > 1) {
11
+ return {
12
+ ok: false,
13
+ error: {
14
+ kind: 'multiple',
15
+ owner: agentId,
16
+ candidates: sorted.map((f) => ({ id: f.id, version: String(f.version), updated_at: f.updated_at })),
17
+ },
18
+ };
19
+ }
20
+ const f = sorted[0];
21
+ const body = typeof f.body === 'string' ? f.body : '';
22
+ return { ok: true, face: { id: f.id, body, version: String(f.version), hash: checksumBlock(body) } };
23
+ }
24
+ //# sourceMappingURL=resolve-face.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-face.js","sourceRoot":"","sources":["../../../src/app/use-cases/resolve-face.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AA8B/E,SAAS,YAAY,CAAC,IAAgB,EAAE,OAAe;IACrD,OAAO,IAAI,CAAC,WAAW,KAAK,OAAO,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,OAAO,EAAE,CAAC;AACjF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAkB,EAAE,OAAe;IACnE,MAAM,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACjF,YAAY,CAAC,CAAe,EAAE,OAAO,CAAC,CACvB,CAAC;IAClB,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAC7B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACP,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAChH,CAAC;IACF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;IACvF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE;gBACL,IAAI,EAAE,UAAU;gBAChB,KAAK,EAAE,OAAO;gBACd,UAAU,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC;aACpG;SACF,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;IACrB,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACtD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;AACvG,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mister-wolf",
3
- "version": "2.18.3",
3
+ "version": "2.18.5",
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-15T17:17:31.545Z agent-id=v2-router-probe-xyz playbook=hit name=fallback variant=fallback injected=yes ms=1 bytes=1274
1
+ 2026-10-16T01:25:09.588Z agent-id=v2-router-probe-xyz playbook=hit name=fallback variant=fallback source=default resolution=error face_id=- version=- hash=- session=opc-2ee5fcc7-4ace-4117-8a61-33fa882b0b4d injected=yes ms=0 bytes=1274
@@ -4,20 +4,25 @@
4
4
  * Слой доставки №1 playbook-контекста (канон §7.1): детерминированная
5
5
  * доставка вместо вероятностного wolf search агентом. Маркер
6
6
  * `agent-id: <id>` В ТЕЛЕ рамки агента (frontmatter в system-промпт не
7
- * попадает — известная грабля) → wolf search `<agentId> playbook` (после
8
- * таксономии 2.13 канон — note+facet howto, type-фильтр не применим) → get +
9
- * гвард owner_skill === agentId | `skill:${agentId}` (legacy) → первый
10
- * прошедший гвард кандидат (ранний стоп, A2-б) → инжект в system-промпт.
7
+ * попадает — известная грабля) → 2.18.4: канонический face-resolver
8
+ * (`wolf face resolve`: type=face, status=active, owner_skill === agentId;
9
+ * ровно одно активное лицо, иначе отказ) → 2.18.5 (AC1) поведение разделено:
10
+ * unique → доставка лица; none → legacy-поиск note/howto/playbook с гвардами
11
+ * владельца, типа (лица — только резолвер) и статуса (active); multiple →
12
+ * конфликт зафиксирован, методика НЕ выбирается и НЕ внедряется; resolver
13
+ * error → диагностируемый сбой — оба случая без запасного поиска (ревью
14
+ * 2.18.4: текстовый fallback обходил конфликт через proposed-лицо).
11
15
  * Вариант Б (CR-2026-10-13-02): инъекция мемоизируется по opencode-сессии
12
16
  * (пересборка system в пределах сессии получает запечатанный текст той же
13
17
  * версии — без переключения посередине задания), кэш версионируется ключом
14
18
  * head-записи — новая сессия всегда получает актуальную версию.
15
19
  *
16
- * Fallback (T012, волна 1.1): канон приоритетен; при miss для ЛЮБОГО
17
- * agent-id инъецируется встроенный универсальный FALLBACK_PLAYBOOK —
18
- * доставка не зависит от того, звала ли рамка wolf search (слой №2).
19
- * В router.log: variant=canonical | variant=fallback. Реестр доставок =
20
- * сами playbook-объекты через owner_skill, отдельного конфига нет.
20
+ * Fallback (T012, волна 1.1): методика недоступна (miss/conflict/error) →
21
+ * инъекция встроенного универсального FALLBACK_PLAYBOOK для любого agent-id.
22
+ * В router.log (2.18.5, AC3): source=face|legacy|default,
23
+ * resolution=unique|none|conflict|error, face_id/version/hash, session.
24
+ * Реестр доставок = сами playbook-объекты через owner_skill, отдельного
25
+ * конфига нет.
21
26
  *
22
27
  * Ноль зависимостей (Node stdlib; ai-sdk НЕ используется). Fail-safe: всё в
23
28
  * try/catch — плагин не имеет права уронить сессию (лог: .wolf/router.log —
@@ -29,7 +34,6 @@ import path from 'path';
29
34
  import fs from 'fs';
30
35
  import { execFile } from 'child_process';
31
36
  import { randomUUID } from 'crypto';
32
- import { promisify } from 'util';
33
37
  import { fileURLToPath } from 'url';
34
38
 
35
39
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
@@ -68,17 +72,29 @@ const CACHE_TTL_MS = 300_000;
68
72
  // agent-id последней рамки, пропущенной через system.transform (для skill-метрики B3)
69
73
  let lastAgentId: string | null = null;
70
74
 
71
- const run = promisify(execFile);
72
75
  // execFile: args array, no shell. Целевой проект — глобальный `wolf`;
73
76
  // догфуд в репо Wolf — локальный dist. Ошибка обоих → исключение наверх (fail-safe).
74
77
  // WOLF_SESSION (4.C): ключ ставится фабрикой ОДИН раз на процесс opencode —
75
78
  // спавны и bash-вызовы волка наследуют его из process.env (execFile без
76
79
  // env-поля наследует сам). Известный потолок: несколько чатов одного процесса
77
80
  // opencode шарят ключ — консервативная недо-дедупликация, не ошибка.
78
- const runWolf = (args: string[]): Promise<{ stdout: string }> => {
79
- const opts = { cwd: PROJECT_ROOT, timeout: 5000 };
80
- return run('wolf', args, opts).catch(() => run('node', [LOCAL_CLI, ...args], opts));
81
- };
81
+ // 2.18.5: runWolf резолвит stdout и при ненулевом exit — контракт CLI печатает
82
+ // разборчивый JSON ({ok:false,error:{kind}}) на stdout с exit 1; promisify
83
+ // терял его (reject без stdout), превращая реальный miss в необъяснимый error.
84
+ const runWolf = (args: string[]): Promise<{ stdout: string }> =>
85
+ new Promise((resolve, reject) => {
86
+ const attempt = (file: string, a: string[]): void => {
87
+ execFile(file, a, { cwd: PROJECT_ROOT, timeout: 5000 }, (err, stdout) => {
88
+ const out = typeof stdout === 'string' ? stdout : '';
89
+ // resolve при exit 0 (пустой stdout — валидный miss search) и при
90
+ // exit≠0 с разборчивым выводом (контракт CLI miss/conflict с exit 1)
91
+ if (!err || out) return resolve({ stdout: out });
92
+ if (file === 'wolf') return attempt('node', [LOCAL_CLI, ...args]);
93
+ reject(err ?? new Error('wolf CLI produced no output'));
94
+ });
95
+ };
96
+ attempt('wolf', args);
97
+ });
82
98
 
83
99
  function logRoute(line: string): void {
84
100
  try {
@@ -94,22 +110,96 @@ function logRoute(line: string): void {
94
110
  // версионируется ключом head — кэш экономит только get-спавн и отдаётся лишь
95
111
  // при совпадении id с актуальной записью живого search; устаревшая версия
96
112
  // лица не отдаётся никогда (новая сессия в пределах TTL получает head).
97
- const cache = new Map<string, { value: { id: string; body: string } | null; at: number }>();
113
+ const cache = new Map<string, { value: RouteResult; at: number }>();
98
114
 
99
115
  // Вариант Б (а): мемоизация инъекции по opencode-сессии. Ключ сессии —
100
116
  // WOLF_SESSION (ставится на процесс opencode; несколько чатов одного
101
117
  // процесса — задокументированный потолок, см. ensureSession). Сессия
102
118
  // пригвождена к версии первого задания: пересборка system не запускает
103
119
  // ре-резолв — переключение версии посередине задания исключено (REQ-05).
104
- const sessionInject = new Map<string, { text: string; name: string; variant: string; bytes: number }>();
120
+ interface InjectedPlaybook {
121
+ text: string;
122
+ name: string;
123
+ variant: string;
124
+ bytes: number;
125
+ source: string;
126
+ resolution: string;
127
+ face_id: string;
128
+ version: string;
129
+ hash: string;
130
+ }
131
+ const sessionInject = new Map<string, InjectedPlaybook>();
105
132
 
106
- async function resolvePlaybook(agentId: string): Promise<{ id: string; body: string } | null> {
107
- let found: { id: string; body: string } | null = null;
133
+ /** Исход доставки (2.18.5, AC1/AC3): unique — каноническое лицо; none — лица
134
+ * нет, legacy-поиск разрешён; conflict/error — методика НЕ выбирается и НЕ
135
+ * внедряется (только универсальный fallback + диагностика в router.log). */
136
+ type RouteResolution = 'unique' | 'none' | 'conflict' | 'error';
137
+
138
+ interface RouteResult {
139
+ id: string | null;
140
+ body: string | null;
141
+ source: 'face' | 'legacy' | 'default';
142
+ resolution: RouteResolution;
143
+ version: string | null;
144
+ hash: string | null;
145
+ }
146
+
147
+ const routeFailure = (resolution: 'conflict' | 'error'): RouteResult => ({
148
+ id: null,
149
+ body: null,
150
+ source: 'default',
151
+ resolution,
152
+ version: null,
153
+ hash: null,
154
+ });
155
+
156
+ // 2.18.4: канонический резолвер лица — строгий запрос type=face/status=active/
157
+ // owner_skill (`wolf face resolve`) вместо вероятностного текстового поиска.
158
+ // 2.18.5 (AC1): результат различается — unique доставляется; none → legacy-путь
159
+ // ниже; conflict/error → НЕ fallback к текстовому поиску (ревью 2.18.4:
160
+ // запасной поиск обходил конфликт, выбирая proposed-лицо по owner_skill).
161
+ async function resolveFaceCanonical(agentId: string): Promise<RouteResult | null> {
162
+ let stdout: string;
163
+ try {
164
+ ({ stdout } = await runWolf(['face', 'resolve', agentId]));
165
+ } catch {
166
+ return routeFailure('error'); // обе формы CLI упали без вывода — диагностируемый сбой
167
+ }
168
+ try {
169
+ const parsed = JSON.parse(stdout) as {
170
+ ok?: boolean;
171
+ face?: { id?: unknown; body?: unknown; version?: unknown; hash?: unknown };
172
+ error?: { kind?: unknown };
173
+ };
174
+ if (parsed?.ok && typeof parsed.face?.body === 'string' && parsed.face.body.length > 0) {
175
+ return {
176
+ id: String(parsed.face.id ?? ''),
177
+ body: parsed.face.body,
178
+ source: 'face',
179
+ resolution: 'unique',
180
+ version: typeof parsed.face.version === 'string' ? parsed.face.version : null,
181
+ hash: typeof parsed.face.hash === 'string' ? parsed.face.hash : null,
182
+ };
183
+ }
184
+ if (parsed?.error?.kind === 'multiple') return routeFailure('conflict');
185
+ if (parsed?.error?.kind === 'none') return null; // miss → legacy-путь
186
+ return routeFailure('error'); // ok:false без kind / неразборчивый ответ
187
+ } catch {
188
+ return routeFailure('error');
189
+ }
190
+ }
191
+
192
+ async function resolvePlaybook(agentId: string): Promise<RouteResult> {
193
+ const face = await resolveFaceCanonical(agentId);
194
+ if (face) {
195
+ if (face.resolution === 'unique') cache.set(agentId, { value: face, at: Date.now() });
196
+ return face; // unique | conflict | error — стоп, запасной поиск не гасит исход
197
+ }
198
+ let found: RouteResult | null = null;
108
199
  try {
109
200
  // 2.13: плейбуки живут как note+facet howto (type 'playbook' — legacy),
110
201
  // поэтому без --type; слово «playbook» (title/tags канона) сужает выборку.
111
- // Формат строки search: `<id> [<type>] [<facet>] <title>`; тип в строке не
112
- // фильтруем — каноничность решает гвард owner_skill ниже.
202
+ // Формат строки search: `<id> [<type>] [<facet>] <title>`.
113
203
  const { stdout } = await runWolf(['search', agentId, 'playbook', '--hide-superseded']);
114
204
  const ids = [...stdout.matchAll(/^([\w-]+) \[\w+\]/gm)].map((m) => m[1]);
115
205
  // Вариант Б (б): search живой на каждой новой сессии (мемоизация в
@@ -122,20 +212,46 @@ async function resolvePlaybook(agentId: string): Promise<{ id: string; body: str
122
212
  }
123
213
  // Ранний стоп (спека A2-б): релевантность поиска уже отсортировала,
124
214
  // --hide-superseded отсекает старые версии — первый кандидат, прошедший
125
- // гвард владельца, и есть результат (один get при miss вместо K подряд).
215
+ // гварды, и есть результат (один get при miss вместо K подряд).
216
+ // 2.18.5 (AC1): гварды — owner_skill И тип (note|howto|playbook; лица
217
+ // только через канонический резолвер) И статус (active или не задан;
218
+ // proposed/superseded не доставляются).
126
219
  for (const id of ids) {
127
220
  const { stdout: json } = await runWolf(['get', id]);
128
- const obj = JSON.parse(json);
221
+ const obj = JSON.parse(json) as {
222
+ id?: unknown;
223
+ body?: unknown;
224
+ owner_skill?: unknown;
225
+ extra?: { owner_skill?: unknown };
226
+ type?: unknown;
227
+ status?: unknown;
228
+ version?: unknown;
229
+ hash?: unknown;
230
+ };
129
231
  const owner = obj.owner_skill ?? obj.extra?.owner_skill;
130
232
  if (owner !== agentId && owner !== `skill:${agentId}`) continue; // гвард владельца
131
- if (obj.body) found = { id: String(obj.id ?? id), body: obj.body };
233
+ if (obj.type !== 'note' && obj.type !== 'howto' && obj.type !== 'playbook') continue; // лица — только резолвер
234
+ if (obj.status !== undefined && obj.status !== 'active') continue; // гвард статуса
235
+ if (obj.body) {
236
+ found = {
237
+ id: String(obj.id ?? id),
238
+ body: obj.body,
239
+ source: 'legacy',
240
+ resolution: 'none',
241
+ version: typeof obj.version === 'string' ? obj.version : null,
242
+ hash: typeof obj.hash === 'string' ? obj.hash : null,
243
+ };
244
+ }
132
245
  break;
133
246
  }
134
247
  } catch {
135
- /* fail-safe: без playbook — рамка работает через wolf search */
248
+ // 2.18.5: сбой legacy-поиска — диагностируемый error, не молчаливый miss
249
+ cache.set(agentId, { value: routeFailure('error'), at: Date.now() });
250
+ return routeFailure('error');
136
251
  }
137
- cache.set(agentId, { value: found, at: Date.now() });
138
- return found;
252
+ const result = found ?? { ...routeFailure('none'), source: 'default' as const };
253
+ cache.set(agentId, { value: result, at: Date.now() });
254
+ return result;
139
255
  }
140
256
 
141
257
  // B3: метрика вызовов скиллов. Форма входа v1: input.tool — имя тула,
@@ -149,8 +265,7 @@ function recordSkillMetric(tool: unknown, args: unknown): void {
149
265
  const a = (args ?? {}) as { name?: string; skill?: string } | null;
150
266
  const skill = a?.name ?? a?.skill;
151
267
  if (!skill) return;
152
- const file =
153
- process.env.WOLF_SKILL_LOG ?? path.join(PROJECT_ROOT, '.wolf', 'metrics', 'skill-invocations.jsonl');
268
+ const file = process.env.WOLF_SKILL_LOG ?? path.join(PROJECT_ROOT, '.wolf', 'metrics', 'skill-invocations.jsonl');
154
269
  fs.mkdirSync(path.dirname(file), { recursive: true });
155
270
  const entry: { ts: string; skill: string; agent?: string } = { ts: new Date().toISOString(), skill };
156
271
  if (lastAgentId) entry.agent = lastAgentId;
@@ -163,7 +278,9 @@ function recordSkillMetric(tool: unknown, args: unknown): void {
163
278
  // Общая доставка playbook (v1 system.transform / v2 context): joined system-текст
164
279
  // → маркер agent-id → гвард идемпотентности INJECT_HEADER → мемоизация сессии
165
280
  // (вариант Б: запечатанный текст без ре-резолва) → resolvePlaybook → push(текст).
166
- // Fail-safe: не роняем сессию ни на одном шаге.
281
+ // Fail-safe: не роняем сессию ни на одном шаге. 2.18.5 (AC3): каждая строка
282
+ // журнала несёт source/resolution/face_id/version/hash/session — видно, как
283
+ // именно доставлена методика (canonical-метка legacy-результатом не ставится).
167
284
  async function deliverPlaybook(joined: string, push: (text: string) => void): Promise<void> {
168
285
  try {
169
286
  const m = joined.match(AGENT_ID_RE);
@@ -171,6 +288,7 @@ async function deliverPlaybook(joined: string, push: (text: string) => void): Pr
171
288
  if (joined.includes(INJECT_HEADER)) return; // идемпотентность: не вставляем дважды
172
289
  const agentId = m[1];
173
290
  lastAgentId = agentId; // агент известен хуку skill-метрики (B3)
291
+ const sessionId = process.env.WOLF_SESSION ?? '-';
174
292
  // Вариант Б (а): сессия уже получила инъекцию → отдаём запечатанный текст
175
293
  // (то же содержание, тот же вариант), без CLI-спавнов и ре-резолва —
176
294
  // независимо от того, персистит ли рантайм system-текст между сообщениями.
@@ -179,7 +297,9 @@ async function deliverPlaybook(joined: string, push: (text: string) => void): Pr
179
297
  if (memoized) {
180
298
  push(memoized.text);
181
299
  logRoute(
182
- `agent-id=${agentId} playbook=hit name=${memoized.name} variant=${memoized.variant} injected=yes` +
300
+ `agent-id=${agentId} playbook=hit name=${memoized.name} variant=${memoized.variant}` +
301
+ ` source=${memoized.source} resolution=${memoized.resolution} face_id=${memoized.face_id}` +
302
+ ` version=${memoized.version} hash=${memoized.hash} session=${sessionId} injected=yes` +
183
303
  ` ms=0 bytes=${memoized.bytes}`
184
304
  );
185
305
  return;
@@ -187,32 +307,46 @@ async function deliverPlaybook(joined: string, push: (text: string) => void): Pr
187
307
  const startedAt = Date.now();
188
308
  const resolved = await resolvePlaybook(agentId);
189
309
  const ms = Date.now() - startedAt;
190
- if (resolved) {
310
+ const fields =
311
+ ` source=${resolved.source} resolution=${resolved.resolution} face_id=${resolved.source === 'face' ? (resolved.id ?? '-') : '-'}` +
312
+ ` version=${resolved.version ?? '-'} hash=${resolved.hash ?? '-'}`;
313
+ if (resolved.body) {
191
314
  const text = `\n\n${INJECT_HEADER}\n\n${resolved.body}`;
192
315
  sessionInject.set(memoKey, {
193
316
  text,
194
- name: resolved.id,
195
- variant: 'canonical',
317
+ name: resolved.id ?? '',
318
+ variant: resolved.source === 'face' ? 'canonical' : 'legacy',
196
319
  bytes: Buffer.byteLength(resolved.body),
320
+ source: resolved.source,
321
+ resolution: resolved.resolution,
322
+ face_id: resolved.source === 'face' ? (resolved.id ?? '-') : '-',
323
+ version: resolved.version ?? '-',
324
+ hash: resolved.hash ?? '-',
197
325
  });
198
326
  push(text);
199
327
  logRoute(
200
- `agent-id=${agentId} playbook=hit name=${resolved.id} variant=canonical injected=yes` +
201
- ` ms=${ms} bytes=${Buffer.byteLength(resolved.body)}`
328
+ `agent-id=${agentId} playbook=hit name=${resolved.id} variant=${resolved.source === 'face' ? 'canonical' : 'legacy'}` +
329
+ `${fields} session=${sessionId} injected=yes ms=${ms} bytes=${Buffer.byteLength(resolved.body)}`
202
330
  );
203
331
  } else {
204
- // T012: miss канона → универсальный fallback; инъекция для любого agent-id
332
+ // T012: методика недоступна (miss/conflict/error) → универсальный fallback;
333
+ // инъекция для любого agent-id; конфликт/сбой зафиксированы в resolution.
205
334
  const text = `\n\n${INJECT_HEADER}\n\n${FALLBACK_PLAYBOOK}`;
206
335
  sessionInject.set(memoKey, {
207
336
  text,
208
337
  name: 'fallback',
209
338
  variant: 'fallback',
210
339
  bytes: Buffer.byteLength(FALLBACK_PLAYBOOK),
340
+ source: 'default',
341
+ resolution: resolved.resolution,
342
+ face_id: '-',
343
+ version: '-',
344
+ hash: '-',
211
345
  });
212
346
  push(text);
213
347
  logRoute(
214
- `agent-id=${agentId} playbook=hit name=fallback variant=fallback injected=yes` +
215
- ` ms=${ms} bytes=${Buffer.byteLength(FALLBACK_PLAYBOOK)}`
348
+ `agent-id=${agentId} playbook=hit name=fallback variant=fallback` +
349
+ `${fields} session=${sessionId} injected=yes ms=${ms} bytes=${Buffer.byteLength(FALLBACK_PLAYBOOK)}`
216
350
  );
217
351
  }
218
352
  } catch {
@@ -260,19 +394,15 @@ interface V2Ctx {
260
394
  hook(name: 'context', fn: (event: V2ContextEvent) => Promise<void>): Promise<{ dispose: () => Promise<void> }>;
261
395
  };
262
396
  tool: {
263
- hook(
264
- name: 'execute.before',
265
- fn: (event: V2ToolEvent) => Promise<void>
266
- ): Promise<{ dispose: () => Promise<void> }>;
397
+ hook(name: 'execute.before', fn: (event: V2ToolEvent) => Promise<void>): Promise<{ dispose: () => Promise<void> }>;
267
398
  };
268
399
  }
269
400
 
270
401
  async function setup(ctx: V2Ctx) {
271
402
  ensureSession();
272
403
  await ctx.session.hook('context', async (event) => {
273
- await deliverPlaybook(
274
- (event?.system ?? []).map((s) => s.text).join('\n'),
275
- (text) => event.system.push({ type: 'text', text })
404
+ await deliverPlaybook((event?.system ?? []).map((s) => s.text).join('\n'), (text) =>
405
+ event.system.push({ type: 'text', text })
276
406
  );
277
407
  });
278
408
  await ctx.tool.hook('execute.before', async (event) => {