mister-wolf 2.1.0 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/README.ru.md +3 -0
- package/dist/adapters/cli/cli-entry.d.ts.map +1 -1
- package/dist/adapters/cli/cli-entry.js +3 -1
- package/dist/adapters/cli/cli-entry.js.map +1 -1
- package/dist/adapters/cli/commands/memory-effectiveness.js +10 -10
- package/dist/adapters/cli/commands/memory-effectiveness.js.map +1 -1
- package/dist/adapters/cli/commands/memory-init.js +8 -8
- package/dist/adapters/cli/commands/memory-init.js.map +1 -1
- package/dist/adapters/cli/commands/memory-learn.js +42 -42
- package/dist/adapters/cli/commands/memory-learn.js.map +1 -1
- package/dist/adapters/cli/commands/memory-migrate.js +1 -1
- package/dist/adapters/cli/commands/memory-migrate.js.map +1 -1
- package/dist/adapters/cli/commands/memory-scaffold.js +1 -1
- package/dist/adapters/cli/commands/memory-scaffold.js.map +1 -1
- package/dist/adapters/cli/commands/memory-scan.js +1 -1
- package/dist/adapters/cli/commands/memory-scan.js.map +1 -1
- package/dist/adapters/cli/commands/memory-sync.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-sync.js +5 -5
- package/dist/adapters/cli/commands/memory-sync.js.map +1 -1
- package/dist/adapters/cli/commands/memory-tool.js +6 -6
- package/dist/adapters/cli/commands/memory-tool.js.map +1 -1
- package/dist/adapters/cli/commands/memory-upgrade.d.ts +3 -0
- package/dist/adapters/cli/commands/memory-upgrade.d.ts.map +1 -0
- package/dist/adapters/cli/commands/memory-upgrade.js +104 -0
- package/dist/adapters/cli/commands/memory-upgrade.js.map +1 -0
- package/dist/adapters/cli/commands/memory-validate.js +3 -3
- package/dist/adapters/cli/commands/memory-validate.js.map +1 -1
- package/dist/adapters/fs/config-file.js +1 -1
- package/dist/adapters/fs/config-file.js.map +1 -1
- package/dist/adapters/fs/doc-id-migration.js +1 -1
- package/dist/adapters/fs/doc-id-migration.js.map +1 -1
- package/dist/adapters/platforms/opencode-adapter.js +2 -2
- package/dist/adapters/platforms/opencode-adapter.js.map +1 -1
- package/dist/adapters/render/opencode/opencode-renderer.js +5 -5
- package/dist/adapters/render/opencode/opencode-renderer.js.map +1 -1
- package/dist/app/use-cases/activate-draft.js +8 -8
- package/dist/app/use-cases/activate-draft.js.map +1 -1
- package/dist/app/use-cases/bootstrap-project.d.ts +1 -1
- package/dist/app/use-cases/bootstrap-project.d.ts.map +1 -1
- package/dist/app/use-cases/bootstrap-project.js +16 -16
- package/dist/app/use-cases/bootstrap-project.js.map +1 -1
- package/dist/app/use-cases/generate-insights.js +1 -1
- package/dist/app/use-cases/generate-recap.js +8 -8
- package/dist/app/use-cases/generate-recap.js.map +1 -1
- package/dist/app/use-cases/init-project.d.ts.map +1 -1
- package/dist/app/use-cases/init-project.js +18 -14
- package/dist/app/use-cases/init-project.js.map +1 -1
- package/dist/app/use-cases/list-memory-objects.js +3 -3
- package/dist/app/use-cases/list-memory-objects.js.map +1 -1
- package/dist/app/use-cases/model-routing.js +2 -2
- package/dist/app/use-cases/model-routing.js.map +1 -1
- package/dist/app/use-cases/propose-draft.js +16 -16
- package/dist/app/use-cases/propose-draft.js.map +1 -1
- package/dist/app/use-cases/scaffold-agent.js +12 -12
- package/dist/app/use-cases/scaffold-agent.js.map +1 -1
- package/dist/app/use-cases/seed-base-playbooks.js +1 -1
- package/dist/app/use-cases/seed-base-playbooks.js.map +1 -1
- package/dist/app/use-cases/template-evolve.js +7 -7
- package/dist/app/use-cases/template-evolve.js.map +1 -1
- package/dist/app/use-cases/tool-librarian.d.ts.map +1 -1
- package/dist/app/use-cases/tool-librarian.js +13 -13
- package/dist/app/use-cases/tool-librarian.js.map +1 -1
- package/dist/app/use-cases/tool-stats.js +1 -1
- package/dist/app/use-cases/tool-stats.js.map +1 -1
- package/dist/app/use-cases/upgrade.d.ts +38 -0
- package/dist/app/use-cases/upgrade.d.ts.map +1 -0
- package/dist/app/use-cases/upgrade.js +48 -0
- package/dist/app/use-cases/upgrade.js.map +1 -0
- package/dist/app/use-cases/validate-draft.js +7 -7
- package/dist/app/use-cases/validate-draft.js.map +1 -1
- package/dist/domain/gates/stop-gate.js +6 -6
- package/dist/domain/gates/stop-gate.js.map +1 -1
- package/dist/domain/mechanical-advice.d.ts.map +1 -1
- package/dist/domain/mechanical-advice.js +19 -19
- package/dist/domain/mechanical-advice.js.map +1 -1
- package/dist/domain/policies/read-only-zones.js +13 -13
- package/dist/domain/policies/read-only-zones.js.map +1 -1
- package/dist/domain/review-depth.js +7 -7
- package/dist/domain/review-depth.js.map +1 -1
- package/dist/domain/tool-economy.js +1 -1
- package/dist/domain/tool-economy.js.map +1 -1
- package/package.json +2 -2
|
@@ -12,25 +12,25 @@ export async function activateDraft(deps, input) {
|
|
|
12
12
|
const rec = draft;
|
|
13
13
|
const patternKey = rec.pattern_key;
|
|
14
14
|
if (patternKey === undefined)
|
|
15
|
-
throw new UserFacingError(
|
|
15
|
+
throw new UserFacingError(`not a propose draft: ${input.draftId}`);
|
|
16
16
|
if (draft.type !== 'rule' && draft.type !== 'lesson') {
|
|
17
|
-
throw new UserFacingError(
|
|
17
|
+
throw new UserFacingError(`not a draft type: ${input.draftId} (${draft.type})`);
|
|
18
18
|
}
|
|
19
19
|
if (draft.status === 'active')
|
|
20
|
-
throw new UserFacingError(
|
|
20
|
+
throw new UserFacingError(`already active: ${input.draftId}`);
|
|
21
21
|
if (draft.status !== 'proposed') {
|
|
22
|
-
throw new UserFacingError(
|
|
22
|
+
throw new UserFacingError(`activation is possible only from proposed (current: ${draft.status})`);
|
|
23
23
|
}
|
|
24
24
|
// Гейт §2.5: pass ИЛИ человек. Причина отказа — точной формулировкой.
|
|
25
25
|
const verdict = rec.holdout_verdict;
|
|
26
26
|
if (verdict !== 'pass' && input.humanApproved !== true) {
|
|
27
27
|
if (verdict === undefined) {
|
|
28
|
-
throw new UserFacingError(`holdout
|
|
28
|
+
throw new UserFacingError(`holdout verdict missing — run \`wolf learn validate ${input.draftId}\` first`);
|
|
29
29
|
}
|
|
30
30
|
if (verdict === 'fail') {
|
|
31
|
-
throw new UserFacingError('
|
|
31
|
+
throw new UserFacingError('activation blocked: holdout fail');
|
|
32
32
|
}
|
|
33
|
-
throw new UserFacingError('
|
|
33
|
+
throw new UserFacingError('text draft: human review required (--human-approved)');
|
|
34
34
|
}
|
|
35
35
|
// STOP-гейт Ф23 (спека §3 правило границы (б)): барьер автономной активации —
|
|
36
36
|
// delivery-механизм обязан доносить знание до агента. Только автономный путь
|
|
@@ -50,7 +50,7 @@ export async function activateDraft(deps, input) {
|
|
|
50
50
|
: inj.blocks;
|
|
51
51
|
const gate = runStopGate(() => blocks, [scenario]);
|
|
52
52
|
if (!gate.passed) {
|
|
53
|
-
throw new UserFacingError(`STOP
|
|
53
|
+
throw new UserFacingError(`STOP-gate red: ${gate.results[0]?.reason ?? 'fail'}`);
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activate-draft.js","sourceRoot":"","sources":["../../../src/app/use-cases/activate-draft.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAE3D,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,IAUC,EACD,KAAkE;IAElE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,eAAe,CAAC,4BAA4B,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACnF,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,MAAM,UAAU,GAAG,GAAG,CAAC,WAAiC,CAAC;IACzD,IAAI,UAAU,KAAK,SAAS;QAAE,MAAM,IAAI,eAAe,CAAC,
|
|
1
|
+
{"version":3,"file":"activate-draft.js","sourceRoot":"","sources":["../../../src/app/use-cases/activate-draft.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ export interface BootstrapProjectResult {
|
|
|
19
19
|
brief: string;
|
|
20
20
|
}
|
|
21
21
|
/** Заголовок bootstrap-thread — константа дедупа и детекции recap-секции (§3). */
|
|
22
|
-
export declare const BOOTSTRAP_THREAD_TITLE = "Bootstrap:
|
|
22
|
+
export declare const BOOTSTRAP_THREAD_TITLE = "Bootstrap: seeding initial memory";
|
|
23
23
|
/**
|
|
24
24
|
* «Bootstrap-адаптивный» старт памяти проекта (концепт §7.4):
|
|
25
25
|
* скан → черновики правил (proposed) из фактов → work-thread → brief.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap-project.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/bootstrap-project.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAG5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAK1E,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAOD,kFAAkF;AAClF,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"bootstrap-project.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/bootstrap-project.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,MAAM,8CAA8C,CAAC;AAG5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAK1E,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAOD,kFAAkF;AAClF,eAAO,MAAM,sBAAsB,sCAAsC,CAAC;AAE1E;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,IAAI,EAAE;IACJ,KAAK,EAAE,WAAW,CAAC;IACnB,GAAG,EAAE,QAAQ,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,YAAY,CAAC,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAChD,EAAE,EAAE,UAAU,CAAC;CAChB,EACD,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,sBAAsB,CAAC,CA8EjC"}
|
|
@@ -4,7 +4,7 @@ import { scanProject } from './scan-project.js';
|
|
|
4
4
|
import { addMemoryObject } from './add-memory-object.js';
|
|
5
5
|
import { createWorkThread } from './create-work-thread.js';
|
|
6
6
|
/** Заголовок bootstrap-thread — константа дедупа и детекции recap-секции (§3). */
|
|
7
|
-
export const BOOTSTRAP_THREAD_TITLE = 'Bootstrap:
|
|
7
|
+
export const BOOTSTRAP_THREAD_TITLE = 'Bootstrap: seeding initial memory';
|
|
8
8
|
/**
|
|
9
9
|
* «Bootstrap-адаптивный» старт памяти проекта (концепт §7.4):
|
|
10
10
|
* скан → черновики правил (proposed) из фактов → work-thread → brief.
|
|
@@ -14,7 +14,7 @@ export const BOOTSTRAP_THREAD_TITLE = 'Bootstrap: наполнение стар
|
|
|
14
14
|
export async function bootstrapProject(deps, input) {
|
|
15
15
|
const config = await deps.fs.readSmallTextFile(join(input.baseDir, '.wolf', 'config.yaml'));
|
|
16
16
|
if (config === null) {
|
|
17
|
-
throw new UserFacingError('Project is not initialized:
|
|
17
|
+
throw new UserFacingError('Project is not initialized: run wolf init first');
|
|
18
18
|
}
|
|
19
19
|
// Guard §5.1 «онбординг уже закрыт»: thread status ≠ active → no-op без скана.
|
|
20
20
|
// Иначе повторный bootstrap после закрытия регрессировал бы память к черновикам
|
|
@@ -25,7 +25,7 @@ export async function bootstrapProject(deps, input) {
|
|
|
25
25
|
rules: [],
|
|
26
26
|
workThreadId: existingThread.id,
|
|
27
27
|
documentCount: 0,
|
|
28
|
-
brief:
|
|
28
|
+
brief: `Onboarding already finished/deferred (thread ${existingThread.status}); to re-create — the owner does it manually`,
|
|
29
29
|
};
|
|
30
30
|
}
|
|
31
31
|
const { snapshot, documents } = await scanProject(deps, input.baseDir);
|
|
@@ -67,9 +67,9 @@ export async function bootstrapProject(deps, input) {
|
|
|
67
67
|
const initTs = initReport ? initReport.created_at : now;
|
|
68
68
|
const { object: thread } = await createWorkThread(deps, {
|
|
69
69
|
title: BOOTSTRAP_THREAD_TITLE,
|
|
70
|
-
goal: '
|
|
71
|
-
currentState: `init ${initTs} ✓ (${initReport ? `report ${initReport.id}` : '
|
|
72
|
-
`bootstrap ${now}:
|
|
70
|
+
goal: 'Collapse drafts and finish onboarding in dialogue with the user',
|
|
71
|
+
currentState: `init ${initTs} ✓ (${initReport ? `report ${initReport.id}` : 'no report'}); ` +
|
|
72
|
+
`bootstrap ${now}: drafts ${rules.length}, document-refs ${documents.length}`,
|
|
73
73
|
nextSteps: rules.map((rule) => `${rule.id}: ${rule.title}`),
|
|
74
74
|
createdBy: input.createdBy,
|
|
75
75
|
});
|
|
@@ -88,13 +88,13 @@ function draftRulesFromSnapshot(snapshot, testCommand) {
|
|
|
88
88
|
const { languages, fileCount } = snapshot.summary;
|
|
89
89
|
if (languages.length > 0) {
|
|
90
90
|
drafts.push({
|
|
91
|
-
title:
|
|
92
|
-
body:
|
|
91
|
+
title: `Stack: ${languages.join(', ')}`,
|
|
92
|
+
body: `Project scan “${snapshot.projectName}”: ${fileCount} files, languages by extension — ${languages.join(', ')}. Confirm the stack and add versions.`,
|
|
93
93
|
});
|
|
94
94
|
}
|
|
95
95
|
drafts.push({
|
|
96
|
-
title:
|
|
97
|
-
body:
|
|
96
|
+
title: `Project check: ${testCommand}`,
|
|
97
|
+
body: `Project check command (scripts.test from package.json, otherwise a fallback). Run it before finishing work.`,
|
|
98
98
|
});
|
|
99
99
|
if (snapshot.docs.length > 0) {
|
|
100
100
|
const top = snapshot.docs
|
|
@@ -102,8 +102,8 @@ function draftRulesFromSnapshot(snapshot, testCommand) {
|
|
|
102
102
|
.map((doc) => doc.path)
|
|
103
103
|
.join(', ');
|
|
104
104
|
drafts.push({
|
|
105
|
-
title:
|
|
106
|
-
body:
|
|
105
|
+
title: `Documentation: ${snapshot.docs.length} document(s)`,
|
|
106
|
+
body: `Registered documents: ${top}. Check the list is complete and titles are current (wolf list --type document-ref).`,
|
|
107
107
|
});
|
|
108
108
|
}
|
|
109
109
|
return drafts;
|
|
@@ -124,7 +124,7 @@ async function readTestCommand(fs, baseDir) {
|
|
|
124
124
|
return 'npm test';
|
|
125
125
|
}
|
|
126
126
|
function renderBrief(rules, documents, workThreadId, skippedCount) {
|
|
127
|
-
const lines = ['# Bootstrap brief', '', '##
|
|
127
|
+
const lines = ['# Bootstrap brief', '', '## Created'];
|
|
128
128
|
lines.push(`- Proposed rules: ${rules.length}${skippedCount > 0 ? ` (+${skippedCount} already present)` : ''}`);
|
|
129
129
|
for (const rule of rules) {
|
|
130
130
|
lines.push(` - ${rule.id}: ${rule.title}`);
|
|
@@ -132,9 +132,9 @@ function renderBrief(rules, documents, workThreadId, skippedCount) {
|
|
|
132
132
|
lines.push(`- Document-refs: ${documents.length}`);
|
|
133
133
|
lines.push(`- Work-thread: ${workThreadId}`);
|
|
134
134
|
lines.push('');
|
|
135
|
-
lines.push('##
|
|
136
|
-
lines.push(
|
|
137
|
-
|
|
135
|
+
lines.push('## Final step');
|
|
136
|
+
lines.push(`Onboarding not finished: collapsing drafts and finishing — in dialogue with the user; ` +
|
|
137
|
+
`when done — close the thread (\`wolf transition ${workThreadId} completed\`)`);
|
|
138
138
|
return lines.join('\n');
|
|
139
139
|
}
|
|
140
140
|
//# sourceMappingURL=bootstrap-project.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap-project.js","sourceRoot":"","sources":["../../../src/app/use-cases/bootstrap-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAW5B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAmB3D,kFAAkF;AAClF,MAAM,CAAC,MAAM,sBAAsB,GAAG,
|
|
1
|
+
{"version":3,"file":"bootstrap-project.js","sourceRoot":"","sources":["../../../src/app/use-cases/bootstrap-project.ts"],"names":[],"mappings":"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"}
|
|
@@ -137,7 +137,7 @@ export function renderInsights(report) {
|
|
|
137
137
|
section(lines, 'Frequent related.files', report.topFiles.map((f) => `- ${f.file} (${f.count})`));
|
|
138
138
|
section(lines, 'Type distribution', report.typeDistribution.map((t) => `- ${t.tag} (${t.count})`));
|
|
139
139
|
if (report.signalLog) {
|
|
140
|
-
section(lines, 'Signal log (
|
|
140
|
+
section(lines, 'Signal log (F20)', [
|
|
141
141
|
`events: ${report.signalLog.totalEvents}`,
|
|
142
142
|
...report.signalLog.topKeys.map((k) => `- ${k.key} (${k.count})`),
|
|
143
143
|
]);
|
|
@@ -45,15 +45,15 @@ function section(lines, title, items) {
|
|
|
45
45
|
/** Тексты секции — контракт для рамки mr-wolf (§6.2), дословно. */
|
|
46
46
|
function onboardingText(signal) {
|
|
47
47
|
if (signal.kind === 'bootstrap') {
|
|
48
|
-
return ('Onboarding v2: init
|
|
49
|
-
'`wolf bootstrap` (
|
|
50
|
-
'`node dist/bootstrap/cli.js bootstrap`)
|
|
51
|
-
'
|
|
48
|
+
return ('Onboarding v2: init done, bootstrap not yet. Ask the user: offer to run ' +
|
|
49
|
+
'`wolf bootstrap` (can be executed right in the session: `wolf bootstrap`; in the Wolf dogfood repo — ' +
|
|
50
|
+
'`node dist/bootstrap/cli.js bootstrap`) or follow the user’s path. ' +
|
|
51
|
+
'Actions with side effects — only with the user’s consent.');
|
|
52
52
|
}
|
|
53
|
-
return ('Onboarding v2: bootstrap
|
|
54
|
-
'
|
|
55
|
-
|
|
56
|
-
'completed`)
|
|
53
|
+
return ('Onboarding v2: bootstrap done, onboarding not finished (thread active). Work under the user’s ' +
|
|
54
|
+
'direction — collapsing drafts, deep project study — as the user decides; no prescribed ' +
|
|
55
|
+
`roles. When onboarding is finished — offer to close the thread (\`wolf transition ${signal.threadId} ` +
|
|
56
|
+
'completed`) and close it with the user’s consent.');
|
|
57
57
|
}
|
|
58
58
|
export function renderRecap(report) {
|
|
59
59
|
const fmtObj = (obj) => `- ${obj.id} [${obj.type}] ${obj.title}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-recap.js","sourceRoot":"","sources":["../../../src/app/use-cases/generate-recap.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"generate-recap.js","sourceRoot":"","sources":["../../../src/app/use-cases/generate-recap.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAehE;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,GAAmB;IAC3C,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,CAAC,KAAK,KAAK,sBAAsB,CAAC,CAAC;IAC/F,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvF,CAAC;IACD,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,CAC5B,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CACnH,CAAC;IACF,OAAO,aAAa,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAA4B;IAC9D,uFAAuF;IACvF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAEpC,4FAA4F;IAC5F,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAC9B,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,eAAe,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC,CAC5F,CAAC;IAEF,OAAO;QACL,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;QAC/G,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,aAAa,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC;QAC7F,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC;QACpF,aAAa;QACb,gBAAgB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC;QAC3F,eAAe,EAAE,GAAG;aACjB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,CAAC;aACnE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;aACxD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACd,UAAU,EAAE,gBAAgB,CAAC,GAAG,CAAC;KAClC,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,KAAe,EAAE,KAAa,EAAE,KAAe;IAC9D,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,KAAK,EAAE,CAAC,CAAC;IAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAClB,CAAC;SAAM,CAAC;QACN,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,mEAAmE;AACnE,SAAS,cAAc,CAAC,MAAwB;IAC9C,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAChC,OAAO,CACL,0EAA0E;YAC1E,uGAAuG;YACvG,qEAAqE;YACrE,2DAA2D,CAC5D,CAAC;IACJ,CAAC;IACD,OAAO,CACL,gGAAgG;QAChG,yFAAyF;QACzF,qFAAqF,MAAM,CAAC,QAAQ,GAAG;QACvG,mDAAmD,CACpD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAmB;IAC7C,MAAM,MAAM,GAAG,CAAC,GAAiB,EAAU,EAAE,CAAC,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC;IACvF,MAAM,KAAK,GAAa,CAAC,OAAO,CAAC,CAAC;IAElC,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,KAAK,EAAE,qBAAqB,EAAE,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,KAAK,EAAE,gBAAgB,EAAE,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,KAAK,EAAE,oBAAoB,EAAE,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1E,OAAO,CAAC,KAAK,EAAE,kBAAkB,EAAE,MAAM,CAAC,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;IAEvE,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init-project.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/init-project.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"init-project.d.ts","sourceRoot":"","sources":["../../../src/app/use-cases/init-project.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,7 +49,11 @@ export async function initProject(deps, baseDir, input) {
|
|
|
49
49
|
const baseSetOutcomes = [];
|
|
50
50
|
if (deps.baseSet) {
|
|
51
51
|
if (deps.npx) {
|
|
52
|
-
baseSetOutcomes.push({
|
|
52
|
+
baseSetOutcomes.push({
|
|
53
|
+
file: '(base set)',
|
|
54
|
+
action: 'skipped',
|
|
55
|
+
reason: 'npx try-out does not write the base set (spec §7)',
|
|
56
|
+
});
|
|
53
57
|
}
|
|
54
58
|
else {
|
|
55
59
|
baseSetOutcomes.push(...(await deps.baseSet.render(baseDir, { models: input.models })));
|
|
@@ -139,28 +143,28 @@ function renderInitReportBody(deps, input, outcomes) {
|
|
|
139
143
|
const made = [];
|
|
140
144
|
for (const o of baseSetOutcomes) {
|
|
141
145
|
if (o.file !== 'AGENTS.md')
|
|
142
|
-
made.push(`-
|
|
146
|
+
made.push(`- base set: ${o.file} — ${o.action}${o.reason ? ` (${o.reason})` : ''}`);
|
|
143
147
|
}
|
|
144
148
|
for (const o of platformOutcomes) {
|
|
145
149
|
if (o.action !== 'removed' && o.action !== 'skipped')
|
|
146
|
-
made.push(`-
|
|
150
|
+
made.push(`- platform config ${o.platform}: ${o.action}`);
|
|
147
151
|
}
|
|
148
152
|
if (agentsMd)
|
|
149
153
|
made.push(`- AGENTS.md: ${agentsMd.action}`);
|
|
150
|
-
made.push(`-
|
|
151
|
-
made.push(`-
|
|
152
|
-
made.push(`- routing
|
|
154
|
+
made.push(`- platforms: ${selectedPlatforms.join(', ') || '—'} (source: ${platformSource})`);
|
|
155
|
+
made.push(`- model: primary ${input.models.primary} (source: ${modelSource}) — applied to all agents (worker = primary)`);
|
|
156
|
+
made.push(`- model routing object: ${routingAction}`);
|
|
153
157
|
const found = [];
|
|
154
158
|
const skippedFiles = baseSetOutcomes.filter((o) => o.action === 'skipped' && o.file !== '(base set)');
|
|
155
159
|
if (skippedFiles.length > 0)
|
|
156
|
-
found.push(`-
|
|
160
|
+
found.push(`- pre-existing files (skipped): ${skippedFiles.map((o) => o.file).join(', ')}`);
|
|
157
161
|
if (agentsMd && agentsMd.action !== 'created')
|
|
158
|
-
found.push(`- AGENTS.md
|
|
162
|
+
found.push(`- AGENTS.md already existed (${agentsMd.action})`);
|
|
159
163
|
const versions = [];
|
|
160
164
|
if (deps.wolfVersion)
|
|
161
165
|
versions.push(`wolf ${deps.wolfVersion}`);
|
|
162
166
|
versions.push(`schema v${CURRENT_SCHEMA_VERSION}`);
|
|
163
|
-
found.push(`-
|
|
167
|
+
found.push(`- versions: ${versions.join(', ')}`);
|
|
164
168
|
const needsFix = [];
|
|
165
169
|
for (const o of platformOutcomes) {
|
|
166
170
|
if (o.reason && o.action !== 'removed')
|
|
@@ -168,19 +172,19 @@ function renderInitReportBody(deps, input, outcomes) {
|
|
|
168
172
|
}
|
|
169
173
|
// §4.4 граничный случай: явный выбор без opencode — набор отрендерен, но MCP не подключён (осознанное состояние)
|
|
170
174
|
if (input.platformChoice !== undefined && !input.platformChoice.includes('opencode')) {
|
|
171
|
-
needsFix.push('- opencode
|
|
175
|
+
needsFix.push('- opencode not in the --platform list: Wolf agents are rendered into .opencode/, but mcp.wolf/default_agent/subagent_depth are not written; connect: wolf init --platform opencode,…');
|
|
172
176
|
}
|
|
173
177
|
const mcpWritten = platformOutcomes.some((o) => o.action === 'written' || o.action === 'replaced');
|
|
174
178
|
if (mcpWritten)
|
|
175
|
-
needsFix.push('-
|
|
179
|
+
needsFix.push('- connect MCP: restart the platform (opencode will pick up mcp.wolf, default_agent and subagent_depth)');
|
|
176
180
|
return [
|
|
177
|
-
'##
|
|
181
|
+
'## Done (made)',
|
|
178
182
|
...made,
|
|
179
183
|
'',
|
|
180
|
-
'##
|
|
184
|
+
'## Detected (found)',
|
|
181
185
|
...found,
|
|
182
186
|
'',
|
|
183
|
-
'##
|
|
187
|
+
'## Needs fixing (needs-fix)',
|
|
184
188
|
...needsFix,
|
|
185
189
|
].join('\n');
|
|
186
190
|
}
|
|
@@ -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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"}
|
|
@@ -11,7 +11,7 @@ export function resolveListType(requested, known, aliases) {
|
|
|
11
11
|
// алиас проверяем раньше known: 'document' формально в таксономии, но deprecated
|
|
12
12
|
const alias = aliases[requested];
|
|
13
13
|
if (alias) {
|
|
14
|
-
return { type: alias, warning:
|
|
14
|
+
return { type: alias, warning: `type '${requested}' is deprecated, use '${alias}'` };
|
|
15
15
|
}
|
|
16
16
|
if (known.includes(requested))
|
|
17
17
|
return { type: requested };
|
|
@@ -21,8 +21,8 @@ export function resolveListType(requested, known, aliases) {
|
|
|
21
21
|
.sort((a, b) => a.d - b.d || a.t.localeCompare(b.t))[0];
|
|
22
22
|
// ближайший не должен быть deprecated-алиасом: предлагаем его каноническое имя
|
|
23
23
|
const suggestion = nearest ? (aliases[nearest.t] ?? nearest.t) : undefined;
|
|
24
|
-
const hint = suggestion ? `
|
|
25
|
-
return { type: '', error:
|
|
24
|
+
const hint = suggestion ? ` closest: '${suggestion}';` : '';
|
|
25
|
+
return { type: '', error: `unknown type '${requested}';${hint} allowed: ${[...known].sort().join(', ')}` };
|
|
26
26
|
}
|
|
27
27
|
/** Levenshtein (двухрядный DP, без зависимостей) — только для подсказки «ближайший». */
|
|
28
28
|
function levenshtein(a, b) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-memory-objects.js","sourceRoot":"","sources":["../../../src/app/use-cases/list-memory-objects.ts"],"names":[],"mappings":"AASA,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAkB,EAClB,OAAkC;IAElC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC;AASD;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,SAAiB,EACjB,KAAwB,EACxB,OAAyC;IAEzC,iFAAiF;IACjF,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IACjC,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"list-memory-objects.js","sourceRoot":"","sources":["../../../src/app/use-cases/list-memory-objects.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,8 +23,8 @@ export async function upsertModelRouting(deps, models, createdBy) {
|
|
|
23
23
|
}
|
|
24
24
|
const { object } = await addMemoryObject(deps, {
|
|
25
25
|
type: 'rule',
|
|
26
|
-
title: 'Routing:
|
|
27
|
-
body:
|
|
26
|
+
title: 'Routing: agent models',
|
|
27
|
+
body: `Base-set agent models (onboarding v2, §4.5).\nprimary: ${models.primary}\nworker: ${models.worker}\n`,
|
|
28
28
|
createdBy,
|
|
29
29
|
tags: [...ROUTING_TAGS],
|
|
30
30
|
memoryClass: 'working',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-routing.js","sourceRoot":"","sources":["../../../src/app/use-cases/model-routing.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAU,CAAC;AAkBhE,4EAA4E;AAC5E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAkB;IACvD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3G,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9C,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,iBAAiB,CAAC,GAAiB;IACjD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAsB,EACtB,MAAoB,EACpB,SAAiB;IAEjB,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YACnF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE;QAC7C,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"model-routing.js","sourceRoot":"","sources":["../../../src/app/use-cases/model-routing.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAErE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,cAAc,EAAE,QAAQ,CAAU,CAAC;AAkBhE,4EAA4E;AAC5E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAkB;IACvD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3G,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9C,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,iBAAiB,CAAC,GAAiB;IACjD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAsB,EACtB,MAAoB,EACpB,SAAiB;IAEjB,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACpD,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC3C,IAAI,MAAM,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YACnF,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE;QAC7C,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,uBAAuB;QAC9B,IAAI,EAAE,0DAA0D,MAAM,CAAC,OAAO,aAAa,MAAM,CAAC,MAAM,IAAI;QAC5G,SAAS;QACT,IAAI,EAAE,CAAC,GAAG,YAAY,CAAC;QACvB,WAAW,EAAE,SAAS;QACtB,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;KAC5B,CAAC,CAAC;IACH,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,qBAAqB,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1D,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;IAC5E,CAAC;IACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;AAC9C,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { UserFacingError } from '../../domain/errors.js';
|
|
2
2
|
import { mechanicalAdviceFor } from '../../domain/mechanical-advice.js';
|
|
3
3
|
import { addMemoryObject } from './add-memory-object.js';
|
|
4
|
-
const GENERIC_ADVICE = '
|
|
4
|
+
const GENERIC_ADVICE = 'error class outside the table — formulate the rule from the error message manually';
|
|
5
5
|
/**
|
|
6
6
|
* Дефолтный генератор: без LLM, детерминированный (тот же вход → тот же draft).
|
|
7
7
|
* Разбор patternKey: `complaint:`/`delivery:` — поведенческий кластер (rule,
|
|
@@ -24,15 +24,15 @@ export function mechanicalDraftGenerator() {
|
|
|
24
24
|
return {
|
|
25
25
|
type: 'rule',
|
|
26
26
|
title,
|
|
27
|
-
body:
|
|
28
|
-
|
|
27
|
+
body: `Recurring ${kind === 'complaint' ? 'complaint' : 'delivery'} ${patternKey} ${count} times — ` +
|
|
28
|
+
`the behavior needs a rule; the draft text is prepared by an Analyzer (LLM) or a human\n${evidenceLine}`,
|
|
29
29
|
triggerKeywords: [about],
|
|
30
30
|
mechanical: false,
|
|
31
31
|
polarity,
|
|
32
32
|
constraint: null,
|
|
33
33
|
manifest: {
|
|
34
|
-
predicted_effect: '
|
|
35
|
-
regression_risks: ['
|
|
34
|
+
predicted_effect: 'the rule formalizes behavior from a recurring signal',
|
|
35
|
+
regression_risks: ['the rule text is not generated mechanically — the reviewer defines the content'],
|
|
36
36
|
blast_radius: 'low',
|
|
37
37
|
risk_level: 'low',
|
|
38
38
|
},
|
|
@@ -47,16 +47,16 @@ export function mechanicalDraftGenerator() {
|
|
|
47
47
|
return {
|
|
48
48
|
type: 'lesson',
|
|
49
49
|
title,
|
|
50
|
-
body:
|
|
51
|
-
`(
|
|
50
|
+
body: `ANTI-RULE: do not use ${toolName} — recurring error ${patternKey} ${count} times ` +
|
|
51
|
+
`(class ${errorClass}: ${advice})\n${evidenceLine}`,
|
|
52
52
|
triggerKeywords: [toolName, errorClass],
|
|
53
53
|
mechanical: true,
|
|
54
54
|
polarity,
|
|
55
55
|
constraint,
|
|
56
56
|
manifest: {
|
|
57
|
-
predicted_effect:
|
|
58
|
-
regression_risks: ['
|
|
59
|
-
blast_radius: 'high:
|
|
57
|
+
predicted_effect: `elimination of ${toolName} errors entirely`,
|
|
58
|
+
regression_risks: ['blocks legitimate tool uses too — the signal log does not see them'],
|
|
59
|
+
blast_radius: 'high: bans the tool entirely',
|
|
60
60
|
risk_level: 'medium',
|
|
61
61
|
},
|
|
62
62
|
};
|
|
@@ -64,15 +64,15 @@ export function mechanicalDraftGenerator() {
|
|
|
64
64
|
return {
|
|
65
65
|
type: 'lesson',
|
|
66
66
|
title,
|
|
67
|
-
body:
|
|
67
|
+
body: `Recurring error ${patternKey} ${count} times — rule: ${advice}\n${evidenceLine}`,
|
|
68
68
|
triggerKeywords: [toolName, errorClass],
|
|
69
69
|
mechanical: true,
|
|
70
70
|
polarity: 'positive',
|
|
71
71
|
constraint,
|
|
72
72
|
manifest: {
|
|
73
|
-
predicted_effect:
|
|
74
|
-
regression_risks: ['
|
|
75
|
-
blast_radius: 'low:
|
|
73
|
+
predicted_effect: `prevention of ${patternKey} recurrences`,
|
|
74
|
+
regression_risks: ['the advice may not cover new error classes of the tool'],
|
|
75
|
+
blast_radius: 'low: triggers only when the error class repeats',
|
|
76
76
|
risk_level: 'low',
|
|
77
77
|
},
|
|
78
78
|
};
|
|
@@ -90,7 +90,7 @@ export async function proposeDraft(deps, input) {
|
|
|
90
90
|
const pattern = input.patterns.find((p) => p.key === input.patternKey);
|
|
91
91
|
if (!pattern) {
|
|
92
92
|
const keys = input.patterns.map((p) => p.key).join(', ');
|
|
93
|
-
throw new UserFacingError(
|
|
93
|
+
throw new UserFacingError(`active pattern not found: ${input.patternKey}; active: ${keys || 'none'}`);
|
|
94
94
|
}
|
|
95
95
|
const polarity = input.polarity === 'negative' ? 'negative' : 'positive';
|
|
96
96
|
const generator = input.generator ?? mechanicalDraftGenerator();
|
|
@@ -105,7 +105,7 @@ export async function proposeDraft(deps, input) {
|
|
|
105
105
|
for (const type of ['lesson', 'rule']) {
|
|
106
106
|
const dup = (await deps.store.list({ type })).find((o) => o.pattern_key === input.patternKey && DRAFT_OPEN_STATUSES.includes(o.status));
|
|
107
107
|
if (dup) {
|
|
108
|
-
throw new UserFacingError(`draft
|
|
108
|
+
throw new UserFacingError(`a draft for the pattern already exists: ${dup.id} (${dup.status}) — close it (activate/transition) before a new propose`);
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
const result = await addMemoryObject(deps, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"propose-draft.js","sourceRoot":"","sources":["../../../src/app/use-cases/propose-draft.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAuCzD,MAAM,cAAc,GAAG,
|
|
1
|
+
{"version":3,"file":"propose-draft.js","sourceRoot":"","sources":["../../../src/app/use-cases/propose-draft.ts"],"names":[],"mappings":"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"}
|