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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mechanical-advice.d.ts","sourceRoot":"","sources":["../../src/domain/mechanical-advice.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,kFAAkF;AAClF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"mechanical-advice.d.ts","sourceRoot":"","sources":["../../src/domain/mechanical-advice.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,kFAAkF;AAClF,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAqB9D,CAAC;AAEF,gEAAgE;AAChE,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEvE"}
|
|
@@ -7,25 +7,25 @@
|
|
|
7
7
|
*/
|
|
8
8
|
/** id класса ошибки (DEFAULT_ERROR_CLASS_RULES + 'uncategorized') → императив. */
|
|
9
9
|
export const MECHANICAL_ADVICE = {
|
|
10
|
-
file_not_found: '
|
|
11
|
-
tool_not_found: '
|
|
12
|
-
dependency_missing: '
|
|
13
|
-
syntax_error: '
|
|
14
|
-
context_overflow: '
|
|
15
|
-
rate_limit: '
|
|
16
|
-
timeout: '
|
|
17
|
-
auth: '
|
|
18
|
-
network: '
|
|
19
|
-
invalid_input: '
|
|
20
|
-
conflict: '
|
|
21
|
-
busy: '
|
|
22
|
-
interrupted: '
|
|
23
|
-
disk_full: '
|
|
24
|
-
broken_pipe: '
|
|
25
|
-
oom: '
|
|
26
|
-
llm_error: '
|
|
27
|
-
unsupported: '
|
|
28
|
-
uncategorized: '
|
|
10
|
+
file_not_found: 'check the path exists before accessing it (existsSync/Glob), do not guess the path',
|
|
11
|
+
tool_not_found: 'verify the tool is available before calling it (which <tool> / <tool> --version)',
|
|
12
|
+
dependency_missing: 'check dependencies before running (npm ls / require check) and install them explicitly',
|
|
13
|
+
syntax_error: 'run the compiler/linter before executing and fix the syntax from the first error',
|
|
14
|
+
context_overflow: 'do not read files whole without a limit — slice reads (offset/limit) and compact the context',
|
|
15
|
+
rate_limit: 'wrap external calls with retry and backoff on 429/quota',
|
|
16
|
+
timeout: 'set an explicit timeout and handle it with retry and backoff, do not wait forever',
|
|
17
|
+
auth: 'check credentials/token availability before calling a protected API',
|
|
18
|
+
network: 'handle network failures with retry and backoff and verify endpoint reachability before work',
|
|
19
|
+
invalid_input: 'validate input with a schema before use and pass arguments in the command’s exact format',
|
|
20
|
+
conflict: 'check the target object exists before creating and make the operation idempotent',
|
|
21
|
+
busy: 'do not touch a locked resource — wait for the lock to release or work around it',
|
|
22
|
+
interrupted: 'handle SIGINT/SIGTERM correctly and make long operations interruptible',
|
|
23
|
+
disk_full: 'check free space and clean temporary files before large writes',
|
|
24
|
+
broken_pipe: 'check the output consumer is alive and handle EPIPE without crashing the process',
|
|
25
|
+
oom: 'do not load large data into memory whole — stream and process in chunks',
|
|
26
|
+
llm_error: 'wrap LLM calls with retry on 5xx/overloaded',
|
|
27
|
+
unsupported: 'do not use an unsupported operation — find a supported equivalent in the docs',
|
|
28
|
+
uncategorized: 'extract the exact cause from the error message and register a class in the project’s error_class_taxonomy',
|
|
29
29
|
};
|
|
30
30
|
/** Совет по error_class_id; null — класс неизвестен таблице. */
|
|
31
31
|
export function mechanicalAdviceFor(errorClassId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mechanical-advice.js","sourceRoot":"","sources":["../../src/domain/mechanical-advice.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,kFAAkF;AAClF,MAAM,CAAC,MAAM,iBAAiB,GAAqC;IACjE,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"mechanical-advice.js","sourceRoot":"","sources":["../../src/domain/mechanical-advice.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,kFAAkF;AAClF,MAAM,CAAC,MAAM,iBAAiB,GAAqC;IACjE,cAAc,EAAE,oFAAoF;IACpG,cAAc,EAAE,kFAAkF;IAClG,kBAAkB,EAAE,wFAAwF;IAC5G,YAAY,EAAE,kFAAkF;IAChG,gBAAgB,EAAE,8FAA8F;IAChH,UAAU,EAAE,yDAAyD;IACrE,OAAO,EAAE,mFAAmF;IAC5F,IAAI,EAAE,qEAAqE;IAC3E,OAAO,EAAE,6FAA6F;IACtG,aAAa,EAAE,0FAA0F;IACzG,QAAQ,EAAE,kFAAkF;IAC5F,IAAI,EAAE,iFAAiF;IACvF,WAAW,EAAE,wEAAwE;IACrF,SAAS,EAAE,gEAAgE;IAC3E,WAAW,EAAE,kFAAkF;IAC/F,GAAG,EAAE,yEAAyE;IAC9E,SAAS,EAAE,6CAA6C;IACxD,WAAW,EAAE,+EAA+E;IAC5F,aAAa,EACX,2GAA2G;CAC9G,CAAC;AAEF,gEAAgE;AAChE,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,OAAO,iBAAiB,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;AACjD,CAAC"}
|
|
@@ -17,16 +17,16 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import { UserFacingError } from '../errors.js';
|
|
19
19
|
export const READ_ONLY_ZONES = [
|
|
20
|
-
{ path: '.wolf/events.jsonl', reason: '
|
|
21
|
-
{ path: '.wolf/relations.jsonl', reason: '
|
|
22
|
-
{ path: '.wolf/memory/events.jsonl', reason: '
|
|
23
|
-
{ path: '.wolf/memory/relations.jsonl', reason: '
|
|
24
|
-
{ path: '.wolf/metrics/session-metrics.jsonl', reason: '
|
|
25
|
-
{ path: '.wolf/metrics/patterns.jsonl', reason: '
|
|
26
|
-
{ path: 'src/domain/gates/', reason: '
|
|
27
|
-
{ path: 'src/domain/policies/', reason: '
|
|
28
|
-
{ path: '.opencode/', reason: '
|
|
29
|
-
{ path: 'AGENTS.md', reason: '
|
|
20
|
+
{ path: '.wolf/events.jsonl', reason: 'loop audit log (spec §5: read-only zones)' },
|
|
21
|
+
{ path: '.wolf/relations.jsonl', reason: 'loop relation graph (spec §5)' },
|
|
22
|
+
{ path: '.wolf/memory/events.jsonl', reason: 'loop audit log, actual layout path (spec §5)' },
|
|
23
|
+
{ path: '.wolf/memory/relations.jsonl', reason: 'loop relation graph, actual layout path (spec §5)' },
|
|
24
|
+
{ path: '.wolf/metrics/session-metrics.jsonl', reason: 'loop signal log (spec §5)' },
|
|
25
|
+
{ path: '.wolf/metrics/patterns.jsonl', reason: 'loop pattern journal (spec §5)' },
|
|
26
|
+
{ path: 'src/domain/gates/', reason: 'gate code — the loop does not change its own gates (spec §5)' },
|
|
27
|
+
{ path: 'src/domain/policies/', reason: 'validator/policy code (spec §5)' },
|
|
28
|
+
{ path: '.opencode/', reason: 'platform skeleton/frames (spec §13)' },
|
|
29
|
+
{ path: 'AGENTS.md', reason: 'AGENTS.md frame (spec §13)' },
|
|
30
30
|
];
|
|
31
31
|
/** Сигнальные логи: append разрешён (наблюдение, не адаптация — §3, §9). */
|
|
32
32
|
const SIGNAL_APPEND_ALLOWED = new Set([
|
|
@@ -64,9 +64,9 @@ export function assertLearnWriteAllowed(relPath, op) {
|
|
|
64
64
|
if (op === 'append-signal' && SIGNAL_APPEND_ALLOWED.has(normalized))
|
|
65
65
|
return;
|
|
66
66
|
if (op === 'append-signal') {
|
|
67
|
-
throw new UserFacingError(`read-only
|
|
68
|
-
|
|
67
|
+
throw new UserFacingError(`loop read-only zone: ${relPath} (${zone.reason}); append-signal is allowed only ` +
|
|
68
|
+
`for the signal logs (.wolf/metrics/session-metrics.jsonl, .wolf/metrics/patterns.jsonl)`);
|
|
69
69
|
}
|
|
70
|
-
throw new UserFacingError(`read-only
|
|
70
|
+
throw new UserFacingError(`loop read-only zone: ${relPath} (${zone.reason})`);
|
|
71
71
|
}
|
|
72
72
|
//# sourceMappingURL=read-only-zones.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"read-only-zones.js","sourceRoot":"","sources":["../../../src/domain/policies/read-only-zones.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAS/C,MAAM,CAAC,MAAM,eAAe,GAA4B;IACtD,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"read-only-zones.js","sourceRoot":"","sources":["../../../src/domain/policies/read-only-zones.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAS/C,MAAM,CAAC,MAAM,eAAe,GAA4B;IACtD,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,EAAE,2CAA2C,EAAE;IACnF,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,+BAA+B,EAAE;IAC1E,EAAE,IAAI,EAAE,2BAA2B,EAAE,MAAM,EAAE,8CAA8C,EAAE;IAC7F,EAAE,IAAI,EAAE,8BAA8B,EAAE,MAAM,EAAE,mDAAmD,EAAE;IACrG,EAAE,IAAI,EAAE,qCAAqC,EAAE,MAAM,EAAE,2BAA2B,EAAE;IACpF,EAAE,IAAI,EAAE,8BAA8B,EAAE,MAAM,EAAE,gCAAgC,EAAE;IAClF,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,8DAA8D,EAAE;IACrG,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,iCAAiC,EAAE;IAC3E,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,qCAAqC,EAAE;IACrE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,4BAA4B,EAAE;CAC5D,CAAC;AAEF,4EAA4E;AAC5E,MAAM,qBAAqB,GAAwB,IAAI,GAAG,CAAC;IACzD,qCAAqC;IACrC,8BAA8B;CAC/B,CAAC,CAAC;AAEH,qFAAqF;AACrF,SAAS,gBAAgB,CAAC,OAAe;IACvC,OAAO,OAAO;SACX,KAAK,CAAC,QAAQ,CAAC;SACf,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,GAAG,CAAC;SAC1C,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,UAAkB;IACnC,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,UAAU,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;gBAAE,OAAO,IAAI,CAAC;QAC7F,CAAC;aAAM,IAAI,UAAU,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;YACpC,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe,EAAE,EAAoD;IAC3G,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;IACnC,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO;IAC1B,IAAI,EAAE,KAAK,eAAe,IAAI,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC;QAAE,OAAO;IAC5E,IAAI,EAAE,KAAK,eAAe,EAAE,CAAC;QAC3B,MAAM,IAAI,eAAe,CACvB,wBAAwB,OAAO,KAAK,IAAI,CAAC,MAAM,mCAAmC;YAChF,yFAAyF,CAC5F,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,eAAe,CAAC,wBAAwB,OAAO,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AAChF,CAAC"}
|
|
@@ -21,29 +21,29 @@ export function routeReviewDepth(traits) {
|
|
|
21
21
|
let review = false;
|
|
22
22
|
if (traits.touchesReadOnlyZone) {
|
|
23
23
|
review = true;
|
|
24
|
-
reasons.push('read-only
|
|
24
|
+
reasons.push('read-only zone (gates/logs/skeleton): changes only through a human (§5, §15)');
|
|
25
25
|
}
|
|
26
26
|
if (traits.security) {
|
|
27
27
|
review = true;
|
|
28
|
-
reasons.push('
|
|
28
|
+
reasons.push('security: trust boundaries require council review');
|
|
29
29
|
}
|
|
30
30
|
if (traits.blastRadius !== undefined && traits.blastRadius >= BLAST_RADIUS_REVIEW) {
|
|
31
31
|
review = true;
|
|
32
|
-
reasons.push(`blast radius ${traits.blastRadius} ≥ ${BLAST_RADIUS_REVIEW} —
|
|
32
|
+
reasons.push(`blast radius ${traits.blastRadius} ≥ ${BLAST_RADIUS_REVIEW} — high radius (§16)`);
|
|
33
33
|
}
|
|
34
34
|
if ((traits.files ?? 0) > REVIEW_FILES_THRESHOLD || (traits.lines ?? 0) > REVIEW_LINES_THRESHOLD) {
|
|
35
35
|
review = true;
|
|
36
|
-
reasons.push(
|
|
36
|
+
reasons.push(`volume: ${traits.files ?? 0} files / ${traits.lines ?? 0} lines — above the ${REVIEW_FILES_THRESHOLD}/${REVIEW_LINES_THRESHOLD} threshold`);
|
|
37
37
|
}
|
|
38
38
|
if (traits.taskType === 'experiment' && traits.hasDeterministicMetric === false) {
|
|
39
39
|
review = true;
|
|
40
|
-
reasons.push('
|
|
40
|
+
reasons.push('experiment without a deterministic metric — GEPA scoring not applicable, human gate only (§3)');
|
|
41
41
|
}
|
|
42
42
|
if (!review && traits.blastRadius !== undefined && traits.blastRadius >= BLAST_RADIUS_ATTENTION) {
|
|
43
|
-
reasons.push(`blast radius ${traits.blastRadius}
|
|
43
|
+
reasons.push(`blast radius ${traits.blastRadius} in the attention zone (≥${BLAST_RADIUS_ATTENTION}) — the reviewer checks the radius`);
|
|
44
44
|
}
|
|
45
45
|
if (reasons.length === 0)
|
|
46
|
-
reasons.push('
|
|
46
|
+
reasons.push('no risk traits — a flat scheme is sufficient');
|
|
47
47
|
return { depth: review ? 'review-council' : 'flat', reasons, decisionBy: 'human' };
|
|
48
48
|
}
|
|
49
49
|
//# sourceMappingURL=review-depth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review-depth.js","sourceRoot":"","sources":["../../src/domain/review-depth.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA0BH,+DAA+D;AAC/D,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C;;2EAE2E;AAC3E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACxC,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAE1C,MAAM,UAAU,gBAAgB,CAAC,MAAkB;IACjD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC/B,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"review-depth.js","sourceRoot":"","sources":["../../src/domain/review-depth.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA0BH,+DAA+D;AAC/D,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,CAAC;AACvC,6EAA6E;AAC7E,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAC1C;;2EAE2E;AAC3E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC;AACxC,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAC;AAE1C,MAAM,UAAU,gBAAgB,CAAC,MAAkB;IACjD,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAC/B,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,IAAI,mBAAmB,EAAE,CAAC;QAClF,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,gBAAgB,MAAM,CAAC,WAAW,MAAM,mBAAmB,sBAAsB,CAAC,CAAC;IAClG,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,sBAAsB,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,sBAAsB,EAAE,CAAC;QACjG,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CACV,WAAW,MAAM,CAAC,KAAK,IAAI,CAAC,YAAY,MAAM,CAAC,KAAK,IAAI,CAAC,sBAAsB,sBAAsB,IAAI,sBAAsB,YAAY,CAC5I,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,YAAY,IAAI,MAAM,CAAC,sBAAsB,KAAK,KAAK,EAAE,CAAC;QAChF,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,+FAA+F,CAAC,CAAC;IAChH,CAAC;IAED,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,MAAM,CAAC,WAAW,IAAI,sBAAsB,EAAE,CAAC;QAChG,OAAO,CAAC,IAAI,CACV,gBAAgB,MAAM,CAAC,WAAW,4BAA4B,sBAAsB,oCAAoC,CACzH,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;IAEvF,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACrF,CAAC"}
|
|
@@ -42,7 +42,7 @@ export function analyzeEconomy(entries, minSample = 3) {
|
|
|
42
42
|
if (marked.length < minSample || all.length < minSample) {
|
|
43
43
|
return {
|
|
44
44
|
sufficient: false,
|
|
45
|
-
reason:
|
|
45
|
+
reason: `not enough data (tool runs: ${marked.length}, total: ${all.length}, need ≥ ${minSample} in each group)`,
|
|
46
46
|
toolRuns: marked.length,
|
|
47
47
|
totalRuns: all.length,
|
|
48
48
|
medianTool: null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-economy.js","sourceRoot":"","sources":["../../src/domain/tool-economy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAyBH,sEAAsE;AACtE,MAAM,UAAU,WAAW,CAAC,IAAY;IACtC,MAAM,OAAO,GAAkB,EAAE,CAAC;IAClC,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,IAAI,KAAK,EAAE;YAAE,SAAS;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,MAAqB,CAAC,CAAC;QACzF,CAAC;QAAC,MAAM,CAAC;YACP,4BAA4B;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,MAAM,CAAC,MAAgB;IACrC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAE,GAAG,MAAM,CAAC,GAAG,CAAE,CAAC,GAAG,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,OAAsB,EAAE,SAAS,GAAG,CAAC;IAClE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjH,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE9D,IAAI,MAAM,CAAC,MAAM,GAAG,SAAS,IAAI,GAAG,CAAC,MAAM,GAAG,SAAS,EAAE,CAAC;QACxD,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"tool-economy.js","sourceRoot":"","sources":["../../src/domain/tool-economy.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.1
|
|
3
|
+
"version": "2.2.1",
|
|
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",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"pressure-test": "npm run build && node dist/bootstrap/cli.js learn gate",
|
|
39
39
|
"bench:search": "npm run build && node scripts/bench-search.mjs",
|
|
40
40
|
"bench:tokens": "node --disable-warning=ExperimentalWarning scripts/bench-tokens.mjs",
|
|
41
|
-
"check": "npm run format:check && npm run lint && npm run build && npm run test:run",
|
|
41
|
+
"check": "node scripts/check-english-surface.mjs && npm run format:check && npm run lint && npm run build && npm run test:run",
|
|
42
42
|
"docs:dev": "vitepress dev docs/site",
|
|
43
43
|
"docs:build": "vitepress build docs/site",
|
|
44
44
|
"docs:preview": "vitepress preview docs/site"
|