mister-wolf 2.31.0 → 2.32.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/dist/adapters/cli/commands/face.d.ts.map +1 -1
- package/dist/adapters/cli/commands/face.js +4 -2
- package/dist/adapters/cli/commands/face.js.map +1 -1
- package/dist/adapters/cli/commands/memory-add.d.ts +2 -0
- package/dist/adapters/cli/commands/memory-add.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-add.js +2 -0
- package/dist/adapters/cli/commands/memory-add.js.map +1 -1
- package/dist/adapters/cli/commands/memory-complain.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-complain.js +3 -0
- package/dist/adapters/cli/commands/memory-complain.js.map +1 -1
- package/dist/adapters/cli/commands/memory-scaffold.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-scaffold.js +6 -1
- package/dist/adapters/cli/commands/memory-scaffold.js.map +1 -1
- package/dist/adapters/cli/commands/memory-upgrade.d.ts.map +1 -1
- package/dist/adapters/cli/commands/memory-upgrade.js +2 -41
- package/dist/adapters/cli/commands/memory-upgrade.js.map +1 -1
- package/dist/adapters/cli/report-renderer.d.ts +7 -0
- package/dist/adapters/cli/report-renderer.d.ts.map +1 -1
- package/dist/adapters/cli/report-renderer.js +17 -3
- package/dist/adapters/cli/report-renderer.js.map +1 -1
- package/dist/adapters/cli/type-command-generator.d.ts.map +1 -1
- package/dist/adapters/cli/type-command-generator.js +2 -0
- package/dist/adapters/cli/type-command-generator.js.map +1 -1
- package/dist/adapters/fs/document-id.d.ts.map +1 -1
- package/dist/adapters/fs/document-id.js +42 -2
- package/dist/adapters/fs/document-id.js.map +1 -1
- package/dist/adapters/fs/hash-id-generator.d.ts +8 -3
- package/dist/adapters/fs/hash-id-generator.d.ts.map +1 -1
- package/dist/adapters/fs/hash-id-generator.js +16 -50
- package/dist/adapters/fs/hash-id-generator.js.map +1 -1
- package/dist/adapters/fs/markdown-memory-store.d.ts.map +1 -1
- package/dist/adapters/fs/markdown-memory-store.js +9 -9
- package/dist/adapters/fs/markdown-memory-store.js.map +1 -1
- package/dist/adapters/mcp/mcp-schemas.d.ts +1 -0
- package/dist/adapters/mcp/mcp-schemas.d.ts.map +1 -1
- package/dist/adapters/mcp/mcp-schemas.js +3 -0
- package/dist/adapters/mcp/mcp-schemas.js.map +1 -1
- package/dist/adapters/mcp/mcp-tools.d.ts.map +1 -1
- package/dist/adapters/mcp/mcp-tools.js +2 -1
- package/dist/adapters/mcp/mcp-tools.js.map +1 -1
- package/dist/app/use-cases/add-memory-object.d.ts +8 -0
- package/dist/app/use-cases/add-memory-object.d.ts.map +1 -1
- package/dist/app/use-cases/add-memory-object.js +28 -7
- package/dist/app/use-cases/add-memory-object.js.map +1 -1
- package/dist/app/use-cases/create-face-version.d.ts.map +1 -1
- package/dist/app/use-cases/create-face-version.js +28 -6
- package/dist/app/use-cases/create-face-version.js.map +1 -1
- package/dist/app/use-cases/create-memory-repair-request.d.ts +1 -0
- package/dist/app/use-cases/create-memory-repair-request.d.ts.map +1 -1
- package/dist/app/use-cases/create-memory-repair-request.js +1 -1
- package/dist/app/use-cases/create-memory-repair-request.js.map +1 -1
- package/dist/app/use-cases/create-mutation-record.d.ts +2 -0
- package/dist/app/use-cases/create-mutation-record.d.ts.map +1 -1
- package/dist/app/use-cases/create-mutation-record.js +1 -1
- package/dist/app/use-cases/create-mutation-record.js.map +1 -1
- package/dist/app/use-cases/decisions.d.ts +2 -0
- package/dist/app/use-cases/decisions.d.ts.map +1 -1
- package/dist/app/use-cases/decisions.js +11 -11
- package/dist/app/use-cases/decisions.js.map +1 -1
- package/dist/app/use-cases/face-operation.d.ts.map +1 -1
- package/dist/app/use-cases/face-operation.js +17 -1
- package/dist/app/use-cases/face-operation.js.map +1 -1
- package/dist/app/use-cases/lint-artifacts.d.ts.map +1 -1
- package/dist/app/use-cases/lint-artifacts.js +41 -0
- package/dist/app/use-cases/lint-artifacts.js.map +1 -1
- package/dist/app/use-cases/record-council.d.ts.map +1 -1
- package/dist/app/use-cases/record-council.js +2 -0
- package/dist/app/use-cases/record-council.js.map +1 -1
- package/dist/app/use-cases/save-proposal.d.ts.map +1 -1
- package/dist/app/use-cases/save-proposal.js +2 -0
- package/dist/app/use-cases/save-proposal.js.map +1 -1
- package/dist/app/use-cases/scaffold-agent.d.ts.map +1 -1
- package/dist/app/use-cases/scaffold-agent.js +9 -0
- package/dist/app/use-cases/scaffold-agent.js.map +1 -1
- package/dist/app/use-cases/scaffold-artifact.d.ts +12 -0
- package/dist/app/use-cases/scaffold-artifact.d.ts.map +1 -1
- package/dist/app/use-cases/scaffold-artifact.js +55 -8
- package/dist/app/use-cases/scaffold-artifact.js.map +1 -1
- package/dist/app/use-cases/seed-base-playbooks.d.ts.map +1 -1
- package/dist/app/use-cases/seed-base-playbooks.js +3 -14
- package/dist/app/use-cases/seed-base-playbooks.js.map +1 -1
- package/dist/app/use-cases/summarize-session.d.ts.map +1 -1
- package/dist/app/use-cases/summarize-session.js +2 -0
- package/dist/app/use-cases/summarize-session.js.map +1 -1
- package/dist/app/use-cases/supersede-memory-object.d.ts.map +1 -1
- package/dist/app/use-cases/supersede-memory-object.js +4 -2
- package/dist/app/use-cases/supersede-memory-object.js.map +1 -1
- package/dist/app/use-cases/thinking.d.ts +4 -2
- package/dist/app/use-cases/thinking.d.ts.map +1 -1
- package/dist/app/use-cases/thinking.js +2 -2
- package/dist/app/use-cases/thinking.js.map +1 -1
- package/dist/app/use-cases/upgrade-projects.d.ts +3 -0
- package/dist/app/use-cases/upgrade-projects.d.ts.map +1 -1
- package/dist/app/use-cases/upgrade-projects.js +45 -31
- package/dist/app/use-cases/upgrade-projects.js.map +1 -1
- package/dist/domain/face-body.d.ts +40 -0
- package/dist/domain/face-body.d.ts.map +1 -0
- package/dist/domain/face-body.js +62 -0
- package/dist/domain/face-body.js.map +1 -0
- package/dist/domain/memory-slug.d.ts +17 -0
- package/dist/domain/memory-slug.d.ts.map +1 -0
- package/dist/domain/memory-slug.js +39 -0
- package/dist/domain/memory-slug.js.map +1 -0
- package/dist/ports/id-generator.port.d.ts +4 -1
- package/dist/ports/id-generator.port.d.ts.map +1 -1
- package/package.json +1 -1
- package/templates/base/AGENTS.md +4 -2
- package/templates/base/skills/using-skills/references/project-rules.md +13 -6
- package/templates/base/skills/wolf-brainstorm/SKILL.md +4 -4
- package/templates/base/skills/wolf-feedback/references/complaints.md +1 -1
- package/templates/base/skills/wolf-plan/SKILL.md +1 -1
- package/templates/opencode/plugins/wolf-session-start.js +1 -1
- package/update-map.json +18 -18
|
@@ -22,6 +22,8 @@ const LOCK_ID = 'wolf-upgrade';
|
|
|
22
22
|
const SECTION_TITLE = 'wolf upgrade — projects';
|
|
23
23
|
const msg = (err) => (err instanceof Error ? err.message : String(err));
|
|
24
24
|
const line = (marker, text, dim = false) => ({ kind: 'line', marker, text, dim });
|
|
25
|
+
/** Деталь проекта: без маркера статуса (2.32.0 Q6). */
|
|
26
|
+
const detail = (text) => ({ kind: 'detail', text });
|
|
25
27
|
/** Катастрофы прохода (lock занят, реестр/карта нечитаемы) — результат, не
|
|
26
28
|
* throw: exit 1 + error-строка; проекты не тронуты (контракт lead). */
|
|
27
29
|
function guardFailure(message) {
|
|
@@ -214,7 +216,7 @@ async function runPass(deps, opts) {
|
|
|
214
216
|
const decisionsLeft = outcomes.reduce((n, o) => n + (o.report?.verify.summary.needsDecision ?? 0), 0);
|
|
215
217
|
const hint = opts.tty === true && opts.yes !== true && decisionsLeft > 0
|
|
216
218
|
? [
|
|
217
|
-
|
|
219
|
+
detail(`hint: ${decisionsLeft} ${decisionsLeft === 1 ? 'file needs' : 'files need'} a decision — run wolf upgrade --review`),
|
|
218
220
|
]
|
|
219
221
|
: [];
|
|
220
222
|
const jsonProjects = outcomes.map((o) => ({
|
|
@@ -347,8 +349,8 @@ function plansSection(plans, registrySize, duplicates, map) {
|
|
|
347
349
|
if (plan.status === null) {
|
|
348
350
|
children.push(line('info', `plan: ${plan.name} · ${plan.path}`));
|
|
349
351
|
const floor = plan.stampFloor !== null && plan.stampFloor !== plan.composition ? ` (stamps from ${plan.stampFloor})` : '';
|
|
350
|
-
children.push(
|
|
351
|
-
children.push(
|
|
352
|
+
children.push(detail(`composition ${plan.composition ?? 'unknown'}${floor} → ${map.version}`));
|
|
353
|
+
children.push(detail(`map: ${cats.new} new · ${cats.changed} changed · ${cats.deprecated} deprecated · ${cats.removed} removed · seed×${seedFaces}`));
|
|
352
354
|
}
|
|
353
355
|
else {
|
|
354
356
|
const reason = plan.status === 'worktree'
|
|
@@ -360,7 +362,7 @@ function plansSection(plans, registrySize, duplicates, map) {
|
|
|
360
362
|
}
|
|
361
363
|
}
|
|
362
364
|
for (const dup of duplicates) {
|
|
363
|
-
children.push(
|
|
365
|
+
children.push(detail(`duplicate registry entry collapsed: ${dup.path}`));
|
|
364
366
|
}
|
|
365
367
|
return { kind: 'section', title: 'Plans', children };
|
|
366
368
|
}
|
|
@@ -393,19 +395,23 @@ function displayName(i, kinds) {
|
|
|
393
395
|
const kind = kinds.get(i.target);
|
|
394
396
|
return kind ? projectPath({ path: i.target, kind, category: 'new' }) : i.target;
|
|
395
397
|
}
|
|
398
|
+
/** Порядок групп решений в отчёте (2.32.0, Q6): конфликт → мутант → расхождение.
|
|
399
|
+
* Раньше все коды печатались одной строкой, а `diverged` не назывался вовсе. */
|
|
400
|
+
const DECISION_ORDER = ['conflict', 'skipped-mutated', 'diverged'];
|
|
396
401
|
export function verifyNameLines(verify, map) {
|
|
397
402
|
const out = [];
|
|
398
403
|
const kinds = kindIndex(map);
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
404
|
+
for (const code of DECISION_ORDER) {
|
|
405
|
+
const names = verify.items.filter((i) => i.needsDecision && i.code === code).map((i) => displayName(i, kinds));
|
|
406
|
+
if (names.length > 0)
|
|
407
|
+
out.push(detail(`needs decision (${code}): ${names.join(', ')}`));
|
|
402
408
|
}
|
|
403
409
|
const protectedCount = verify.items.filter((i) => i.code === 'protected').length;
|
|
404
410
|
if (protectedCount > 0)
|
|
405
|
-
out.push(
|
|
411
|
+
out.push(detail(`${protectedCount} protected (intentional)`));
|
|
406
412
|
const kept = verify.items.filter((i) => i.code === 'kept').map((i) => displayName(i, kinds));
|
|
407
413
|
if (kept.length > 0)
|
|
408
|
-
out.push(
|
|
414
|
+
out.push(detail(`${kept.length} kept (local): ${kept.join(', ')}`));
|
|
409
415
|
return out;
|
|
410
416
|
}
|
|
411
417
|
/** Дайджест бэкапов проекта (§4.12): файл и путь копии; take — «took base»,
|
|
@@ -414,10 +420,37 @@ export function backupDigestLines(report) {
|
|
|
414
420
|
const out = [];
|
|
415
421
|
for (const b of report.backups ?? []) {
|
|
416
422
|
const took = report.sync.outcomes.some((o) => o.backup === b.backup);
|
|
417
|
-
out.push(
|
|
423
|
+
out.push(detail(`${took ? 'took base for' : 'removed'} ${b.file} (local saved: ${b.backup})`));
|
|
418
424
|
}
|
|
419
425
|
return out;
|
|
420
426
|
}
|
|
427
|
+
/** Детали шага одного проекта — единственная реализация для паркового прохода и
|
|
428
|
+
* `--here` (2.32.0: строки-подробности без маркера статуса, Q6). */
|
|
429
|
+
export function stepDetailLines(report, map) {
|
|
430
|
+
const out = [];
|
|
431
|
+
const bs = baseSetSummary(report);
|
|
432
|
+
if (bs)
|
|
433
|
+
out.push(detail(`base-set: ${bs}`));
|
|
434
|
+
if (report.seed.length > 0) {
|
|
435
|
+
const faces = report.seed.map((s) => `${s.file.replace(/-playbook\.md$/, '')} ${s.kind ?? s.action}`).join(', ');
|
|
436
|
+
out.push(detail(`faces: ${faces}`));
|
|
437
|
+
}
|
|
438
|
+
if (report.schema.status !== 'ok') {
|
|
439
|
+
// schema: остаётся статусом (Q6) — это состояние шага, а не подробность.
|
|
440
|
+
out.push(line('warn', `schema: ${report.schema.status}${report.schema.error ? ` — ${report.schema.error}` : ''}`, true));
|
|
441
|
+
}
|
|
442
|
+
const v = report.verify.summary;
|
|
443
|
+
const ok = report.verify.items.length - v.needsDecision - v.errors;
|
|
444
|
+
const parts = [`${ok}/${report.verify.items.length} ok`];
|
|
445
|
+
if (v.needsDecision > 0)
|
|
446
|
+
parts.push(`${v.needsDecision} needs decision`);
|
|
447
|
+
if (v.errors > 0)
|
|
448
|
+
parts.push(`${v.errors} errors`);
|
|
449
|
+
out.push(detail(`verify: ${parts.join(' · ')}`));
|
|
450
|
+
out.push(...verifyNameLines(report.verify, map));
|
|
451
|
+
out.push(...backupDigestLines(report)); // §4.12: файл + путь бэкапа
|
|
452
|
+
return out;
|
|
453
|
+
}
|
|
421
454
|
/** Секция проектов: строка-статус на проект + детали шага (REQ-05, палитра T3). */
|
|
422
455
|
function projectsSection(outcomes, map) {
|
|
423
456
|
const children = [];
|
|
@@ -427,26 +460,7 @@ function projectsSection(outcomes, map) {
|
|
|
427
460
|
const r = o.report;
|
|
428
461
|
if (!r)
|
|
429
462
|
continue;
|
|
430
|
-
|
|
431
|
-
if (bs)
|
|
432
|
-
children.push(line('info', `base-set: ${bs}`, true));
|
|
433
|
-
if (r.seed.length > 0) {
|
|
434
|
-
const faces = r.seed.map((s) => `${s.file.replace(/-playbook\.md$/, '')} ${s.kind ?? s.action}`).join(', ');
|
|
435
|
-
children.push(line('info', `faces: ${faces}`, true));
|
|
436
|
-
}
|
|
437
|
-
if (r.schema.status !== 'ok') {
|
|
438
|
-
children.push(line('warn', `schema: ${r.schema.status}${r.schema.error ? ` — ${r.schema.error}` : ''}`, true));
|
|
439
|
-
}
|
|
440
|
-
const v = r.verify.summary;
|
|
441
|
-
const ok = r.verify.items.length - v.needsDecision - v.errors;
|
|
442
|
-
const parts = [`${ok}/${r.verify.items.length} ok`];
|
|
443
|
-
if (v.needsDecision > 0)
|
|
444
|
-
parts.push(`${v.needsDecision} needs decision`);
|
|
445
|
-
if (v.errors > 0)
|
|
446
|
-
parts.push(`${v.errors} errors`);
|
|
447
|
-
children.push(line(v.errors > 0 ? 'error' : v.needsDecision > 0 ? 'warn' : 'info', `verify: ${parts.join(' · ')}`, true));
|
|
448
|
-
children.push(...verifyNameLines(r.verify, map));
|
|
449
|
-
children.push(...backupDigestLines(r));
|
|
463
|
+
children.push(...stepDetailLines(r, map));
|
|
450
464
|
}
|
|
451
465
|
return { kind: 'section', title: 'Projects', children };
|
|
452
466
|
}
|
|
@@ -484,7 +498,7 @@ async function scanLines(deps, registered) {
|
|
|
484
498
|
line('warn', `found ${found.found} ${noun} with wolf memory outside the registry; running any wolf command in a project registers it (self-healing)`, true),
|
|
485
499
|
];
|
|
486
500
|
for (const path of found.top)
|
|
487
|
-
lines.push(
|
|
501
|
+
lines.push(detail(path));
|
|
488
502
|
return lines;
|
|
489
503
|
}
|
|
490
504
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade-projects.js","sourceRoot":"","sources":["../../../src/app/use-cases/upgrade-projects.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"upgrade-projects.js","sourceRoot":"","sources":["../../../src/app/use-cases/upgrade-projects.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Единственная граница «frontmatter → тело» для документов лиц и их шаблонов.
|
|
3
|
+
*
|
|
4
|
+
* 2.32.1: до этого границу разбирали ДВА разных regex. Посев и read-only предикат
|
|
5
|
+
* diverged оставляли в теле ведущий перевод строки после frontmatter (допускали
|
|
6
|
+
* ноль или один `\n`), а хранилище памяти съедало и терминатор, и следующий
|
|
7
|
+
* пустой перевод строки. Документы, различающиеся ТОЛЬКО этим переводом,
|
|
8
|
+
* помечались как diverged. Теперь граница одна: закрывающий `---`, его
|
|
9
|
+
* терминатор и не более одного следующего пустого перевода строки — часть
|
|
10
|
+
* разделителя, а не тела.
|
|
11
|
+
*
|
|
12
|
+
* Дополнительно (2.32.1): уже посеянные старым regex лица хранят ОДИН лишний
|
|
13
|
+
* ведущий перевод строки в теле. Для сравнения ведущие пустые строки срезаются
|
|
14
|
+
* (`bodiesEqual`): это шум границы frontmatter, а не содержание. Внутренние
|
|
15
|
+
* пробелы и переводы строк не нормализуются — содержательное расхождение
|
|
16
|
+
* обязано ловиться.
|
|
17
|
+
*/
|
|
18
|
+
export interface FrontmatterDocument {
|
|
19
|
+
/** Текст между строками-разделителями `---` (без самих разделителей). */
|
|
20
|
+
frontmatter: string;
|
|
21
|
+
/** Тело после разделителя (терминатор и один пустой перевод строки съедены). */
|
|
22
|
+
body: string;
|
|
23
|
+
}
|
|
24
|
+
/** Разбор границы; null — документ не начинается с frontmatter (вызывающий
|
|
25
|
+
* сам решает, как трактовать такой документ). */
|
|
26
|
+
export declare function splitFrontmatterDocument(raw: string): FrontmatterDocument | null;
|
|
27
|
+
/** Тело документа; документ без frontmatter возвращается как есть. */
|
|
28
|
+
export declare function documentBody(raw: string): string;
|
|
29
|
+
/** Плоские пары `ключ: значение` из текста frontmatter (без YAML-разбора:
|
|
30
|
+
* только однострочные скаляры, прецедент parseFrontmatter посева). */
|
|
31
|
+
export declare function frontmatterScalars(frontmatter: string): Record<string, string>;
|
|
32
|
+
/** Сырой документ → простые пары frontmatter + каноничное тело. */
|
|
33
|
+
export declare function parseFaceDocument(raw: string): {
|
|
34
|
+
meta: Record<string, string>;
|
|
35
|
+
body: string;
|
|
36
|
+
};
|
|
37
|
+
/** Равенство тел лиц с точностью до ведущих пустых строк; содержательные
|
|
38
|
+
* различия (фразы, секции, внутренние переводы строк) сохраняются. */
|
|
39
|
+
export declare function bodiesEqual(a: string, b: string): boolean;
|
|
40
|
+
//# sourceMappingURL=face-body.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"face-body.d.ts","sourceRoot":"","sources":["../../src/domain/face-body.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,WAAW,mBAAmB;IAClC,yEAAyE;IACzE,WAAW,EAAE,MAAM,CAAC;IACpB,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;CACd;AAQD;kDACkD;AAClD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,mBAAmB,GAAG,IAAI,CAGhF;AAED,sEAAsE;AACtE,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhD;AAED;uEACuE;AACvE,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAO9E;AAED,mEAAmE;AACnE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAI7F;AAQD;uEACuE;AACvE,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAEzD"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
// src/domain/face-body.ts
|
|
2
|
+
/**
|
|
3
|
+
* Единственная граница «frontmatter → тело» для документов лиц и их шаблонов.
|
|
4
|
+
*
|
|
5
|
+
* 2.32.1: до этого границу разбирали ДВА разных regex. Посев и read-only предикат
|
|
6
|
+
* diverged оставляли в теле ведущий перевод строки после frontmatter (допускали
|
|
7
|
+
* ноль или один `\n`), а хранилище памяти съедало и терминатор, и следующий
|
|
8
|
+
* пустой перевод строки. Документы, различающиеся ТОЛЬКО этим переводом,
|
|
9
|
+
* помечались как diverged. Теперь граница одна: закрывающий `---`, его
|
|
10
|
+
* терминатор и не более одного следующего пустого перевода строки — часть
|
|
11
|
+
* разделителя, а не тела.
|
|
12
|
+
*
|
|
13
|
+
* Дополнительно (2.32.1): уже посеянные старым regex лица хранят ОДИН лишний
|
|
14
|
+
* ведущий перевод строки в теле. Для сравнения ведущие пустые строки срезаются
|
|
15
|
+
* (`bodiesEqual`): это шум границы frontmatter, а не содержание. Внутренние
|
|
16
|
+
* пробелы и переводы строк не нормализуются — содержательное расхождение
|
|
17
|
+
* обязано ловиться.
|
|
18
|
+
*/
|
|
19
|
+
/** Семантика прежнего FRONTMATTER_RE хранилища, плюс терпимость к CRLF.
|
|
20
|
+
* Терминатор после закрывающего `---` необязателен (документ может кончаться
|
|
21
|
+
* прямо на `---Body`); если он есть, вместе с ним съедается не более одного
|
|
22
|
+
* следующего пустого перевода строки. */
|
|
23
|
+
const FRONTMATTER_RE = /^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n(?:\r?\n)?)?([\s\S]*)$/;
|
|
24
|
+
/** Разбор границы; null — документ не начинается с frontmatter (вызывающий
|
|
25
|
+
* сам решает, как трактовать такой документ). */
|
|
26
|
+
export function splitFrontmatterDocument(raw) {
|
|
27
|
+
const m = raw.match(FRONTMATTER_RE);
|
|
28
|
+
return m ? { frontmatter: m[1], body: m[2] } : null;
|
|
29
|
+
}
|
|
30
|
+
/** Тело документа; документ без frontmatter возвращается как есть. */
|
|
31
|
+
export function documentBody(raw) {
|
|
32
|
+
return splitFrontmatterDocument(raw)?.body ?? raw;
|
|
33
|
+
}
|
|
34
|
+
/** Плоские пары `ключ: значение` из текста frontmatter (без YAML-разбора:
|
|
35
|
+
* только однострочные скаляры, прецедент parseFrontmatter посева). */
|
|
36
|
+
export function frontmatterScalars(frontmatter) {
|
|
37
|
+
const meta = {};
|
|
38
|
+
for (const line of frontmatter.split('\n')) {
|
|
39
|
+
const kv = line.match(/^([\w-]+):\s*(.+)$/);
|
|
40
|
+
if (kv)
|
|
41
|
+
meta[kv[1]] = kv[2].trim();
|
|
42
|
+
}
|
|
43
|
+
return meta;
|
|
44
|
+
}
|
|
45
|
+
/** Сырой документ → простые пары frontmatter + каноничное тело. */
|
|
46
|
+
export function parseFaceDocument(raw) {
|
|
47
|
+
const doc = splitFrontmatterDocument(raw);
|
|
48
|
+
if (!doc)
|
|
49
|
+
return { meta: {}, body: raw };
|
|
50
|
+
return { meta: frontmatterScalars(doc.frontmatter), body: doc.body };
|
|
51
|
+
}
|
|
52
|
+
/** Форма тела для сравнения: срезаны ведущие пустые строки (шум границы
|
|
53
|
+
* frontmatter, в т.ч. единственный лишний `\n` старого посева). */
|
|
54
|
+
function comparableBody(body) {
|
|
55
|
+
return body.replace(/^(?:[ \t]*\r?\n)+/, '');
|
|
56
|
+
}
|
|
57
|
+
/** Равенство тел лиц с точностью до ведущих пустых строк; содержательные
|
|
58
|
+
* различия (фразы, секции, внутренние переводы строк) сохраняются. */
|
|
59
|
+
export function bodiesEqual(a, b) {
|
|
60
|
+
return comparableBody(a) === comparableBody(b);
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=face-body.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"face-body.js","sourceRoot":"","sources":["../../src/domain/face-body.ts"],"names":[],"mappings":"AAAA,0BAA0B;AAC1B;;;;;;;;;;;;;;;;GAgBG;AASH;;;0CAG0C;AAC1C,MAAM,cAAc,GAAG,2DAA2D,CAAC;AAEnF;kDACkD;AAClD,MAAM,UAAU,wBAAwB,CAAC,GAAW;IAClD,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACpC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,wBAAwB,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,GAAG,CAAC;AACpD,CAAC;AAED;uEACuE;AACvE,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACpD,MAAM,IAAI,GAA2B,EAAE,CAAC;IACxC,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QAC5C,IAAI,EAAE;YAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,mEAAmE;AACnE,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,MAAM,GAAG,GAAG,wBAAwB,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IACzC,OAAO,EAAE,IAAI,EAAE,kBAAkB,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;AACvE,CAAC;AAED;oEACoE;AACpE,SAAS,cAAc,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;AAC/C,CAAC;AAED;uEACuE;AACvE,MAAM,UAAU,WAAW,CAAC,CAAS,EAAE,CAAS;IAC9C,OAAO,cAAc,CAAC,CAAC,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* English slug записи памяти (2.32.0, Q1): slug даёт агент-создатель, CLI только
|
|
3
|
+
* нормализует регистр/разделители и валидирует формат. Перевода и транслитерации
|
|
4
|
+
* здесь нет и не будет: неподходящий вход даёт fallback в генераторе ID, а не
|
|
5
|
+
* «тихий» русский slug.
|
|
6
|
+
*/
|
|
7
|
+
export declare const MEMORY_SLUG_MAX = 40;
|
|
8
|
+
/** Формат slug: нижний регистр, a-z0-9 и дефисы между словами. */
|
|
9
|
+
export declare const MEMORY_SLUG_RE: RegExp;
|
|
10
|
+
/**
|
|
11
|
+
* Нормализованный slug или `null`, если вход не является английским slug.
|
|
12
|
+
* Нормализация: trim → нижний регистр → пробелы/подчёркивания → дефис →
|
|
13
|
+
* сжатие и обрезка дефисов → cap(MEMORY_SLUG_MAX). Кириллица, точки и прочие
|
|
14
|
+
* символы не вычищаются — такой вход честно невалиден.
|
|
15
|
+
*/
|
|
16
|
+
export declare function normalizeMemorySlug(raw: unknown): string | null;
|
|
17
|
+
//# sourceMappingURL=memory-slug.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-slug.d.ts","sourceRoot":"","sources":["../../src/domain/memory-slug.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,kEAAkE;AAClE,eAAO,MAAM,cAAc,QAA+B,CAAC;AAW3D;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAW/D"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* English slug записи памяти (2.32.0, Q1): slug даёт агент-создатель, CLI только
|
|
3
|
+
* нормализует регистр/разделители и валидирует формат. Перевода и транслитерации
|
|
4
|
+
* здесь нет и не будет: неподходящий вход даёт fallback в генераторе ID, а не
|
|
5
|
+
* «тихий» русский slug.
|
|
6
|
+
*/
|
|
7
|
+
export const MEMORY_SLUG_MAX = 40;
|
|
8
|
+
/** Формат slug: нижний регистр, a-z0-9 и дефисы между словами. */
|
|
9
|
+
export const MEMORY_SLUG_RE = /^[a-z0-9]+(?:-[a-z0-9]+)*$/;
|
|
10
|
+
/** Обрезка по границе слова: не длиннее max, без висящего дефиса. */
|
|
11
|
+
function cap(slug, max) {
|
|
12
|
+
if (slug.length <= max)
|
|
13
|
+
return slug;
|
|
14
|
+
const head = slug.slice(0, max);
|
|
15
|
+
const cut = head.lastIndexOf('-');
|
|
16
|
+
const capped = cut > 0 ? head.slice(0, cut) : head;
|
|
17
|
+
return capped.replace(/-+$/, '');
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Нормализованный slug или `null`, если вход не является английским slug.
|
|
21
|
+
* Нормализация: trim → нижний регистр → пробелы/подчёркивания → дефис →
|
|
22
|
+
* сжатие и обрезка дефисов → cap(MEMORY_SLUG_MAX). Кириллица, точки и прочие
|
|
23
|
+
* символы не вычищаются — такой вход честно невалиден.
|
|
24
|
+
*/
|
|
25
|
+
export function normalizeMemorySlug(raw) {
|
|
26
|
+
if (typeof raw !== 'string')
|
|
27
|
+
return null;
|
|
28
|
+
const prepared = raw
|
|
29
|
+
.trim()
|
|
30
|
+
.toLowerCase()
|
|
31
|
+
.replace(/[\s_]+/g, '-')
|
|
32
|
+
.replace(/-+/g, '-')
|
|
33
|
+
.replace(/^-+|-+$/g, '');
|
|
34
|
+
if (prepared === '')
|
|
35
|
+
return null;
|
|
36
|
+
const capped = cap(prepared, MEMORY_SLUG_MAX);
|
|
37
|
+
return MEMORY_SLUG_RE.test(capped) ? capped : null;
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=memory-slug.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-slug.js","sourceRoot":"","sources":["../../src/domain/memory-slug.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAElC,kEAAkE;AAClE,MAAM,CAAC,MAAM,cAAc,GAAG,4BAA4B,CAAC;AAE3D,qEAAqE;AACrE,SAAS,GAAG,CAAC,IAAY,EAAE,GAAW;IACpC,IAAI,IAAI,CAAC,MAAM,IAAI,GAAG;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAClC,MAAM,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,MAAM,QAAQ,GAAG,GAAG;SACjB,IAAI,EAAE;SACN,WAAW,EAAE;SACb,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;SACvB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC3B,IAAI,QAAQ,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IACjC,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAC9C,OAAO,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;AACrD,CAAC"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
export interface IdGenerator {
|
|
2
|
-
|
|
2
|
+
/** ID записи памяти: `mem_<date>_<slug>_<hash6>` либо `mem_<date>_<hash6>`,
|
|
3
|
+
* если slug не передан/невалиден (2.32.0, Q1/Q2). `fingerprint` участвует
|
|
4
|
+
* только в fallback-хеше: слов в id он не добавляет. */
|
|
5
|
+
generateMemoryId(date: Date, slug?: string, fingerprint?: string): string;
|
|
3
6
|
generateEventId(date: Date): string;
|
|
4
7
|
}
|
|
5
8
|
//# sourceMappingURL=id-generator.port.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"id-generator.port.d.ts","sourceRoot":"","sources":["../../src/ports/id-generator.port.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"id-generator.port.d.ts","sourceRoot":"","sources":["../../src/ports/id-generator.port.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B;;6DAEyD;IACzD,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1E,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,CAAC;CACrC"}
|
package/package.json
CHANGED
package/templates/base/AGENTS.md
CHANGED
|
@@ -33,8 +33,10 @@ L1 передаёт действующие относящиеся к подза
|
|
|
33
33
|
|
|
34
34
|
## Документация этапа
|
|
35
35
|
|
|
36
|
-
В FULL docs/dev/<date>-<feat>/ —
|
|
37
|
-
|
|
36
|
+
В FULL docs/dev/<date>-<feat>/ — пакет цели в объявленном порядке:
|
|
37
|
+
pre-requirements.md, requirements.md, change-request.md, design.md, test-plan.md, plan.md
|
|
38
|
+
(состав и поток — using-skills/references/project-rules.md) и единичные обоснованные
|
|
39
|
+
L1 документы для следующих этапов. Частные отчёты,
|
|
38
40
|
черновики, checkpoint, логи и скрипты туда не клади, в том числе в подпапки.
|
|
39
41
|
L2 возвращает результат сообщением; L0/L1 сохраняет нужное между сессиями
|
|
40
42
|
как адресные рабочие note/context/history Wolf, не lesson/complaint. Запись документа — лишь в точный файл/раздел
|
|
@@ -4,15 +4,22 @@
|
|
|
4
4
|
|
|
5
5
|
## Состав документации этапа
|
|
6
6
|
|
|
7
|
-
В FULL папка docs/dev/<date>-<feat>/ содержит
|
|
8
|
-
|
|
7
|
+
В FULL папка docs/dev/<date>-<feat>/ содержит пакет цели в объявленном порядке:
|
|
8
|
+
pre-requirements.md → requirements.md → change-request.md → design.md →
|
|
9
|
+
test-plan.md → plan.md. Это документация для следующих этапов, не рабочий каталог.
|
|
10
|
+
pre-requirements.md — первый документ: намерение, рамка, принятые решения и открытые
|
|
11
|
+
вопросы до формальных требований; он не утверждает требования. change-request.md —
|
|
12
|
+
запросы на изменение пакета, append-only, номер CR-<YYYY-MM-DD>-NN локален для пакета.
|
|
13
|
+
Это отдельный документ, а не раздел «Журнал изменений (CR)» в requirements.md: журнал
|
|
14
|
+
описывает изменения самих требований. Поток изменения: замечание → change-request →
|
|
15
|
+
pre-requirements/requirements → design → test-plan → plan.
|
|
9
16
|
Выводы подзадач L1 встраивает в нужный документ: решения — в ADR design.md,
|
|
10
17
|
состояние/проверки — в plan.md/test-plan.md; значимую память ведёт штатным каналом.
|
|
11
18
|
L2 по умолчанию возвращает RESULT/findings/review сообщением. Право создать файл
|
|
12
19
|
должно содержать точный путь и назначение; разрешения на каталог недостаточно.
|
|
13
20
|
Явное задание обновить основной документ допустимо в назначенном разделе.
|
|
14
|
-
|
|
15
|
-
|
|
21
|
+
Итог разговора по wolf-brainstorm — pre-requirements.md в папке той же цели: это
|
|
22
|
+
штатный первый документ пакета, но сам по себе он не запускает пакет и не означает
|
|
16
23
|
утверждённые требования.
|
|
17
24
|
|
|
18
25
|
Дополнения — единичные самостоятельные документы с пользой после этапа, например
|
|
@@ -36,9 +43,9 @@ L2 по умолчанию возвращает RESULT/findings/review сооб
|
|
|
36
43
|
|
|
37
44
|
При запросе на реальную разработку или изменение продукта L0 сверяет существующие треды и цель. Продолжение той же цели сохраняет тред. Для новой самостоятельной цели без подходящего треда создай его поддержанным механизмом памяти, например wolf thread add с title и goal; запомни фактический ID. Не создавай тред на каждое уточнение, приветствие или вопрос о текущем состоянии.
|
|
38
45
|
|
|
39
|
-
Передай L1 ID треда, цель, известные ограничения и назначенную методику. L1 фиксирует FULL/LITE/FIX до выбора документного профиля. До согласованного перехода к формализации не создавай requirements.md и downstream-шаблоны. По выбору пользователя допустим
|
|
46
|
+
Передай L1 ID треда, цель, известные ограничения и назначенную методику. L1 фиксирует FULL/LITE/FIX до выбора документного профиля. До согласованного перехода к формализации не создавай requirements.md и downstream-шаблоны. По выбору пользователя допустим итог pre-requirements.md в папке той же цели по wolf-brainstorm; он не означает утверждение требований.
|
|
40
47
|
|
|
41
|
-
В FULL исполнитель использует wolf scaffold artifact <slug>;
|
|
48
|
+
В FULL исполнитель использует wolf scaffold artifact <slug>; команда создаёт пакет в docs/dev/<date>-<slug>/ в объявленном порядке (pre-requirements → requirements → change-request → design → test-plan → plan). Если папка уже есть (например, из brainstorm), команда делает top-up: добавляет только недостающие документы и не перезаписывает существующие. FIX — профиль --fix (requirements.md + plan.md), когда он подходит задаче; LITE — достаточный бриф. Ссылки на документы и принятые решения связывай с тредом существующим поддержанным способом, не придумывай поля схемы. Если инструменты памяти недоступны, обозначь ограничение и передай запись исполнителю; разговор можно продолжить, нельзя утверждать, что тред создан.
|
|
42
49
|
|
|
43
50
|
|
|
44
51
|
## Масштаб и профиль проекта
|
|
@@ -110,8 +110,8 @@ L0 использует метаданные. Содержательное из
|
|
|
110
110
|
Для разговора о будущей разработке по выбору сохранить итог поручай L1 `pre-requirements.md` в
|
|
111
111
|
`docs/dev/<date>-<slug>/` рядом с будущими документами той же цели: намерение/польза,
|
|
112
112
|
границы, принятые решения с основаниями, варианты, предложения и открытые вопросы.
|
|
113
|
-
Это
|
|
114
|
-
владельца и права записи/claim; для одного итога не
|
|
113
|
+
Это первый документ пакета, не временный отчёт и не новый тип памяти. Сверь папку,
|
|
114
|
+
владельца и права записи/claim; для одного итога не создавай остальные документы пакета.
|
|
115
115
|
Отдельный CLI-профиль/авторегистрация этим скиллом не поставляются. После
|
|
116
116
|
утверждения требований актуальное поведение задаёт requirements.md; здесь
|
|
117
117
|
остаётся замысел. Рабочие следы — адресные note/context/history по using-skills,
|
|
@@ -137,9 +137,9 @@ L0 использует метаданные. Содержательное из
|
|
|
137
137
|
разработки. Для обсуждения, анализа и иных поручений они не являются обязательным
|
|
138
138
|
продолжением разговора. Контракт совета применяй, только когда совет проводится.
|
|
139
139
|
|
|
140
|
-
До записи полного requirements L1 определяет режим и назначает ответственного за папку. Для новой папки в FULL выполни wolf scaffold artifact <slug>. Команда создаёт requirements.md
|
|
140
|
+
До записи полного requirements L1 определяет режим и назначает ответственного за папку. Для новой папки в FULL выполни wolf scaffold artifact <slug>. Команда создаёт пакет в порядке pre-requirements.md → requirements.md → change-request.md → design.md → test-plan.md → plan.md; пустые downstream-шаблоны не являются утверждёнными документами. Для подтверждённого FIX подходит wolf scaffold artifact <slug> --fix (requirements.md + plan.md); LITE не требует полного пакета.
|
|
141
141
|
|
|
142
|
-
Проверь доступность команды перед выбором fallback. Если папка уже существует, проверь её связь с той же целью и продолжи её; не
|
|
142
|
+
Проверь доступность команды перед выбором fallback. Если папка уже существует, проверь её связь с той же целью и продолжи её; не создавай дубликат. Для папки с pre-requirements.md вызывай wolf scaffold artifact: команда делает top-up — добавляет только недостающие документы и никогда не перезаписывает итог дискуссии и прежние файлы. Если команда недоступна, подготовь только недостающие документы по точному шаблону установленной версии, сохранив прежние файлы. Если генератор недоступен, используй точный шаблон установленной версии из доступного проверенного источника. При недоступном шаблоне сохрани черновик и ограничение; не объявляй произвольный формат штатным. L0 поручает запись документов исполнителю.
|
|
143
143
|
|
|
144
144
|
Для FULL сохрани frontmatter slug/title/status/created и семь разделов:
|
|
145
145
|
|
|
@@ -7,7 +7,7 @@ description: "Применять перед декомпозицией утве
|
|
|
7
7
|
|
|
8
8
|
## Обязательный вход
|
|
9
9
|
|
|
10
|
-
До планирования проверь тред, режим, актуальные требования, дизайн и основание их утверждения. L0 поручает планирование L1; L2 может готовить назначенную часть, но не владеть общим планом. В FULL заполняй plan.md существующей папки: задачи чекбоксами с task_id, ссылками на design и baseline. В LITE/FIX используй разрешённый бриф; не создавай
|
|
10
|
+
До планирования проверь тред, режим, актуальные требования, действующие записи change-request.md, дизайн и основание их утверждения. L0 поручает планирование L1; L2 может готовить назначенную часть, но не владеть общим планом. В FULL заполняй plan.md существующей папки: задачи чекбоксами с task_id, ссылками на design и baseline. В LITE/FIX используй разрешённый бриф; не создавай весь пакет документов ради формальности. Автор плана не начинает реализацию в рамках этого скилла.
|
|
11
11
|
|
|
12
12
|
Используй полный актуальный текст назначенной методики. По wolf-work-strategy различай обязательные требования, условные действия и доступные техники; отслеживай применимые обязательства в существующем TASK/трекере. Не создавай новые статусы памяти; недоступное обязательное действие передай ответственному уровню.
|
|
13
13
|
|
|
@@ -55,7 +55,7 @@ function governanceBody() {
|
|
|
55
55
|
const match = raw.match(/^---\r?\n[\s\S]*?\r?\n---\r?\n([\s\S]*)$/);
|
|
56
56
|
const body = match?.[1]?.trim();
|
|
57
57
|
if (body) {
|
|
58
|
-
return `## using-skills
|
|
58
|
+
return `## using-skills — методика доставлена ниже (полный текст)\n\nЭто полный текст установленной методики; повторно загружать его не нужно. Другие методики загружай отдельно до их выполнения.\n\n${body}`;
|
|
59
59
|
}
|
|
60
60
|
} catch {
|
|
61
61
|
// Missing/unreadable skill is a visible degraded mode, not a fake load.
|