@dzhechkov/harness-core 0.8.11 → 0.8.21
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/.dz-manifest.json +399 -139
- package/LICENSE +13 -0
- package/README.md +420 -6
- package/dist/agents-policy.d.ts +15 -1
- package/dist/agents-policy.d.ts.map +1 -1
- package/dist/agents-policy.js +27 -1
- package/dist/agents-policy.js.map +1 -1
- package/dist/amendment-trace.d.ts +72 -0
- package/dist/amendment-trace.d.ts.map +1 -1
- package/dist/amendment-trace.js +385 -17
- package/dist/amendment-trace.js.map +1 -1
- package/dist/backlog-public.d.ts +153 -0
- package/dist/backlog-public.d.ts.map +1 -0
- package/dist/backlog-public.js +415 -0
- package/dist/backlog-public.js.map +1 -0
- package/dist/backlog-transitions.d.ts +48 -0
- package/dist/backlog-transitions.d.ts.map +1 -0
- package/dist/backlog-transitions.js +64 -0
- package/dist/backlog-transitions.js.map +1 -0
- package/dist/backlog.d.ts.map +1 -1
- package/dist/backlog.js +13 -0
- package/dist/backlog.js.map +1 -1
- package/dist/claim-check.d.ts.map +1 -1
- package/dist/claim-check.js +24 -2
- package/dist/claim-check.js.map +1 -1
- package/dist/claude-hooks-assets.d.ts +93 -0
- package/dist/claude-hooks-assets.d.ts.map +1 -0
- package/dist/claude-hooks-assets.js +208 -0
- package/dist/claude-hooks-assets.js.map +1 -0
- package/dist/clean-room-smoke.d.ts +83 -0
- package/dist/clean-room-smoke.d.ts.map +1 -0
- package/dist/clean-room-smoke.js +138 -0
- package/dist/clean-room-smoke.js.map +1 -0
- package/dist/cmd-usage.d.ts.map +1 -1
- package/dist/cmd-usage.js +36 -6
- package/dist/cmd-usage.js.map +1 -1
- package/dist/codex-hooks-assets.d.ts +25 -7
- package/dist/codex-hooks-assets.d.ts.map +1 -1
- package/dist/codex-hooks-assets.js +138 -30
- package/dist/codex-hooks-assets.js.map +1 -1
- package/dist/codex-hooks.d.ts +21 -1
- package/dist/codex-hooks.d.ts.map +1 -1
- package/dist/codex-hooks.js +21 -1
- package/dist/codex-hooks.js.map +1 -1
- package/dist/course-staleness.d.ts +19 -0
- package/dist/course-staleness.d.ts.map +1 -0
- package/dist/course-staleness.js +95 -0
- package/dist/course-staleness.js.map +1 -0
- package/dist/destructive-guard-hook.d.ts +40 -0
- package/dist/destructive-guard-hook.d.ts.map +1 -0
- package/dist/destructive-guard-hook.js +109 -0
- package/dist/destructive-guard-hook.js.map +1 -0
- package/dist/destructive-guard.d.ts +27 -0
- package/dist/destructive-guard.d.ts.map +1 -0
- package/dist/destructive-guard.js +2808 -0
- package/dist/destructive-guard.js.map +1 -0
- package/dist/discrimination-gate.d.ts +28 -3
- package/dist/discrimination-gate.d.ts.map +1 -1
- package/dist/discrimination-gate.js +76 -16
- package/dist/discrimination-gate.js.map +1 -1
- package/dist/feature-adr-routing.d.ts +95 -1
- package/dist/feature-adr-routing.d.ts.map +1 -1
- package/dist/feature-adr-routing.js +193 -27
- package/dist/feature-adr-routing.js.map +1 -1
- package/dist/guard.d.ts +90 -0
- package/dist/guard.d.ts.map +1 -1
- package/dist/guard.js +271 -0
- package/dist/guard.js.map +1 -1
- package/dist/harness-core-location.d.ts +18 -0
- package/dist/harness-core-location.d.ts.map +1 -0
- package/dist/harness-core-location.js +42 -0
- package/dist/harness-core-location.js.map +1 -0
- package/dist/index.d.ts +24 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +24 -3
- package/dist/index.js.map +1 -1
- package/dist/lead-shift-gate.d.ts +95 -0
- package/dist/lead-shift-gate.d.ts.map +1 -0
- package/dist/lead-shift-gate.js +100 -0
- package/dist/lead-shift-gate.js.map +1 -0
- package/dist/ledger-backfill.d.ts +11 -1
- package/dist/ledger-backfill.d.ts.map +1 -1
- package/dist/ledger-backfill.js +19 -0
- package/dist/ledger-backfill.js.map +1 -1
- package/dist/loop-blobs.generated.d.ts +1 -1
- package/dist/loop-blobs.generated.d.ts.map +1 -1
- package/dist/loop-blobs.generated.js +12 -3
- package/dist/loop-blobs.generated.js.map +1 -1
- package/dist/loop-lint.d.ts.map +1 -1
- package/dist/loop-lint.js +56 -7
- package/dist/loop-lint.js.map +1 -1
- package/dist/loop-plan-graph.d.ts +1 -3
- package/dist/loop-plan-graph.d.ts.map +1 -1
- package/dist/loop-plan-graph.js +70 -1
- package/dist/loop-plan-graph.js.map +1 -1
- package/dist/loop-trace.d.ts.map +1 -1
- package/dist/loop-trace.js +16 -2
- package/dist/loop-trace.js.map +1 -1
- package/dist/managed-hooks.d.ts +5 -6
- package/dist/managed-hooks.d.ts.map +1 -1
- package/dist/managed-hooks.js +2 -2
- package/dist/managed-hooks.js.map +1 -1
- package/dist/model-recommender.d.ts.map +1 -1
- package/dist/model-recommender.js +14 -3
- package/dist/model-recommender.js.map +1 -1
- package/dist/operations.d.ts.map +1 -1
- package/dist/operations.js +82 -0
- package/dist/operations.js.map +1 -1
- package/dist/patterns.d.ts +23 -0
- package/dist/patterns.d.ts.map +1 -1
- package/dist/patterns.js +10 -0
- package/dist/patterns.js.map +1 -1
- package/dist/publish.d.ts +11 -0
- package/dist/publish.d.ts.map +1 -1
- package/dist/publish.js +16 -2
- package/dist/publish.js.map +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +3 -2
- package/dist/registry.js.map +1 -1
- package/dist/score.d.ts.map +1 -1
- package/dist/score.js +15 -4
- package/dist/score.js.map +1 -1
- package/dist/session-retro.d.ts +121 -2
- package/dist/session-retro.d.ts.map +1 -1
- package/dist/session-retro.js +454 -11
- package/dist/session-retro.js.map +1 -1
- package/dist/setup.d.ts +28 -0
- package/dist/setup.d.ts.map +1 -1
- package/dist/setup.js +223 -6
- package/dist/setup.js.map +1 -1
- package/dist/sign.d.ts.map +1 -1
- package/dist/sign.js +18 -1
- package/dist/sign.js.map +1 -1
- package/dist/skills-verify.d.ts +34 -1
- package/dist/skills-verify.d.ts.map +1 -1
- package/dist/skills-verify.js +82 -0
- package/dist/skills-verify.js.map +1 -1
- package/dist/stage-line.d.ts +68 -0
- package/dist/stage-line.d.ts.map +1 -0
- package/dist/stage-line.js +129 -0
- package/dist/stage-line.js.map +1 -0
- package/dist/statusline.d.ts +99 -0
- package/dist/statusline.d.ts.map +1 -1
- package/dist/statusline.js +310 -44
- package/dist/statusline.js.map +1 -1
- package/dist/store-counts.d.ts +26 -0
- package/dist/store-counts.d.ts.map +1 -0
- package/dist/store-counts.js +125 -0
- package/dist/store-counts.js.map +1 -0
- package/dist/store-guard.d.ts +106 -0
- package/dist/store-guard.d.ts.map +1 -0
- package/dist/store-guard.js +294 -0
- package/dist/store-guard.js.map +1 -0
- package/dist/swarm-brief.d.ts +95 -0
- package/dist/swarm-brief.d.ts.map +1 -0
- package/dist/swarm-brief.js +660 -0
- package/dist/swarm-brief.js.map +1 -0
- package/dist/trace-bundle.d.ts +8 -0
- package/dist/trace-bundle.d.ts.map +1 -1
- package/dist/trace-bundle.js +11 -0
- package/dist/trace-bundle.js.map +1 -1
- package/package.json +12 -11
- package/sbom.json +804 -154
- package/src/agents-policy.ts +46 -2
- package/src/amendment-trace.ts +441 -19
- package/src/backlog-public.ts +503 -0
- package/src/backlog-transitions.ts +77 -0
- package/src/backlog.ts +12 -0
- package/src/claim-check.ts +25 -2
- package/src/claude-hooks-assets.ts +227 -0
- package/src/clean-room-smoke.ts +195 -0
- package/src/cmd-usage.ts +29 -5
- package/src/codex-hooks-assets.ts +140 -30
- package/src/codex-hooks.ts +21 -1
- package/src/course-staleness.ts +125 -0
- package/src/destructive-guard-hook.ts +151 -0
- package/src/destructive-guard.ts +3027 -0
- package/src/discrimination-gate.ts +98 -19
- package/src/feature-adr-routing.ts +220 -22
- package/src/guard.ts +318 -0
- package/src/harness-core-location.ts +44 -0
- package/src/index.ts +111 -3
- package/src/lead-shift-gate.ts +145 -0
- package/src/ledger-backfill.ts +20 -1
- package/src/loop-blobs.generated.ts +12 -3
- package/src/loop-lint.ts +52 -7
- package/src/loop-plan-graph.ts +66 -1
- package/src/loop-trace.ts +13 -1
- package/src/managed-hooks.ts +5 -6
- package/src/model-recommender.ts +14 -3
- package/src/operations.ts +75 -0
- package/src/patterns.ts +33 -0
- package/src/publish.ts +27 -2
- package/src/registry.ts +3 -2
- package/src/score.ts +16 -4
- package/src/session-retro.ts +466 -11
- package/src/setup.ts +246 -9
- package/src/sign.ts +18 -1
- package/src/skills-verify.ts +99 -1
- package/src/stage-line.ts +151 -0
- package/src/statusline.ts +396 -47
- package/src/store-counts.ts +154 -0
- package/src/store-guard.ts +388 -0
- package/src/swarm-brief.ts +661 -0
- package/src/trace-bundle.ts +10 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store-guard.js","sourceRoot":"","sources":["../src/store-guard.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Контракт вывода брифа роя — РАЗБИРАЕМЫЙ, а не прозаический (ADR-001 фичи
|
|
3
|
+
* swarm-brief-output-contract).
|
|
4
|
+
*
|
|
5
|
+
* ЗАЧЕМ. ИЗМЕРЕНО 2026-09-04 (инцидент 33): рой из семи фоновых агентов, пять умерли на одинаковой
|
|
6
|
+
* ошибке связи, вся непрочитанная на диск работа исчезла вместе с ними. Выжила работа ровно у
|
|
7
|
+
* одного — у того, кто писал много маленьких файлов по ходу, а не один отчёт в конце.
|
|
8
|
+
*
|
|
9
|
+
* ПОЧЕМУ ДАННЫЕ, А НЕ ПРОЗА. Требование можно дописать в шаблон брифа словами, и тогда любая его
|
|
10
|
+
* проверка сведётся к поиску фраз: она удостоверит, что бриф СКАЗАЛ нужное, а не что по нему можно
|
|
11
|
+
* что-то сверить. В этом доме уже есть образец сильнее — план фичи несёт `EXPECTED_CODE_TARGETS:`,
|
|
12
|
+
* и гейт планов эту строку РАЗБИРАЕТ. Здесь та же форма и тот же способ отказа.
|
|
13
|
+
*
|
|
14
|
+
* ЧЕСТНЫЙ ПРЕДЕЛ, названный вслух: проверка удостоверяет, что бриф ОБЪЯВИЛ каталог и единицы. Она
|
|
15
|
+
* не может удостоверить, что агент будет им следовать — между брифом и поведением стоит модель.
|
|
16
|
+
* Настоящую разницу даст сверка содержимого каталога с объявленным списком на тике оркестратора;
|
|
17
|
+
* она заведена отдельной записью и СТАНОВИТСЯ ВОЗМОЖНОЙ только благодаря разбираемой форме.
|
|
18
|
+
*
|
|
19
|
+
* ГЛАВНОЕ СВОЙСТВО, КОТОРОЕ ЗДЕСЬ ЗАЩИЩАЕТСЯ: вердикт нельзя подделать текстом, который он же и
|
|
20
|
+
* судит. Три независимых ревью 2026-09-04 опровергли это семью воспроизводителями — усечение
|
|
21
|
+
* перечня одиночным `\r`, объявление внутри забора кода или HTML-комментария, украшенный ключ
|
|
22
|
+
* невидимый разборщику, чужой список через пустую строку, страж вложенности выключаемый отступом
|
|
23
|
+
* первого пункта, единица `plan` затирающая файл плана и непроверяемый каталог вывода. Каждая
|
|
24
|
+
* заперта именованным тестом; ОБЩЕЕ у всех семи одно, и его стоит держать в голове при любой
|
|
25
|
+
* следующей правке: разбор, который ЧТО-ТО ТИХО ПРОПУСКАЕТ, всегда даёт «годен» — поэтому
|
|
26
|
+
* неоднозначность здесь везде разрешается ГРОМКИМ отказом, а не выбором.
|
|
27
|
+
*
|
|
28
|
+
* НАЗВАННЫЕ ПРЕДЕЛЫ РАЗБОРА (каждый — в безопасную сторону, то есть в сторону отказа):
|
|
29
|
+
* - отступный блок кода в четыре пробела маскируется целиком: его Markdown показывает как код,
|
|
30
|
+
* поэтому ни объявление, ни пункт списка внутри не являются инструкцией человеку;
|
|
31
|
+
* - незакрытый забор кода маскирует текст до конца файла;
|
|
32
|
+
* - курсив подчёркиванием (`_OUTPUT_DIR_:`) невидим счётчику повторов: `_` — часть имени ключа;
|
|
33
|
+
* - каталог, названный кириллицей или с пробелом, отвергается;
|
|
34
|
+
* - число единиц ограничено (MAX_UNITS), длина имени единицы ограничена (MAX_UNIT_NAME).
|
|
35
|
+
*/
|
|
36
|
+
/** Нарушение контракта: правило и человеческая причина. */
|
|
37
|
+
export interface BriefViolation {
|
|
38
|
+
readonly rule: string;
|
|
39
|
+
readonly detail: string;
|
|
40
|
+
}
|
|
41
|
+
/** Разобранный бриф вместе с вердиктом. */
|
|
42
|
+
export interface BriefCheckResult {
|
|
43
|
+
readonly ok: boolean;
|
|
44
|
+
readonly outputDir: string | null;
|
|
45
|
+
readonly units: readonly string[];
|
|
46
|
+
readonly assemblyUnit: string | null;
|
|
47
|
+
readonly violations: readonly BriefViolation[];
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Обязательные объявления брифа — КАК ДАННЫЕ, чтобы их можно было перечислить в отказе и в
|
|
51
|
+
* шаблоне, не переписывая в трёх местах.
|
|
52
|
+
*/
|
|
53
|
+
export declare const SWARM_BRIEF_CONTRACT: readonly [{
|
|
54
|
+
readonly key: "OUTPUT_DIR";
|
|
55
|
+
readonly why: "каталог, куда агент пишет находки; один итоговый файл теряется целиком";
|
|
56
|
+
}, {
|
|
57
|
+
readonly key: "UNITS";
|
|
58
|
+
readonly why: "перечень единиц работы: по файлу на единицу, а не всё в конце";
|
|
59
|
+
}, {
|
|
60
|
+
readonly key: "ASSEMBLY_UNIT";
|
|
61
|
+
readonly why: "сборка отчёта из осколков — отдельная работа со своим исполнителем";
|
|
62
|
+
}];
|
|
63
|
+
/**
|
|
64
|
+
* Расширение файла единицы и имя файла плана — ЧАСТЬ КОНТРАКТА, а не соглашение.
|
|
65
|
+
*
|
|
66
|
+
* Без них обещание «оркестратор сверит каталог с перечнем» остаётся приблизительным: ревью
|
|
67
|
+
* показало, что по слагу `c1-identity` в каталоге можно найти `c1-identity.md`, `c1-identity.json`
|
|
68
|
+
* или подкаталог `c1-identity/`, и сверка становится неоднозначной. Контракт называет одно.
|
|
69
|
+
*/
|
|
70
|
+
export declare const UNIT_FILE_EXTENSION = ".md";
|
|
71
|
+
export declare const PLAN_FILE_NAME = "plan.md";
|
|
72
|
+
/** Имя файла, ожидаемое для единицы. Единственное место, где это отображение задано. */
|
|
73
|
+
export declare function unitFileName(unit: string): string;
|
|
74
|
+
/**
|
|
75
|
+
* УПРАВЛЯЮЩИЕ СИМВОЛЫ ИЗ БРИФА — В ВИДИМУЮ ФОРМУ (находка 10).
|
|
76
|
+
*
|
|
77
|
+
* Значения из брифа вставлялись в текст отказа ДОСЛОВНО. Имя единицы, содержащее
|
|
78
|
+
* `ESC[1A ESC[G ESC[2K` + поддельную строку «dz brief-check: OK — dir …» + `ESC[1B ESC[G ESC[2K`,
|
|
79
|
+
* на живом терминале стирало строку REFUSED и печатало на её месте зелёный ответ, байт в байт
|
|
80
|
+
* совпадающий с настоящим (подтверждено `cat -v`: байты выходили из программы). Код выхода
|
|
81
|
+
* оставался честным — обманут был ЧЕЛОВЕК, читающий экран, а не скрипт.
|
|
82
|
+
*
|
|
83
|
+
* Функция ЭКСПОРТИРУЕТСЯ, потому что подделывается не только отказ: CLI печатает каталог и сборку
|
|
84
|
+
* в ЗЕЛЁНОЙ строке, куда отказ не заглядывает. Одна функция на оба слоя — единственный способ не
|
|
85
|
+
* забыть половину.
|
|
86
|
+
*/
|
|
87
|
+
export declare function visibleText(s: string): string;
|
|
88
|
+
/**
|
|
89
|
+
* Проверить бриф роя на контракт вывода.
|
|
90
|
+
*
|
|
91
|
+
* Отказ ВСЕГДА поимённый: «бриф неверен» не говорит автору, что чинить, и потому его чинить не
|
|
92
|
+
* будут. Каждое нарушение называет ключ и причину, по которой он есть.
|
|
93
|
+
*/
|
|
94
|
+
export declare function checkSwarmBrief(text: unknown): BriefCheckResult;
|
|
95
|
+
//# sourceMappingURL=swarm-brief.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swarm-brief.d.ts","sourceRoot":"","sources":["../src/swarm-brief.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,2DAA2D;AAC3D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,2CAA2C;AAC3C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,SAAS,cAAc,EAAE,CAAC;CAChD;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;EAIvB,CAAC;AA4CX;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AACzC,eAAO,MAAM,cAAc,YAAY,CAAC;AAExC,wFAAwF;AACxF,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAA4C;AAgB9F;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAE7C;AA2WD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAkJ/D"}
|