mister-wolf 2.30.0 → 2.31.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 (55) hide show
  1. package/README.md +1 -1
  2. package/README.ru.md +1 -1
  3. package/dist/adapters/cli/cli-entry.d.ts.map +1 -1
  4. package/dist/adapters/cli/cli-entry.js +10 -0
  5. package/dist/adapters/cli/cli-entry.js.map +1 -1
  6. package/dist/adapters/cli/commands/council.d.ts +9 -0
  7. package/dist/adapters/cli/commands/council.d.ts.map +1 -0
  8. package/dist/adapters/cli/commands/council.js +65 -0
  9. package/dist/adapters/cli/commands/council.js.map +1 -0
  10. package/dist/adapters/cli/commands/memory-complain.d.ts.map +1 -1
  11. package/dist/adapters/cli/commands/memory-complain.js +2 -1
  12. package/dist/adapters/cli/commands/memory-complain.js.map +1 -1
  13. package/dist/adapters/cli/removed-commands.d.ts.map +1 -1
  14. package/dist/adapters/cli/removed-commands.js +0 -1
  15. package/dist/adapters/cli/removed-commands.js.map +1 -1
  16. package/dist/adapters/mcp/mcp-tools.d.ts +3 -2
  17. package/dist/adapters/mcp/mcp-tools.d.ts.map +1 -1
  18. package/dist/adapters/mcp/mcp-tools.js +46 -2
  19. package/dist/adapters/mcp/mcp-tools.js.map +1 -1
  20. package/dist/adapters/platforms/opencode-adapter.js +6 -2
  21. package/dist/adapters/platforms/opencode-adapter.js.map +1 -1
  22. package/dist/app/use-cases/build-analytics.d.ts +8 -0
  23. package/dist/app/use-cases/build-analytics.d.ts.map +1 -1
  24. package/dist/app/use-cases/build-analytics.js +100 -35
  25. package/dist/app/use-cases/build-analytics.js.map +1 -1
  26. package/dist/app/use-cases/council-normalizer.d.ts +34 -0
  27. package/dist/app/use-cases/council-normalizer.d.ts.map +1 -0
  28. package/dist/app/use-cases/council-normalizer.js +71 -0
  29. package/dist/app/use-cases/council-normalizer.js.map +1 -0
  30. package/dist/app/use-cases/init-project.d.ts +1 -1
  31. package/dist/app/use-cases/init-project.d.ts.map +1 -1
  32. package/dist/app/use-cases/init-project.js +1 -0
  33. package/dist/app/use-cases/init-project.js.map +1 -1
  34. package/dist/app/use-cases/record-council.d.ts +104 -0
  35. package/dist/app/use-cases/record-council.d.ts.map +1 -0
  36. package/dist/app/use-cases/record-council.js +377 -0
  37. package/dist/app/use-cases/record-council.js.map +1 -0
  38. package/package.json +1 -1
  39. package/templates/base/agents/executor-lead.md +14 -15
  40. package/templates/base/agents/mr-wolf.md +7 -7
  41. package/templates/base/agents/worker-expert.md +70 -0
  42. package/templates/base/agents/worker-reviewer.md +6 -0
  43. package/templates/base/playbooks/worker-expert-playbook.md +17 -0
  44. package/templates/base/skills/using-skills/references/agent-language.md +16 -5
  45. package/templates/base/skills/using-skills/references/context-and-memory.md +3 -2
  46. package/templates/base/skills/using-skills/references/contracts.md +26 -1
  47. package/templates/base/skills/using-skills/references/routes-execution.md +4 -0
  48. package/templates/base/skills/using-skills/references/routes-intent.md +5 -0
  49. package/templates/base/skills/using-skills/references/routes-quality.md +4 -0
  50. package/templates/base/skills/wolf-brainstorm/SKILL.md +10 -29
  51. package/templates/base/skills/wolf-council/SKILL.md +117 -0
  52. package/templates/base/skills/wolf-debug/SKILL.md +3 -2
  53. package/templates/base/skills/wolf-review/SKILL.md +17 -2
  54. package/templates/base/skills/wolf-sdd/SKILL.md +1 -1
  55. package/update-map.json +31 -15
