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.
Files changed (83) hide show
  1. package/README.md +1 -0
  2. package/README.ru.md +3 -0
  3. package/dist/adapters/cli/cli-entry.d.ts.map +1 -1
  4. package/dist/adapters/cli/cli-entry.js +3 -1
  5. package/dist/adapters/cli/cli-entry.js.map +1 -1
  6. package/dist/adapters/cli/commands/memory-effectiveness.js +10 -10
  7. package/dist/adapters/cli/commands/memory-effectiveness.js.map +1 -1
  8. package/dist/adapters/cli/commands/memory-init.js +8 -8
  9. package/dist/adapters/cli/commands/memory-init.js.map +1 -1
  10. package/dist/adapters/cli/commands/memory-learn.js +42 -42
  11. package/dist/adapters/cli/commands/memory-learn.js.map +1 -1
  12. package/dist/adapters/cli/commands/memory-migrate.js +1 -1
  13. package/dist/adapters/cli/commands/memory-migrate.js.map +1 -1
  14. package/dist/adapters/cli/commands/memory-scaffold.js +1 -1
  15. package/dist/adapters/cli/commands/memory-scaffold.js.map +1 -1
  16. package/dist/adapters/cli/commands/memory-scan.js +1 -1
  17. package/dist/adapters/cli/commands/memory-scan.js.map +1 -1
  18. package/dist/adapters/cli/commands/memory-sync.d.ts.map +1 -1
  19. package/dist/adapters/cli/commands/memory-sync.js +5 -5
  20. package/dist/adapters/cli/commands/memory-sync.js.map +1 -1
  21. package/dist/adapters/cli/commands/memory-tool.js +6 -6
  22. package/dist/adapters/cli/commands/memory-tool.js.map +1 -1
  23. package/dist/adapters/cli/commands/memory-upgrade.d.ts +3 -0
  24. package/dist/adapters/cli/commands/memory-upgrade.d.ts.map +1 -0
  25. package/dist/adapters/cli/commands/memory-upgrade.js +104 -0
  26. package/dist/adapters/cli/commands/memory-upgrade.js.map +1 -0
  27. package/dist/adapters/cli/commands/memory-validate.js +3 -3
  28. package/dist/adapters/cli/commands/memory-validate.js.map +1 -1
  29. package/dist/adapters/fs/config-file.js +1 -1
  30. package/dist/adapters/fs/config-file.js.map +1 -1
  31. package/dist/adapters/fs/doc-id-migration.js +1 -1
  32. package/dist/adapters/fs/doc-id-migration.js.map +1 -1
  33. package/dist/adapters/platforms/opencode-adapter.js +2 -2
  34. package/dist/adapters/platforms/opencode-adapter.js.map +1 -1
  35. package/dist/adapters/render/opencode/opencode-renderer.js +5 -5
  36. package/dist/adapters/render/opencode/opencode-renderer.js.map +1 -1
  37. package/dist/app/use-cases/activate-draft.js +8 -8
  38. package/dist/app/use-cases/activate-draft.js.map +1 -1
  39. package/dist/app/use-cases/bootstrap-project.d.ts +1 -1
  40. package/dist/app/use-cases/bootstrap-project.d.ts.map +1 -1
  41. package/dist/app/use-cases/bootstrap-project.js +16 -16
  42. package/dist/app/use-cases/bootstrap-project.js.map +1 -1
  43. package/dist/app/use-cases/generate-insights.js +1 -1
  44. package/dist/app/use-cases/generate-recap.js +8 -8
  45. package/dist/app/use-cases/generate-recap.js.map +1 -1
  46. package/dist/app/use-cases/init-project.d.ts.map +1 -1
  47. package/dist/app/use-cases/init-project.js +18 -14
  48. package/dist/app/use-cases/init-project.js.map +1 -1
  49. package/dist/app/use-cases/list-memory-objects.js +3 -3
  50. package/dist/app/use-cases/list-memory-objects.js.map +1 -1
  51. package/dist/app/use-cases/model-routing.js +2 -2
  52. package/dist/app/use-cases/model-routing.js.map +1 -1
  53. package/dist/app/use-cases/propose-draft.js +16 -16
  54. package/dist/app/use-cases/propose-draft.js.map +1 -1
  55. package/dist/app/use-cases/scaffold-agent.js +12 -12
  56. package/dist/app/use-cases/scaffold-agent.js.map +1 -1
  57. package/dist/app/use-cases/seed-base-playbooks.js +1 -1
  58. package/dist/app/use-cases/seed-base-playbooks.js.map +1 -1
  59. package/dist/app/use-cases/template-evolve.js +7 -7
  60. package/dist/app/use-cases/template-evolve.js.map +1 -1
  61. package/dist/app/use-cases/tool-librarian.d.ts.map +1 -1
  62. package/dist/app/use-cases/tool-librarian.js +13 -13
  63. package/dist/app/use-cases/tool-librarian.js.map +1 -1
  64. package/dist/app/use-cases/tool-stats.js +1 -1
  65. package/dist/app/use-cases/tool-stats.js.map +1 -1
  66. package/dist/app/use-cases/upgrade.d.ts +38 -0
  67. package/dist/app/use-cases/upgrade.d.ts.map +1 -0
  68. package/dist/app/use-cases/upgrade.js +48 -0
  69. package/dist/app/use-cases/upgrade.js.map +1 -0
  70. package/dist/app/use-cases/validate-draft.js +7 -7
  71. package/dist/app/use-cases/validate-draft.js.map +1 -1
  72. package/dist/domain/gates/stop-gate.js +6 -6
  73. package/dist/domain/gates/stop-gate.js.map +1 -1
  74. package/dist/domain/mechanical-advice.d.ts.map +1 -1
  75. package/dist/domain/mechanical-advice.js +19 -19
  76. package/dist/domain/mechanical-advice.js.map +1 -1
  77. package/dist/domain/policies/read-only-zones.js +13 -13
  78. package/dist/domain/policies/read-only-zones.js.map +1 -1
  79. package/dist/domain/review-depth.js +7 -7
  80. package/dist/domain/review-depth.js.map +1 -1
  81. package/dist/domain/tool-economy.js +1 -1
  82. package/dist/domain/tool-economy.js.map +1 -1
  83. 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,CAoB9D,CAAC;AAEF,gEAAgE;AAChE,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEvE"}
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: 'проверяй существование пути перед доступом (existsSync/Glob), не угадывай путь',
11
- tool_not_found: 'перед вызовом тула проверяй его наличие (which <tool> / <tool> --version)',
12
- dependency_missing: 'проверяй наличие зависимостей до запуска (npm ls / проверка require) и ставь их явно',
13
- syntax_error: 'прогоняй компилятор/lint до выполнения и чини синтаксис по первой ошибке',
14
- context_overflow: 'не читай файлы целиком без лимита — режь чтение (offset/limit) и сжимай контекст',
15
- rate_limit: 'обёртывай внешние вызовы ретраем с backoff при 429/quota',
16
- timeout: 'задавай явный timeout и обрабатывай его ретраем с backoff, не жди бесконечно',
17
- auth: 'проверяй доступность кредов/токена до вызова защищённого API',
18
- network: 'обрабатывай сетевые сбои ретраем с backoff и проверяй достижимость эндпоинта до работы',
19
- invalid_input: 'валидируй вход схемой до использования и передавай аргументы в точном формате команды',
20
- conflict: 'проверяй существование целевого объекта перед созданием и делай операцию идемпотентной',
21
- busy: 'не трогай заблокированный ресурс — дождись освобождения блокировки или обойди её',
22
- interrupted: 'обрабатывай SIGINT/SIGTERM корректно и делай длительные операции прерываемыми',
23
- disk_full: 'проверяй свободное место и чисти временные файлы перед крупными записями',
24
- broken_pipe: 'проверяй живость потребителя вывода и обрабатывай EPIPE без падения процесса',
25
- oom: 'не загружай большие данные целиком в память — стрими и обрабатывай частями',
26
- llm_error: 'обёртывай LLM-вызовы ретраем при 5xx/overloaded',
27
- unsupported: 'не используй неподдерживаемую операцию — найди поддерживаемый аналог в документации',
28
- uncategorized: 'извлеки точную причину из сообщения ошибки и заведи класс в error_class_taxonomy проекта',
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,gFAAgF;IAChG,cAAc,EAAE,2EAA2E;IAC3F,kBAAkB,EAAE,sFAAsF;IAC1G,YAAY,EAAE,0EAA0E;IACxF,gBAAgB,EAAE,kFAAkF;IACpG,UAAU,EAAE,0DAA0D;IACtE,OAAO,EAAE,8EAA8E;IACvF,IAAI,EAAE,8DAA8D;IACpE,OAAO,EAAE,wFAAwF;IACjG,aAAa,EAAE,uFAAuF;IACtG,QAAQ,EAAE,wFAAwF;IAClG,IAAI,EAAE,kFAAkF;IACxF,WAAW,EAAE,+EAA+E;IAC5F,SAAS,EAAE,0EAA0E;IACrF,WAAW,EAAE,8EAA8E;IAC3F,GAAG,EAAE,4EAA4E;IACjF,SAAS,EAAE,iDAAiD;IAC5D,WAAW,EAAE,qFAAqF;IAClG,aAAa,EAAE,0FAA0F;CAC1G,CAAC;AAEF,gEAAgE;AAChE,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,OAAO,iBAAiB,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC;AACjD,CAAC"}
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: 'аудит-лог контура (спека §5: read-only зоны)' },
21
- { path: '.wolf/relations.jsonl', reason: 'граф связей контура (спека §5)' },
22
- { path: '.wolf/memory/events.jsonl', reason: 'аудит-лог контура, фактический путь layout (спека §5)' },
23
- { path: '.wolf/memory/relations.jsonl', reason: 'граф связей контура, фактический путь layout (спека §5)' },
24
- { path: '.wolf/metrics/session-metrics.jsonl', reason: 'сигнальный лог контура (спека §5)' },
25
- { path: '.wolf/metrics/patterns.jsonl', reason: 'журнал паттернов контура (спека §5)' },
26
- { path: 'src/domain/gates/', reason: 'код гейтов — контур не меняет свои гейты (спека §5)' },
27
- { path: 'src/domain/policies/', reason: 'код валидаторов/политик (спека §5)' },
28
- { path: '.opencode/', reason: 'скелет/рамки платформы (спека §13)' },
29
- { path: 'AGENTS.md', reason: 'рамка AGENTS.md (спека §13)' },
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 зона контура: ${relPath} (${zone.reason}); append-сигнал разрешён только ` +
68
- `сигнальным логам (.wolf/metrics/session-metrics.jsonl, .wolf/metrics/patterns.jsonl)`);
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 зона контура: ${relPath} (${zone.reason})`);
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,8CAA8C,EAAE;IACtF,EAAE,IAAI,EAAE,uBAAuB,EAAE,MAAM,EAAE,gCAAgC,EAAE;IAC3E,EAAE,IAAI,EAAE,2BAA2B,EAAE,MAAM,EAAE,uDAAuD,EAAE;IACtG,EAAE,IAAI,EAAE,8BAA8B,EAAE,MAAM,EAAE,yDAAyD,EAAE;IAC3G,EAAE,IAAI,EAAE,qCAAqC,EAAE,MAAM,EAAE,mCAAmC,EAAE;IAC5F,EAAE,IAAI,EAAE,8BAA8B,EAAE,MAAM,EAAE,qCAAqC,EAAE;IACvF,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,qDAAqD,EAAE;IAC5F,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,EAAE,oCAAoC,EAAE;IAC9E,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,oCAAoC,EAAE;IACpE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,6BAA6B,EAAE;CAC7D,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,2BAA2B,OAAO,KAAK,IAAI,CAAC,MAAM,mCAAmC;YACnF,sFAAsF,CACzF,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,eAAe,CAAC,2BAA2B,OAAO,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACnF,CAAC"}
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 зона (гейты/логи/скелет): изменения только через человека (§5, §15)');
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('безопасность: доверенные границы требуют council-ревью');
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} — высокий радиус (§16)`);
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(`объём: ${traits.files ?? 0} файлов / ${traits.lines ?? 0} строк — больше порога ${REVIEW_FILES_THRESHOLD}/${REVIEW_LINES_THRESHOLD}`);
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('эксперимент без детерминированной метрики — GEPA-скоринг неприменим, только гейт человека (§3)');
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} в зоне внимания (≥${BLAST_RADIUS_ATTENTION}) — ревьюеру проверить радиус`);
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,+EAA+E,CAAC,CAAC;IAChG,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpB,MAAM,GAAG,IAAI,CAAC;QACd,OAAO,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;IACzE,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,yBAAyB,CAAC,CAAC;IACrG,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,UAAU,MAAM,CAAC,KAAK,IAAI,CAAC,aAAa,MAAM,CAAC,KAAK,IAAI,CAAC,0BAA0B,sBAAsB,IAAI,sBAAsB,EAAE,CACtI,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,gGAAgG,CAAC,CAAC;IACjH,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,sBAAsB,sBAAsB,+BAA+B,CAC9G,CAAC;IACJ,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IAEzF,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACrF,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: `недостаточно данных (tool-задач: ${marked.length}, всего: ${all.length}, нужно ≥ ${minSample} в каждой группе)`,
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":"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"}
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.0",
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"