@@ -1 +1 @@
1
- {"version":3,"file":"init-project.js","sourceRoot":"","sources":["../../../src/app/use-cases/init-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-project.js","sourceRoot":"","sources":["../../../src/app/use-cases/init-project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ import { MemoryStore } from '../../ports/memory-store.port.js';
2
+ import { EventLog } from '../../ports/event-log.port.js';
3
+ import { Clock } from '../../ports/clock.port.js';
4
+ import { IdGenerator } from '../../ports/id-generator.port.js';
5
+ import { SearchIndex } from '../../ports/search-index.port.js';
6
+ import { MemoryLock } from '../../ports/memory-lock.port.js';
7
+ import { RelationLog } from '../../ports/relation-log.port.js';
8
+ export interface RecordCouncilDeps {
9
+ store: MemoryStore;
10
+ log: EventLog;
11
+ clock: Clock;
12
+ idGen: IdGenerator;
13
+ index?: SearchIndex;
14
+ lock?: MemoryLock;
15
+ relations: RelationLog;
16
+ }
17
+ export interface SourceRef {
18
+ ref: string;
19
+ revision: string;
20
+ }
21
+ export interface CouncilQuestionPayload {
22
+ question: string;
23
+ decision_owner: string;
24
+ sources?: SourceRef[];
25
+ lenses?: string[];
26
+ budget?: string;
27
+ constraints?: string[];
28
+ }
29
+ export interface CouncilOpinionPayload {
30
+ expert_id: string;
31
+ round: number;
32
+ claims: string[];
33
+ evidence?: EvidenceRefShape[];
34
+ assumptions?: string[];
35
+ confidence: 'low' | 'medium' | 'high';
36
+ risks?: string[];
37
+ failure_conditions?: string[];
38
+ counterexamples?: string[];
39
+ recommendation?: string;
40
+ }
41
+ /** A9 (memory-types.ts EvidenceRef): memory_id | path + контекст quote/note. */
42
+ export interface EvidenceRefShape {
43
+ memory_id?: string;
44
+ path?: string;
45
+ quote?: string;
46
+ note?: string;
47
+ }
48
+ export interface CouncilSynthesisPayload {
49
+ outcome: 'ready' | 'insufficient_evidence';
50
+ opinion_ids: string[];
51
+ accepted_claims: string[];
52
+ rejected_alternatives?: {
53
+ claim: string;
54
+ reason: string;
55
+ }[];
56
+ unresolved_dissent: string[];
57
+ required_validation: string[];
58
+ confidence: 'low' | 'medium' | 'high';
59
+ actual_participants: string[];
60
+ missing_participants?: string[];
61
+ cost_note?: string;
62
+ isolation_limits?: string[];
63
+ }
64
+ export type CouncilRecordEnvelope = {
65
+ schema_version: 1;
66
+ record_kind: 'question';
67
+ request_key: string;
68
+ task_id: string;
69
+ payload: CouncilQuestionPayload;
70
+ } | {
71
+ schema_version: 1;
72
+ record_kind: 'opinion';
73
+ request_key: string;
74
+ task_id: string;
75
+ question_id: string;
76
+ question_revision: string;
77
+ payload: CouncilOpinionPayload;
78
+ } | {
79
+ schema_version: 1;
80
+ record_kind: 'synthesis';
81
+ request_key: string;
82
+ task_id: string;
83
+ question_id: string;
84
+ question_revision: string;
85
+ payload: CouncilSynthesisPayload;
86
+ };
87
+ export interface RecordCouncilResult {
88
+ memoryId: string;
89
+ created: boolean;
90
+ recovered: boolean;
91
+ }
92
+ export declare const MAX_BODY_BYTES: number;
93
+ /**
94
+ * Запись council envelope как note (facet context, тег wolf:council-record:v1,
95
+ * body = canonical JSON envelope) + relations. Идемпотентна по request_key;
96
+ * после частичного сбоя (note есть, рёбер нет) дописывает только недостающие
97
+ * рёбра без повторного memory.added. Валидация и лимиты — до любых записей
98
+ * (отказ атомарен: ни note, ни event, ни ребра).
99
+ */
100
+ export declare function recordCouncil(deps: RecordCouncilDeps, input: {
101
+ envelope: CouncilRecordEnvelope;
102
+ createdBy: string;
103
+ }): Promise<RecordCouncilResult>;
104
+ //# sourceMappingURL=record-council.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-council.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/record-council.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,377 @@
1
+ // src/app/use-cases/record-council.ts
2
+ // REL-231-A P04/REQ-09 (AC-A3, design 2026-11-05-council §4): доменная операция
3
+ // записи council envelope (question/opinion/synthesis) поверх штатного note-пути:
4
+ // addMemoryObject (тот же governance/event/index), строгая схема envelope
5
+ // (эквивалент additionalProperties:false), канонический JSON body,
6
+ // question_revision = sha256 от canonical JSON вопроса, идемпотентность
7
+ // request_key, recovery недостающих рёбер после частичного сбоя (сбой между
8
+ // note и relations). Прецеденты: deps-паттерн — create-mutation-record.ts;
9
+ // рёбра — record-relation.ts (прямое + обратное, дедуп subject+predicate+object).
10
+ // Lock: если deps.lock передан — берём один раз здесь; в addMemoryObject/recordRelation
11
+ // не пробрасываем (FsMemoryLock не реентерабелен, комментарий create-mutation-record).
12
+ import { createHash } from 'crypto';
13
+ import { z } from 'zod';
14
+ import { addMemoryObject } from './add-memory-object.js';
15
+ import { recordRelation } from './record-relation.js';
16
+ import { UserFacingError } from '../../domain/errors.js';
17
+ const COUNCIL_TAG = 'wolf:council-record:v1';
18
+ export const MAX_BODY_BYTES = 256 * 1024;
19
+ // --- Строгая схема envelope (D-W3-1: ручная zod-схема здесь, не FieldSpec в memory-types) ---
20
+ const nonEmpty = z.string().min(1);
21
+ const nonEmptyStrings = z.array(nonEmpty);
22
+ const SourceRefSchema = z.strictObject({
23
+ ref: nonEmpty,
24
+ revision: nonEmpty,
25
+ });
26
+ // A9/F-02: хотя бы одно непустое memory_id или path; quote ≤ 200, note ≤ 500
27
+ const EvidenceRefSchema = z
28
+ .strictObject({
29
+ memory_id: nonEmpty.optional(),
30
+ path: nonEmpty.optional(),
31
+ quote: z.string().max(200).optional(),
32
+ note: z.string().max(500).optional(),
33
+ })
34
+ .refine((data) => Boolean((data.memory_id && data.memory_id.trim().length > 0) || (data.path && data.path.trim().length > 0)), { message: 'EvidenceRef must contain at least one non-empty field: memory_id or path' });
35
+ const RejectedAlternativeSchema = z.strictObject({
36
+ claim: nonEmpty,
37
+ reason: nonEmpty,
38
+ });
39
+ const QuestionPayloadSchema = z.strictObject({
40
+ question: nonEmpty,
41
+ decision_owner: nonEmpty,
42
+ sources: z.array(SourceRefSchema).optional(),
43
+ lenses: nonEmptyStrings.optional(),
44
+ budget: nonEmpty.optional(),
45
+ constraints: nonEmptyStrings.optional(),
46
+ });
47
+ const OpinionPayloadSchema = z.strictObject({
48
+ expert_id: nonEmpty,
49
+ round: z.number().int().min(1),
50
+ claims: nonEmptyStrings.min(1),
51
+ evidence: z.array(EvidenceRefSchema).optional(),
52
+ assumptions: nonEmptyStrings.optional(),
53
+ confidence: z.enum(['low', 'medium', 'high']),
54
+ risks: nonEmptyStrings.optional(),
55
+ failure_conditions: nonEmptyStrings.optional(),
56
+ counterexamples: nonEmptyStrings.optional(),
57
+ recommendation: nonEmpty.optional(),
58
+ });
59
+ const SynthesisPayloadSchema = z
60
+ .strictObject({
61
+ outcome: z.enum(['ready', 'insufficient_evidence']),
62
+ opinion_ids: nonEmptyStrings,
63
+ accepted_claims: nonEmptyStrings,
64
+ rejected_alternatives: z.array(RejectedAlternativeSchema).optional(),
65
+ unresolved_dissent: nonEmptyStrings,
66
+ required_validation: nonEmptyStrings,
67
+ confidence: z.enum(['low', 'medium', 'high']),
68
+ actual_participants: nonEmptyStrings.min(1),
69
+ missing_participants: nonEmptyStrings.optional(),
70
+ cost_note: nonEmpty.optional(),
71
+ isolation_limits: nonEmptyStrings.optional(),
72
+ })
73
+ .superRefine((payload, ctx) => {
74
+ if (payload.outcome === 'ready' && payload.accepted_claims.length === 0) {
75
+ ctx.addIssue({
76
+ code: 'custom',
77
+ path: ['accepted_claims'],
78
+ message: 'accepted_claims must be non-empty when outcome is "ready"',
79
+ });
80
+ }
81
+ if (payload.outcome === 'insufficient_evidence') {
82
+ if (payload.unresolved_dissent.length === 0) {
83
+ ctx.addIssue({
84
+ code: 'custom',
85
+ path: ['unresolved_dissent'],
86
+ message: 'outcome "insufficient_evidence" requires an explanation in unresolved_dissent',
87
+ });
88
+ }
89
+ if (payload.required_validation.length === 0) {
90
+ ctx.addIssue({
91
+ code: 'custom',
92
+ path: ['required_validation'],
93
+ message: 'outcome "insufficient_evidence" requires non-empty required_validation',
94
+ });
95
+ }
96
+ }
97
+ });
98
+ const envelopeBase = {
99
+ schema_version: z.literal(1),
100
+ request_key: nonEmpty,
101
+ task_id: nonEmpty,
102
+ };
103
+ const QuestionEnvelopeSchema = z.strictObject({
104
+ ...envelopeBase,
105
+ record_kind: z.literal('question'),
106
+ payload: QuestionPayloadSchema,
107
+ });
108
+ const OpinionEnvelopeSchema = z.strictObject({
109
+ ...envelopeBase,
110
+ record_kind: z.literal('opinion'),
111
+ question_id: nonEmpty,
112
+ question_revision: nonEmpty,
113
+ payload: OpinionPayloadSchema,
114
+ });
115
+ const SynthesisEnvelopeSchema = z.strictObject({
116
+ ...envelopeBase,
117
+ record_kind: z.literal('synthesis'),
118
+ question_id: nonEmpty,
119
+ question_revision: nonEmpty,
120
+ payload: SynthesisPayloadSchema,
121
+ });
122
+ function envelopeSchemaFor(kind) {
123
+ if (kind === 'question')
124
+ return QuestionEnvelopeSchema;
125
+ if (kind === 'opinion')
126
+ return OpinionEnvelopeSchema;
127
+ if (kind === 'synthesis')
128
+ return SynthesisEnvelopeSchema;
129
+ return null;
130
+ }
131
+ /** Строгая валидация envelope; любая ошибка — UserFacingError (до любых записей). */
132
+ function parseEnvelope(raw) {
133
+ const kind = raw?.record_kind;
134
+ const schema = envelopeSchemaFor(kind);
135
+ if (!schema) {
136
+ throw new UserFacingError(`Invalid council envelope: record_kind must be one of "question" | "opinion" | "synthesis" (got ${JSON.stringify(kind)})`);
137
+ }
138
+ const result = schema.safeParse(raw);
139
+ if (!result.success) {
140
+ throw new UserFacingError(`Invalid council envelope: ${result.error.issues
141
+ .map((issue) => `${issue.path.join('.') || '<root>'}: ${issue.message}`)
142
+ .join('; ')}`);
143
+ }
144
+ return result.data;
145
+ }
146
+ /** Терпеливый разбор чужих note (для поиска по request_key/дайджеста): битые пропускаем. */
147
+ function tryParseEnvelope(raw) {
148
+ const schema = envelopeSchemaFor(raw?.record_kind);
149
+ if (!schema)
150
+ return null;
151
+ const result = schema.safeParse(raw);
152
+ return result.success ? result.data : null;
153
+ }
154
+ // --- Канонизация и дайджест (байт-в-байт как в тестах W1) ---
155
+ /** Канонический JSON (stable stringify): рекурсивная сортировка ключей, без пробелов. */
156
+ function canonicalJson(value) {
157
+ const walk = (v) => {
158
+ if (Array.isArray(v))
159
+ return v.map(walk);
160
+ if (v !== null && typeof v === 'object') {
161
+ const src = v;
162
+ const out = {};
163
+ for (const key of Object.keys(src).sort())
164
+ out[key] = walk(src[key]);
165
+ return out;
166
+ }
167
+ return v;
168
+ };
169
+ return JSON.stringify(walk(value));
170
+ }
171
+ /** Семантика 2: question_revision = sha256-hex от canonical JSON
172
+ * {schema_version, record_kind:'question', task_id, payload} вопроса. */
173
+ function questionDigest(envelope) {
174
+ return createHash('sha256')
175
+ .update(canonicalJson({
176
+ schema_version: envelope.schema_version,
177
+ record_kind: 'question',
178
+ task_id: envelope.task_id,
179
+ payload: envelope.payload,
180
+ }), 'utf8')
181
+ .digest('hex');
182
+ }
183
+ function titleFor(envelope) {
184
+ if (envelope.record_kind === 'question')
185
+ return `[council] question: ${envelope.task_id}`;
186
+ if (envelope.record_kind === 'opinion') {
187
+ return `[council] opinion ${envelope.payload.expert_id} r${envelope.payload.round}: ${envelope.task_id}`;
188
+ }
189
+ return `[council] synthesis ${envelope.payload.outcome}: ${envelope.task_id}`;
190
+ }
191
+ /** Контракт §6: opinion → answers → question; synthesis → based_on → question и каждое opinion. */
192
+ function requiredEdges(envelope, noteId) {
193
+ if (envelope.record_kind === 'opinion') {
194
+ return [{ subject: noteId, predicate: 'answers', object: envelope.question_id }];
195
+ }
196
+ if (envelope.record_kind === 'synthesis') {
197
+ return [
198
+ { subject: noteId, predicate: 'based_on', object: envelope.question_id },
199
+ ...envelope.payload.opinion_ids.map((opinionId) => ({
200
+ subject: noteId,
201
+ predicate: 'based_on',
202
+ object: opinionId,
203
+ })),
204
+ ];
205
+ }
206
+ return [];
207
+ }
208
+ // --- Чтение существующих council-записей (только note с тегом wolf:council-record:v1) ---
209
+ async function councilNotes(deps) {
210
+ const notes = await deps.store.list({ type: 'note' });
211
+ const found = [];
212
+ for (const note of notes) {
213
+ if (!note.tags.includes(COUNCIL_TAG))
214
+ continue;
215
+ let raw;
216
+ try {
217
+ raw = JSON.parse(note.body);
218
+ }
219
+ catch {
220
+ continue; // чужой/битый body — не council-контракт
221
+ }
222
+ const env = tryParseEnvelope(raw);
223
+ if (env)
224
+ found.push({ id: note.id, env });
225
+ }
226
+ return found;
227
+ }
228
+ /** Семантика 2: opinion/synthesis ссылаются на существующую валидную question-запись. */
229
+ async function loadQuestion(deps, questionId) {
230
+ const note = await deps.store.get(questionId);
231
+ if (!note) {
232
+ throw new UserFacingError(`council question "${questionId}" not found (dangling question_id)`);
233
+ }
234
+ if (!note.tags.includes(COUNCIL_TAG)) {
235
+ throw new UserFacingError(`memory "${questionId}" is not a council record (missing tag "${COUNCIL_TAG}")`);
236
+ }
237
+ let raw;
238
+ try {
239
+ raw = JSON.parse(note.body);
240
+ }
241
+ catch {
242
+ throw new UserFacingError(`council question "${questionId}" has unreadable body`);
243
+ }
244
+ const env = tryParseEnvelope(raw);
245
+ if (!env || env.record_kind !== 'question') {
246
+ throw new UserFacingError(`memory "${questionId}" is not a council question record`);
247
+ }
248
+ return env;
249
+ }
250
+ /** Семантика 6: opinion_ids существуют и принадлежат этому же question. */
251
+ async function assertOpinionsBelong(deps, envelope) {
252
+ for (const opinionId of envelope.payload.opinion_ids) {
253
+ const note = await deps.store.get(opinionId);
254
+ if (!note || !note.tags.includes(COUNCIL_TAG)) {
255
+ throw new UserFacingError(`council opinion "${opinionId}" not found (referenced from synthesis opinion_ids)`);
256
+ }
257
+ let raw;
258
+ try {
259
+ raw = JSON.parse(note.body);
260
+ }
261
+ catch {
262
+ raw = null;
263
+ }
264
+ const env = raw === null ? null : tryParseEnvelope(raw);
265
+ if (!env || env.record_kind !== 'opinion') {
266
+ throw new UserFacingError(`memory "${opinionId}" is not a council opinion record`);
267
+ }
268
+ if (env.question_id !== envelope.question_id) {
269
+ throw new UserFacingError(`council opinion "${opinionId}" belongs to question "${env.question_id}", not "${envelope.question_id}"`);
270
+ }
271
+ }
272
+ }
273
+ /** Семантика 6: дубль expert_id+round на тот же question под другим request_key — отказ. */
274
+ async function assertNoExpertRoundDup(deps, envelope) {
275
+ const others = await councilNotes(deps);
276
+ for (const { env } of others) {
277
+ if (env.record_kind !== 'opinion')
278
+ continue;
279
+ if (env.request_key === envelope.request_key)
280
+ continue; // тот же ключ — идемпотентность, не дубль
281
+ if (env.question_id !== envelope.question_id)
282
+ continue;
283
+ if (env.payload.expert_id === envelope.payload.expert_id && env.payload.round === envelope.payload.round) {
284
+ throw new UserFacingError(`opinion of expert "${envelope.payload.expert_id}" round ${envelope.payload.round} already recorded for question "${envelope.question_id}" (request_key "${env.request_key}")`);
285
+ }
286
+ }
287
+ }
288
+ async function edgeExists(deps, edge) {
289
+ const listed = await deps.relations.list({ subject: edge.subject, predicate: edge.predicate, object: edge.object });
290
+ return listed.some((relation) => relation.subject === edge.subject && relation.predicate === edge.predicate && relation.object === edge.object);
291
+ }
292
+ async function appendEdge(deps, edge) {
293
+ // recordRelation кладёт прямое и обратное ребро (проектная конвенция);
294
+ // дедуп перед вызовом — здесь (subject+predicate+object)
295
+ await recordRelation({ relations: deps.relations, idGen: deps.idGen }, deps.clock.now(), edge.subject, edge.predicate, edge.object, 'agent');
296
+ }
297
+ /**
298
+ * Запись council envelope как note (facet context, тег wolf:council-record:v1,
299
+ * body = canonical JSON envelope) + relations. Идемпотентна по request_key;
300
+ * после частичного сбоя (note есть, рёбер нет) дописывает только недостающие
301
+ * рёбра без повторного memory.added. Валидация и лимиты — до любых записей
302
+ * (отказ атомарен: ни note, ни event, ни ребра).
303
+ */
304
+ export async function recordCouncil(deps, input) {
305
+ const envelope = parseEnvelope(input.envelope);
306
+ const body = canonicalJson(envelope);
307
+ // Семантика 5: лимит 256 KiB на вход и на итоговый body
308
+ const inputBytes = Buffer.byteLength(JSON.stringify(input.envelope), 'utf8');
309
+ if (inputBytes > MAX_BODY_BYTES) {
310
+ throw new UserFacingError(`council envelope exceeds 256 KiB limit (${inputBytes} bytes after stringify)`);
311
+ }
312
+ const bodyBytes = Buffer.byteLength(body, 'utf8');
313
+ if (bodyBytes > MAX_BODY_BYTES) {
314
+ throw new UserFacingError(`council record body exceeds 256 KiB limit (${bodyBytes} bytes)`);
315
+ }
316
+ const core = async () => {
317
+ // Перекрёстная валидация (только чтение) — до любых записей
318
+ if (envelope.record_kind !== 'question') {
319
+ const question = await loadQuestion(deps, envelope.question_id);
320
+ const digest = questionDigest(question);
321
+ if (digest !== envelope.question_revision) {
322
+ throw new UserFacingError(`question_revision mismatch for question "${envelope.question_id}": expected ${digest}, got ${envelope.question_revision}`);
323
+ }
324
+ if (envelope.record_kind === 'synthesis') {
325
+ await assertOpinionsBelong(deps, envelope);
326
+ }
327
+ }
328
+ // Идемпотентность/recovery: существующий note с этим request_key
329
+ const notes = await councilNotes(deps);
330
+ const existing = notes.find(({ env }) => env.request_key === envelope.request_key);
331
+ if (existing) {
332
+ if (existing.env && canonicalJson(existing.env) !== body) {
333
+ throw new UserFacingError(`request_key "${envelope.request_key}" is already recorded with a different payload (council conflict)`);
334
+ }
335
+ const edges = requiredEdges(envelope, existing.id);
336
+ const missing = [];
337
+ for (const edge of edges) {
338
+ if (!(await edgeExists(deps, edge)))
339
+ missing.push(edge);
340
+ }
341
+ for (const edge of missing) {
342
+ await appendEdge(deps, edge);
343
+ }
344
+ return { memoryId: existing.id, created: false, recovered: missing.length > 0 };
345
+ }
346
+ if (envelope.record_kind === 'opinion') {
347
+ await assertNoExpertRoundDup(deps, envelope);
348
+ }
349
+ // Запись через штатный путь (governance/event/index); lock не пробрасываем —
350
+ // он уже удержан этим вызовом (не реентерабелен)
351
+ const addDeps = {
352
+ store: deps.store,
353
+ log: deps.log,
354
+ clock: deps.clock,
355
+ idGen: deps.idGen,
356
+ ...(deps.index ? { index: deps.index } : {}),
357
+ };
358
+ const { object } = await addMemoryObject(addDeps, {
359
+ type: 'note',
360
+ facet: 'context',
361
+ title: titleFor(envelope),
362
+ body,
363
+ createdBy: input.createdBy,
364
+ tags: [COUNCIL_TAG],
365
+ // W8/F3: вопрос открыт до закрытия синтезом — симметрия с legacy
366
+ // council-question defaultStatus 'open'; статус — поле note, не входит
367
+ // в canonical body/question_revision (идемпотентность не меняется)
368
+ ...(envelope.record_kind === 'question' ? { status: 'open' } : {}),
369
+ });
370
+ for (const edge of requiredEdges(envelope, object.id)) {
371
+ await appendEdge(deps, edge);
372
+ }
373
+ return { memoryId: object.id, created: true, recovered: false };
374
+ };
375
+ return deps.lock ? deps.lock.withLock(core) : core();
376
+ }
377
+ //# sourceMappingURL=record-council.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-council.js","sourceRoot":"","sources":["../../../src/app/use-cases/record-council.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.30.0",
3
+ "version": "2.31.0",
4
4
  "description": "A local-first project organization for AI assistants: goal-directed processes, project memory and governed learning",
5
5
  "keywords": [
6
6
  "ai-agents",
@@ -148,6 +148,7 @@ handoff; не маскируй отказ памяти файлом в доку
148
148
  - Самостоятельный неизвестный вопрос с критерием ответа → worker-researcher.
149
149
  Не создавай отдельного исследователя ради нужного адресного чтения исполнителя
150
150
  или одной проверки evidence при приёмке.
151
+ - Профессиональная позиция по известному вопросу/основаниям → worker-expert.
151
152
  - Бюджет вызовов L2 на поручение L1 — из брифа, без заданного остаётся 5;
152
153
  повторные вызовы и эксперты тоже расходуют бюджет. Это не лимит параллельности.
153
154
  Независимые ready-задачи запускай одновременно в пределах средств платформы
@@ -245,21 +246,19 @@ wolf tool use лишь учитывает применение, не запус
245
246
  Продуктовый выбор/выход за свои полномочия → L0/владелец сразу, без долгого поиска.
246
247
  Один точный пробел экспертизы → один короткий экспертный мандат, если нужен.
247
248
 
248
- Консилиум — дорогой резерв: решение существенно блокирует процесс, сложно
249
- или содержит конфликт нескольких экспертиз, а собственного решения/одного
250
- адресного совета недостаточно. Укажи, что заблокировано и почему ожидаемая
251
- польза превышает стоимость. Само наличие BLOCKED, высокий риск или сбой тула
252
- не являются достаточным основанием. Не собирай совет для рутинного факта,
253
- готового скрипта, уточнения брифа или изменения правил поведения — это другие пути.
254
-
255
- Используй разрешённые worker-роли и действующий task-канал. Задай узкий вопрос,
256
- владельца решения, сырые основания, бюджет экспертов/раундов и стоп-условие;
257
- мнения независимы до раскрытия. Действующий council-контракт:
258
- claims/evidence/assumptions/confidence/risks/failure_conditions/counterexamples;
259
- синтез: accepted_claims/rejected_alternatives/unresolved_dissent/required_validation.
260
- Не вводи новый runtime/команду. Эксперты советуют; решение остаётся у ответственного
261
- уровня и не заменяет проверки/приёмку. Следующему L2 передай решение, источник,
262
- ограничения, критерий и короткое evidence, не стенограмму совета.
249
+ Для одиночной позиции назначь worker-expert; исследователь получает поиск,
250
+ reviewer — проверку артефакта. Консилиум организуй по wolf-council при прямом
251
+ запросе, существенном выборе обоснованных альтернатив или содержательном споре.
252
+ Не требуй сначала BLOCKED/неудач. Рутину, уточнение брифа и дефект правила
253
+ обрабатывай своими действующими маршрутами.
254
+
255
+ Загрузи wolf-council до запуска: общий вопрос/факты, разные предметные линзы,
256
+ независимый первый раунд, реально ограниченные права и общий бюджет. Эксперты
257
+ только читают/отвечают; исследование/эксперимент возвращают тебе как потребность.
258
+ Сохранение мнений/синтеза организуй поддержанным API текущей версии. Нет write-path
259
+ или изоляции — честное ограничение, не доказательство полного внедрения совета.
260
+ Рекомендацию принимает ответственный; следующему L2 передай принятое решение,
261
+ источник, ограничения и проверки, не стенограмму. Полномочия и приёмка сохраняются.
263
262
 
264
263
  ## Улучшение поведения через Стюарда
265
264