@dzhechkov/harness-core 0.8.10 → 0.8.20
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 +490 -170
- 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/codex-invoke.d.ts +73 -0
- package/dist/codex-invoke.d.ts.map +1 -0
- package/dist/codex-invoke.js +80 -0
- package/dist/codex-invoke.js.map +1 -0
- 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 +88 -3
- package/dist/discrimination-gate.d.ts.map +1 -1
- package/dist/discrimination-gate.js +173 -16
- package/dist/discrimination-gate.js.map +1 -1
- package/dist/event-chain.d.ts +30 -0
- package/dist/event-chain.d.ts.map +1 -1
- package/dist/event-chain.js +24 -0
- package/dist/event-chain.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 +98 -0
- package/dist/guard.d.ts.map +1 -1
- package/dist/guard.js +308 -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 +32 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -7
- 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/mutation-gate.d.ts +39 -36
- package/dist/mutation-gate.d.ts.map +1 -1
- package/dist/mutation-gate.js +111 -5
- package/dist/mutation-gate.js.map +1 -1
- package/dist/operations.d.ts.map +1 -1
- package/dist/operations.js +90 -5
- 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/plugin.d.ts.map +1 -1
- package/dist/plugin.js +27 -5
- package/dist/plugin.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/recommend.d.ts +4 -5
- package/dist/recommend.d.ts.map +1 -1
- package/dist/recommend.js +110 -45
- package/dist/recommend.js.map +1 -1
- package/dist/registry.d.ts +32 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +168 -11
- package/dist/registry.js.map +1 -1
- package/dist/run-records.d.ts +3 -0
- package/dist/run-records.d.ts.map +1 -1
- package/dist/run-records.js +18 -0
- package/dist/run-records.js.map +1 -1
- package/dist/score.d.ts +95 -0
- package/dist/score.d.ts.map +1 -1
- package/dist/score.js +289 -6
- 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/skill-selection.d.ts +72 -0
- package/dist/skill-selection.d.ts.map +1 -0
- package/dist/skill-selection.js +76 -0
- package/dist/skill-selection.js.map +1 -0
- 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/stem.d.ts +12 -0
- package/dist/stem.d.ts.map +1 -0
- package/dist/stem.js +89 -0
- package/dist/stem.js.map +1 -0
- 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/telemetry-vocabulary.d.ts +7 -0
- package/dist/telemetry-vocabulary.d.ts.map +1 -1
- package/dist/telemetry-vocabulary.js +29 -0
- package/dist/telemetry-vocabulary.js.map +1 -1
- 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 +10 -9
- package/sbom.json +1033 -233
- 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/codex-invoke.ts +138 -0
- 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 +262 -19
- package/src/event-chain.ts +41 -0
- package/src/feature-adr-routing.ts +220 -22
- package/src/guard.ts +358 -0
- package/src/harness-core-location.ts +44 -0
- package/src/index.ts +121 -7
- 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/mutation-gate.ts +165 -5
- package/src/operations.ts +83 -5
- package/src/patterns.ts +33 -0
- package/src/plugin.ts +27 -5
- package/src/publish.ts +27 -2
- package/src/recommend.ts +116 -46
- package/src/registry.ts +147 -13
- package/src/run-records.ts +23 -0
- package/src/score.ts +377 -7
- package/src/session-retro.ts +466 -11
- package/src/setup.ts +246 -9
- package/src/sign.ts +18 -1
- package/src/skill-selection.ts +111 -0
- package/src/skills-verify.ts +99 -1
- package/src/stage-line.ts +151 -0
- package/src/statusline.ts +396 -47
- package/src/stem.ts +87 -0
- package/src/store-counts.ts +154 -0
- package/src/store-guard.ts +388 -0
- package/src/swarm-brief.ts +661 -0
- package/src/telemetry-vocabulary.ts +36 -0
- package/src/trace-bundle.ts +10 -0
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Сторож смены лида: отказать в завершении хода, пока санкционированная работа не кончилась.
|
|
3
|
+
*
|
|
4
|
+
* ЗАЧЕМ ЭТО СУЩЕСТВУЕТ — два измеренных происшествия, второе после починки первого.
|
|
5
|
+
*
|
|
6
|
+
* 2026-08-29: простой ~4,5 часа. Лид «мониторил» задачи, чьи родители давно умерли, и считал
|
|
7
|
+
* очередь непустой. Лечением стало ПРАВИЛО в `.claude/rules/lead-idle-discipline.md`.
|
|
8
|
+
*
|
|
9
|
+
* 2026-09-03: простой **6 часов 24 минуты**. Лид отработал 19:16–23:15, написал утренний отчёт,
|
|
10
|
+
* ЗАВЕРШИЛ ХОД и молчал до 05:38. Очередь была не просто непустой — 352 открытые записи, и
|
|
11
|
+
* незакрытая работа была перечислена самим лидом абзацем выше в том же отчёте. Правило,
|
|
12
|
+
* написанное после первого случая, читалось каждый прогон и не сработало.
|
|
13
|
+
*
|
|
14
|
+
* Вывод, который и породил этот файл: **текст второго слоя лестницы стоимости обнаружения не
|
|
15
|
+
* ловит собственный молчаливый отказ.** Правило нельзя «не выполнить с ошибкой» — его можно
|
|
16
|
+
* только не вспомнить, и снаружи это неотличимо от выполнения. Поэтому решение переносится на
|
|
17
|
+
* слой 1: детерминированная функция, у которой есть красный тест.
|
|
18
|
+
*
|
|
19
|
+
* СТРУКТУРНАЯ ТРУДНОСТЬ, названная честно: завершение хода — это ОТСУТСТВИЕ дальнейших вызовов,
|
|
20
|
+
* а не событие. Перехватить «модель перестала работать» нельзя. Зато харнесс даёт шов `Stop`,
|
|
21
|
+
* который срабатывает на попытке закончить ход и умеет её ЗАБЛОКИРОВАТЬ. Этот файл — решающая
|
|
22
|
+
* половина такого гейта; вторая половина, тонкий адаптер, живёт в хуке.
|
|
23
|
+
*
|
|
24
|
+
* АТАКА, СЛОМАВШАЯ ПЕРВУЮ РЕДАКЦИЮ (Codex gpt-5.6-sol, xhigh, 2026-09-03, вердикт «НЕ СРАБОТАЕТ»).
|
|
25
|
+
* Первая редакция разрешала ПОВТОРНУЮ остановку автоматически — как защиту от зацикливания.
|
|
26
|
+
* Приём обхода: получить отказ, ответить «принято, продолжу», не сделать ни одного рабочего
|
|
27
|
+
* действия, остановиться снова — и второй раз пропускали. Итог был бы тот же простой плюс одна
|
|
28
|
+
* запись в журнале. Поэтому здесь повторная остановка разрешается НЕ ПО ФАКТУ ПОВТОРНОСТИ, а
|
|
29
|
+
* только по машинному свидетельству прогресса (см. `hasProgress`).
|
|
30
|
+
*/
|
|
31
|
+
/** Машинное свидетельство того, что между двумя попытками остановиться что-то произошло. */
|
|
32
|
+
export interface ProgressEvidence {
|
|
33
|
+
/** `git rev-parse HEAD` на момент прошлой блокировки и сейчас. */
|
|
34
|
+
readonly headBefore?: string | undefined;
|
|
35
|
+
readonly headNow?: string | undefined;
|
|
36
|
+
/** sha256 от `git status --porcelain` — ловит правку, ещё не ставшую коммитом. */
|
|
37
|
+
readonly treeHashBefore?: string | undefined;
|
|
38
|
+
readonly treeHashNow?: string | undefined;
|
|
39
|
+
/** Идентификаторы живых фоновых задач тогда и сейчас. */
|
|
40
|
+
readonly liveTasksBefore?: readonly string[] | undefined;
|
|
41
|
+
readonly liveTasksNow?: readonly string[] | undefined;
|
|
42
|
+
/**
|
|
43
|
+
* Пункты очереди, закрытые между попытками, вместе с доказательством закрытия.
|
|
44
|
+
* `evidenceExists` считает ВЫЗЫВАЮЩИЙ, проверив путь или коммит на существование: закрытие
|
|
45
|
+
* без существующего доказательства прогрессом не считается, иначе «закрыть» станет строкой.
|
|
46
|
+
*/
|
|
47
|
+
readonly closedItems?: readonly {
|
|
48
|
+
readonly id: string;
|
|
49
|
+
readonly evidenceExists: boolean;
|
|
50
|
+
}[] | undefined;
|
|
51
|
+
}
|
|
52
|
+
/** Состояние смены: что владелец санкционировал и в каком режиме идёт работа. */
|
|
53
|
+
export interface LeadShift {
|
|
54
|
+
/** `autonomous` — владелец отпустил лида работать без присмотра; иначе сторож спит. */
|
|
55
|
+
readonly mode: 'autonomous' | 'interactive';
|
|
56
|
+
/** Открытых пунктов в санкционированной очереди. */
|
|
57
|
+
readonly openItems: number;
|
|
58
|
+
/** Живая работа: фоновые задачи, чьи родители ЖИВЫ. Пустой список — не повод спать. */
|
|
59
|
+
readonly liveWork: readonly string[];
|
|
60
|
+
/** Минут с последнего сообщения ЧЕЛОВЕКА. Свежий разговор — законная причина остановиться. */
|
|
61
|
+
readonly minutesSinceHuman: number;
|
|
62
|
+
/** Это повторная попытка остановиться после нашей же блокировки. */
|
|
63
|
+
readonly stopHookActive: boolean;
|
|
64
|
+
/** Сколько раз подряд мы уже блокировали в этой смене. */
|
|
65
|
+
readonly consecutiveBlocks: number;
|
|
66
|
+
/** Квитанция завершения из закрытого списка: владелец сказал стоп, очередь пуста, работа блокирована. */
|
|
67
|
+
readonly completionReceipt?: 'owner-stop' | 'queue-empty' | 'blocked-on-owner' | undefined;
|
|
68
|
+
}
|
|
69
|
+
/** Что сторож решил и почему. `reason` пишется в журнал инцидентов и показывается лиду. */
|
|
70
|
+
export interface StopDecision {
|
|
71
|
+
readonly action: 'allow' | 'block' | 'escalate';
|
|
72
|
+
readonly reason: string;
|
|
73
|
+
/** Машинный код причины — для журнала и для тестов; текст `reason` меняется, код нет. */
|
|
74
|
+
readonly code: 'not-autonomous' | 'receipt' | 'live-work' | 'fresh-human' | 'queue-empty' | 'idle-with-queue' | 'no-progress' | 'budget-exhausted';
|
|
75
|
+
}
|
|
76
|
+
/** Потолок блокировок подряд. Ниже харнессового потолка в 8, чтобы решение осталось нашим. */
|
|
77
|
+
export declare const BLOCK_BUDGET = 3;
|
|
78
|
+
/** Свежий разговор с человеком: остановиться сразу после его реплики — законно. */
|
|
79
|
+
export declare const FRESH_HUMAN_MINUTES = 20;
|
|
80
|
+
/**
|
|
81
|
+
* Было ли между двумя попытками остановиться хоть одно машинно заметное движение.
|
|
82
|
+
*
|
|
83
|
+
* Ответ «принято, продолжу работу» не меняет ни коммита, ни дерева, ни списка задач, ни очереди —
|
|
84
|
+
* и потому прогрессом не является. В этом весь смысл функции: она отличает СЛОВА от ДЕЙСТВИЙ.
|
|
85
|
+
*/
|
|
86
|
+
export declare function hasProgress(e: ProgressEvidence | undefined): boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Решить, можно ли закончить ход.
|
|
89
|
+
*
|
|
90
|
+
* Порядок проверок load-bearing: сначала всё, что делает остановку ЗАКОННОЙ, и только потом
|
|
91
|
+
* запрет. Сторож, который сначала запрещает, будет отключён после первого же ложного срабатывания
|
|
92
|
+
* на правильной остановке — а отключённый сторож не ловит ничего.
|
|
93
|
+
*/
|
|
94
|
+
export declare function decideStop(shift: LeadShift, progress?: ProgressEvidence): StopDecision;
|
|
95
|
+
//# sourceMappingURL=lead-shift-gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lead-shift-gate.d.ts","sourceRoot":"","sources":["../src/lead-shift-gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,4FAA4F;AAC5F,MAAM,WAAW,gBAAgB;IAC/B,kEAAkE;IAClE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,kFAAkF;IAClF,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,yDAAyD;IACzD,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACzD,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACtD;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAA;KAAE,EAAE,GAAG,SAAS,CAAC;CACzG;AAED,iFAAiF;AACjF,MAAM,WAAW,SAAS;IACxB,uFAAuF;IACvF,QAAQ,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,CAAC;IAC5C,oDAAoD;IACpD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uFAAuF;IACvF,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,8FAA8F;IAC9F,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,oEAAoE;IACpE,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,0DAA0D;IAC1D,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,yGAAyG;IACzG,QAAQ,CAAC,iBAAiB,CAAC,EAAE,YAAY,GAAG,aAAa,GAAG,kBAAkB,GAAG,SAAS,CAAC;CAC5F;AAED,2FAA2F;AAC3F,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,GAAG,UAAU,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,yFAAyF;IACzF,QAAQ,CAAC,IAAI,EACT,gBAAgB,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,aAAa,GAC1E,iBAAiB,GAAG,aAAa,GAAG,kBAAkB,CAAC;CAC5D;AAED,8FAA8F;AAC9F,eAAO,MAAM,YAAY,IAAI,CAAC;AAE9B,mFAAmF;AACnF,eAAO,MAAM,mBAAmB,KAAK,CAAC;AAEtC;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,gBAAgB,GAAG,SAAS,GAAG,OAAO,CAUpE;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,gBAAgB,GAAG,YAAY,CAmCtF"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Сторож смены лида: отказать в завершении хода, пока санкционированная работа не кончилась.
|
|
3
|
+
*
|
|
4
|
+
* ЗАЧЕМ ЭТО СУЩЕСТВУЕТ — два измеренных происшествия, второе после починки первого.
|
|
5
|
+
*
|
|
6
|
+
* 2026-08-29: простой ~4,5 часа. Лид «мониторил» задачи, чьи родители давно умерли, и считал
|
|
7
|
+
* очередь непустой. Лечением стало ПРАВИЛО в `.claude/rules/lead-idle-discipline.md`.
|
|
8
|
+
*
|
|
9
|
+
* 2026-09-03: простой **6 часов 24 минуты**. Лид отработал 19:16–23:15, написал утренний отчёт,
|
|
10
|
+
* ЗАВЕРШИЛ ХОД и молчал до 05:38. Очередь была не просто непустой — 352 открытые записи, и
|
|
11
|
+
* незакрытая работа была перечислена самим лидом абзацем выше в том же отчёте. Правило,
|
|
12
|
+
* написанное после первого случая, читалось каждый прогон и не сработало.
|
|
13
|
+
*
|
|
14
|
+
* Вывод, который и породил этот файл: **текст второго слоя лестницы стоимости обнаружения не
|
|
15
|
+
* ловит собственный молчаливый отказ.** Правило нельзя «не выполнить с ошибкой» — его можно
|
|
16
|
+
* только не вспомнить, и снаружи это неотличимо от выполнения. Поэтому решение переносится на
|
|
17
|
+
* слой 1: детерминированная функция, у которой есть красный тест.
|
|
18
|
+
*
|
|
19
|
+
* СТРУКТУРНАЯ ТРУДНОСТЬ, названная честно: завершение хода — это ОТСУТСТВИЕ дальнейших вызовов,
|
|
20
|
+
* а не событие. Перехватить «модель перестала работать» нельзя. Зато харнесс даёт шов `Stop`,
|
|
21
|
+
* который срабатывает на попытке закончить ход и умеет её ЗАБЛОКИРОВАТЬ. Этот файл — решающая
|
|
22
|
+
* половина такого гейта; вторая половина, тонкий адаптер, живёт в хуке.
|
|
23
|
+
*
|
|
24
|
+
* АТАКА, СЛОМАВШАЯ ПЕРВУЮ РЕДАКЦИЮ (Codex gpt-5.6-sol, xhigh, 2026-09-03, вердикт «НЕ СРАБОТАЕТ»).
|
|
25
|
+
* Первая редакция разрешала ПОВТОРНУЮ остановку автоматически — как защиту от зацикливания.
|
|
26
|
+
* Приём обхода: получить отказ, ответить «принято, продолжу», не сделать ни одного рабочего
|
|
27
|
+
* действия, остановиться снова — и второй раз пропускали. Итог был бы тот же простой плюс одна
|
|
28
|
+
* запись в журнале. Поэтому здесь повторная остановка разрешается НЕ ПО ФАКТУ ПОВТОРНОСТИ, а
|
|
29
|
+
* только по машинному свидетельству прогресса (см. `hasProgress`).
|
|
30
|
+
*/
|
|
31
|
+
/** Потолок блокировок подряд. Ниже харнессового потолка в 8, чтобы решение осталось нашим. */
|
|
32
|
+
export const BLOCK_BUDGET = 3;
|
|
33
|
+
/** Свежий разговор с человеком: остановиться сразу после его реплики — законно. */
|
|
34
|
+
export const FRESH_HUMAN_MINUTES = 20;
|
|
35
|
+
/**
|
|
36
|
+
* Было ли между двумя попытками остановиться хоть одно машинно заметное движение.
|
|
37
|
+
*
|
|
38
|
+
* Ответ «принято, продолжу работу» не меняет ни коммита, ни дерева, ни списка задач, ни очереди —
|
|
39
|
+
* и потому прогрессом не является. В этом весь смысл функции: она отличает СЛОВА от ДЕЙСТВИЙ.
|
|
40
|
+
*/
|
|
41
|
+
export function hasProgress(e) {
|
|
42
|
+
if (!e)
|
|
43
|
+
return false;
|
|
44
|
+
if (e.headBefore && e.headNow && e.headBefore !== e.headNow)
|
|
45
|
+
return true;
|
|
46
|
+
if (e.treeHashBefore && e.treeHashNow && e.treeHashBefore !== e.treeHashNow)
|
|
47
|
+
return true;
|
|
48
|
+
const before = new Set(e.liveTasksBefore ?? []);
|
|
49
|
+
if ((e.liveTasksNow ?? []).some((id) => !before.has(id)))
|
|
50
|
+
return true;
|
|
51
|
+
// Закрытие пункта считается прогрессом ТОЛЬКО с существующим доказательством: иначе достаточно
|
|
52
|
+
// объявить пункт закрытым, чтобы получить право замолчать.
|
|
53
|
+
if ((e.closedItems ?? []).some((c) => c.evidenceExists))
|
|
54
|
+
return true;
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Решить, можно ли закончить ход.
|
|
59
|
+
*
|
|
60
|
+
* Порядок проверок load-bearing: сначала всё, что делает остановку ЗАКОННОЙ, и только потом
|
|
61
|
+
* запрет. Сторож, который сначала запрещает, будет отключён после первого же ложного срабатывания
|
|
62
|
+
* на правильной остановке — а отключённый сторож не ловит ничего.
|
|
63
|
+
*/
|
|
64
|
+
export function decideStop(shift, progress) {
|
|
65
|
+
if (shift.mode !== 'autonomous') {
|
|
66
|
+
return { action: 'allow', code: 'not-autonomous', reason: 'смена не в автономном режиме — остановка не наше дело' };
|
|
67
|
+
}
|
|
68
|
+
if (shift.completionReceipt) {
|
|
69
|
+
return { action: 'allow', code: 'receipt', reason: `квитанция завершения: ${shift.completionReceipt}` };
|
|
70
|
+
}
|
|
71
|
+
if (shift.liveWork.length > 0) {
|
|
72
|
+
return { action: 'allow', code: 'live-work', reason: `живая работа: ${shift.liveWork.join(', ')}` };
|
|
73
|
+
}
|
|
74
|
+
if (shift.minutesSinceHuman < FRESH_HUMAN_MINUTES) {
|
|
75
|
+
return { action: 'allow', code: 'fresh-human', reason: `человек писал ${shift.minutesSinceHuman} мин назад — разговор идёт` };
|
|
76
|
+
}
|
|
77
|
+
if (shift.openItems === 0) {
|
|
78
|
+
return { action: 'allow', code: 'queue-empty', reason: 'очередь пуста' };
|
|
79
|
+
}
|
|
80
|
+
// Дальше — остановка при непустой очереди, без живой работы и без квитанции. Ровно этот случай
|
|
81
|
+
// произошёл 2026-09-03 и стоил 6 часов 24 минут.
|
|
82
|
+
if (shift.consecutiveBlocks >= BLOCK_BUDGET) {
|
|
83
|
+
return {
|
|
84
|
+
action: 'escalate',
|
|
85
|
+
code: 'budget-exhausted',
|
|
86
|
+
reason: `${shift.consecutiveBlocks} блокировки подряд без прогресса — будим владельца и разрешаем остановку`,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
if (shift.stopHookActive && hasProgress(progress)) {
|
|
90
|
+
return { action: 'allow', code: 'no-progress', reason: 'после прошлой блокировки есть машинный прогресс' };
|
|
91
|
+
}
|
|
92
|
+
return {
|
|
93
|
+
action: 'block',
|
|
94
|
+
code: shift.stopHookActive ? 'no-progress' : 'idle-with-queue',
|
|
95
|
+
reason: shift.stopHookActive
|
|
96
|
+
? `повторная остановка без единого машинного признака прогресса; открытых пунктов ${shift.openItems}`
|
|
97
|
+
: `в очереди ${shift.openItems} открытых пунктов, живой работы нет — ход не заканчивается`,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=lead-shift-gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lead-shift-gate.js","sourceRoot":"","sources":["../src/lead-shift-gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,7 +54,7 @@ export interface LedgerBackfillRow {
|
|
|
54
54
|
readonly key: LedgerFillKey | null;
|
|
55
55
|
readonly filled: readonly string[];
|
|
56
56
|
/** Why nothing was filled. `null` when something was. */
|
|
57
|
-
readonly skipped: 'no-join-key' | 'no-host-record' | 'ambiguous-slug' | 'shared-run-claim' | 'already-complete' | 'malformed-line' | 'host-record-empty' | null;
|
|
57
|
+
readonly skipped: 'no-join-key' | 'no-host-record' | 'ambiguous-slug' | 'shared-run-claim' | 'already-complete' | 'malformed-line' | 'host-record-empty' | 'non-run-row' | null;
|
|
58
58
|
}
|
|
59
59
|
export interface LedgerBackfillPlan {
|
|
60
60
|
/** The ledger's lines after the fill — same count, same order, one JSON object per line. */
|
|
@@ -69,6 +69,16 @@ export interface LedgerBackfillPlan {
|
|
|
69
69
|
derived: number;
|
|
70
70
|
}[];
|
|
71
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* fa-phase-statusline QE fix (P2, cross-family review of 656d6903): the ledger now carries
|
|
74
|
+
* per-PHASE telemetry rows (`kind:"phase"`, schema `feature-adr-phase/1`) alongside its run rows.
|
|
75
|
+
* The header's contract: the one-line-one-run invariant applies ONLY to rows WITHOUT a `kind`
|
|
76
|
+
* field, so any row that carries one is NOT a run row and must be invisible to the backfill —
|
|
77
|
+
* both to claimant counting (several phase rows under a slug were making a real cost row
|
|
78
|
+
* `shared-run-claim`, unfillable forever) and to filling (exactly one phase row under a slug could
|
|
79
|
+
* receive the whole run's token total — a fabrication by attribution).
|
|
80
|
+
*/
|
|
81
|
+
export declare const isNonRunRow: (r: Record<string, unknown>) => boolean;
|
|
72
82
|
/**
|
|
73
83
|
* Plan the fill. PURE: takes the ledger's raw lines and a runId→facts lookup, returns the new lines.
|
|
74
84
|
* Nothing is read or written here — the caller owns the file and the atomic replace.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ledger-backfill.d.ts","sourceRoot":"","sources":["../src/ledger-backfill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,4FAA4F;AAC5F,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7C,uFAAuF;AACvF,eAAO,MAAM,SAAS,EAAG,WAAoB,CAAC;AAE9C,oGAAoG;AACpG,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,gGAAgG;AAChG,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,kFAAkF;IAClF,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,6DAA6D;IAC7D,QAAQ,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"ledger-backfill.d.ts","sourceRoot":"","sources":["../src/ledger-backfill.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,4FAA4F;AAC5F,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAEhD;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7C,uFAAuF;AACvF,eAAO,MAAM,SAAS,EAAG,WAAoB,CAAC;AAE9C,oGAAoG;AACpG,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,gGAAgG;AAChG,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,kFAAkF;IAClF,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,6DAA6D;IAC7D,QAAQ,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,yDAAyD;IACzD,QAAQ,CAAC,OAAO,EAAE,aAAa,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,kBAAkB,GAAG,kBAAkB,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,aAAa,GAAG,IAAI,CAAC;CACjL;AAED,MAAM,WAAW,kBAAkB;IACjC,4FAA4F;IAC5F,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,IAAI,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,+FAA+F;IAC/F,QAAQ,CAAC,aAAa,EAAE,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACxG;AAMD;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAG,OAA4D,CAAC;AAEtH;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,QAAQ,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,KAAK,YAAY,GAAG,OAAO,SAAS,GAAG,IAAI,CAAC;CAC/F,GAAG,kBAAkB,CAiHrB;AAED,oEAAoE;AACpE,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CACrC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,EAC1D,IAAI,EAAE,SAAS,kBAAkB,EAAE,GAClC,MAAM,GAAG,IAAI,CAWf"}
|
package/dist/ledger-backfill.js
CHANGED
|
@@ -30,6 +30,16 @@ export const LEDGER_FILL_SOURCE = 'host-record';
|
|
|
30
30
|
export const AMBIGUOUS = 'ambiguous';
|
|
31
31
|
const FILLABLE = ['tokens', 'minutes', 'agents'];
|
|
32
32
|
const isNum = (v) => typeof v === 'number' && Number.isFinite(v);
|
|
33
|
+
/**
|
|
34
|
+
* fa-phase-statusline QE fix (P2, cross-family review of 656d6903): the ledger now carries
|
|
35
|
+
* per-PHASE telemetry rows (`kind:"phase"`, schema `feature-adr-phase/1`) alongside its run rows.
|
|
36
|
+
* The header's contract: the one-line-one-run invariant applies ONLY to rows WITHOUT a `kind`
|
|
37
|
+
* field, so any row that carries one is NOT a run row and must be invisible to the backfill —
|
|
38
|
+
* both to claimant counting (several phase rows under a slug were making a real cost row
|
|
39
|
+
* `shared-run-claim`, unfillable forever) and to filling (exactly one phase row under a slug could
|
|
40
|
+
* receive the whole run's token total — a fabrication by attribution).
|
|
41
|
+
*/
|
|
42
|
+
export const isNonRunRow = (r) => typeof r['kind'] === 'string' && r['kind'] !== '';
|
|
33
43
|
/**
|
|
34
44
|
* Plan the fill. PURE: takes the ledger's raw lines and a runId→facts lookup, returns the new lines.
|
|
35
45
|
* Nothing is read or written here — the caller owns the file and the atomic replace.
|
|
@@ -47,6 +57,8 @@ export function planLedgerBackfill(input) {
|
|
|
47
57
|
if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed))
|
|
48
58
|
continue;
|
|
49
59
|
const r = parsed;
|
|
60
|
+
if (isNonRunRow(r))
|
|
61
|
+
continue; // phase rows are telemetry, never claimants
|
|
50
62
|
if (FILLABLE.every((f) => isNum(r[f])))
|
|
51
63
|
continue;
|
|
52
64
|
const rid = typeof r['runId'] === 'string' && r['runId'] !== '' ? r['runId'] : null;
|
|
@@ -79,6 +91,13 @@ export function planLedgerBackfill(input) {
|
|
|
79
91
|
}
|
|
80
92
|
const runId = typeof row['runId'] === 'string' && row['runId'] !== '' ? row['runId'] : null;
|
|
81
93
|
const slug = typeof row['slug'] === 'string' && row['slug'] !== '' ? row['slug'] : null;
|
|
94
|
+
if (isNonRunRow(row)) {
|
|
95
|
+
// A `kind`-carrying row (per-phase telemetry) has no run cost to fill — pass through
|
|
96
|
+
// unchanged and SAY so, never let it receive a run's numbers.
|
|
97
|
+
outLines.push(raw);
|
|
98
|
+
rows.push({ index, runId, slug, key: null, filled: [], skipped: 'non-run-row' });
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
82
101
|
const missing = FILLABLE.filter((f) => !isNum(row[f]));
|
|
83
102
|
if (missing.length === 0) {
|
|
84
103
|
outLines.push(raw);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ledger-backfill.js","sourceRoot":"","sources":["../src/ledger-backfill.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ledger-backfill.js","sourceRoot":"","sources":["../src/ledger-backfill.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,7 +22,7 @@ export interface LoopBlob {
|
|
|
22
22
|
exports: string[];
|
|
23
23
|
code: string;
|
|
24
24
|
}
|
|
25
|
-
export declare const LOOP_BLOB_NAMES: readonly ["checkpoints", "training-pairs", "model-resolver", "usage-probes", "codex-dispatch", "challenge-panel", "trace", "loop-semantics", "ha-consult-router"];
|
|
25
|
+
export declare const LOOP_BLOB_NAMES: readonly ["checkpoints", "training-pairs", "model-resolver", "usage-probes", "codex-dispatch", "challenge-panel", "stage-line", "trace", "loop-semantics", "ha-consult-router"];
|
|
26
26
|
/** Workflow files the regen-diff gate covers TODAY (AM-5 honest scope): exactly the files
|
|
27
27
|
* carrying BEGIN BLOB markers. Stage B (whole-file regeneration of feature-adr.js) is a
|
|
28
28
|
* tracked dz-backlog item, deliberately NOT claimed here. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop-blobs.generated.d.ts","sourceRoot":"","sources":["../src/loop-blobs.generated.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,4FAA4F;IAC5F,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"loop-blobs.generated.d.ts","sourceRoot":"","sources":["../src/loop-blobs.generated.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,4FAA4F;IAC5F,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,eAAe,iLAAyK,CAAC;AAEtM;;6DAE6D;AAC7D,eAAO,MAAM,sBAAsB,EAAE;IAAE,gBAAgB,EAAE,MAAM,EAAE,CAAA;CAOhE,CAAC;AAEF,eAAO,MAAM,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CA2F1C,CAAC"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
* dispatch/settle seq emitter). All seven names are FIXED; a new subsystem is a new
|
|
14
14
|
* blob name plus an ADR note, never a silent rename.
|
|
15
15
|
*/
|
|
16
|
-
export const LOOP_BLOB_NAMES = ["checkpoints", "training-pairs", "model-resolver", "usage-probes", "codex-dispatch", "challenge-panel", "trace", "loop-semantics", "ha-consult-router"];
|
|
16
|
+
export const LOOP_BLOB_NAMES = ["checkpoints", "training-pairs", "model-resolver", "usage-probes", "codex-dispatch", "challenge-panel", "stage-line", "trace", "loop-semantics", "ha-consult-router"];
|
|
17
17
|
/** Workflow files the regen-diff gate covers TODAY (AM-5 honest scope): exactly the files
|
|
18
18
|
* carrying BEGIN BLOB markers. Stage B (whole-file regeneration of feature-adr.js) is a
|
|
19
19
|
* tracked dz-backlog item, deliberately NOT claimed here. */
|
|
@@ -47,11 +47,11 @@ export const BLOBS = {
|
|
|
47
47
|
"model-resolver": {
|
|
48
48
|
name: "model-resolver",
|
|
49
49
|
version: "1.0.0",
|
|
50
|
-
contentHash: "
|
|
50
|
+
contentHash: "357a258796e553b2fbe94dfab26cf487a9fd189b4927836f261185215392dfaa",
|
|
51
51
|
sourcePath: "packages/@dzhechkov/harness-core/src/feature-adr-routing.ts",
|
|
52
52
|
requires: [],
|
|
53
53
|
exports: ["specToOpts", "resolveStageModel", "KNOWN_CODEX", "mergeOpts", "stageLabel", "modelLabel"],
|
|
54
|
-
code: "const STAGE_EFFORT = { override: {\n router: 'medium',\n requirements: 'medium',\n research: 'medium',\n adr: 'high',\n ideation: 'medium',\n ddd: 'high',\n architecture: 'high',\n plan: 'high',\n code: 'medium',\n qe: 'high',\n fleet: 'medium',\n } };\nfunction topCodexId(env) {\n return env.CODEX_MODEL !== 'auto' ? env.CODEX_MODEL : CODEX_TIERS.flagship;\n}\nconst KNOWN_CODEX = { auto: 1, 'gpt-5.5': 1, 'gpt-5.6': 1, 'gpt-5.6-luna': 1, 'gpt-5.6-terra': 1, 'gpt-5.6-sol': 1 };\nconst CODEX_TIERS = {\n flagship: 'gpt-5.6-sol',\n workhorse: 'gpt-5.6-terra',\n 'high-volume': 'gpt-5.6-luna',\n};\nfunction codexIdForTier(tier, env) {\n return env.CODEX_MODEL !== 'auto' ? env.CODEX_MODEL : CODEX_TIERS[tier];\n}\nconst BUDGET_PRESETS = {\n normal: { claude: 'normal', codex: 'normal' },\n eco: { claude: 'eco', codex: 'eco' },\n hybrid: { claude: 'eco', codex: 'normal' },\n};\nfunction resolveBudgetMode(raw) {\n if (raw === undefined)\n return BUDGET_PRESETS.normal;\n if (typeof raw === 'string') {\n const preset = BUDGET_PRESETS[raw];\n if (!preset)\n throw new RangeError('budget: unknown preset \"' + raw + '\" — valid: normal|eco|hybrid');\n return preset;\n }\n if (raw && typeof raw === 'object') {\n const value = raw;\n for (const key of Object.keys(value)) {\n if (key !== 'claude' && key !== 'codex') {\n throw new RangeError('budget: unknown family key \"' + key + '\" — valid: claude|codex');\n }\n }\n for (const key of ['claude', 'codex']) {\n const level = value[key];\n if (level !== undefined && level !== 'normal' && level !== 'eco') {\n throw new RangeError('budget.' + key + ': unknown level \"' + level + '\" — valid: normal|eco');\n }\n }\n return {\n claude: value.claude || 'normal',\n codex: value.codex || 'normal',\n };\n }\n throw new RangeError('budget: expected a preset name or {claude,codex} object, got ' + typeof raw);\n}\nconst CLAUDE_NAMES = { fable: 1, opus: 1, sonnet: 1, haiku: 1 };\nconst VALID_REASONING = { none: 1, minimal: 1, low: 1, medium: 1, high: 1, xhigh: 1, max: 1 };\nconst DEFAULT_MODELS = {\n router: 'fable',\n requirements: 'sonnet',\n research: 'sonnet',\n adr: 'opus',\n ideation: 'sonnet',\n ddd: 'opus',\n architecture: 'opus',\n plan: 'sonnet',\n code: null,\n qe: null,\n fleet: 'sonnet',\n};\nconst ROUTING_TABLES = {\n claude: {\n claude: {\n normal: { router: 'sonnet', requirements: 'sonnet', research: 'sonnet', adr: 'fable', ideation: 'sonnet', ddd: 'fable', architecture: 'fable', plan: 'opus', code: 'sonnet', fleet: 'sonnet' },\n eco: { router: 'sonnet', requirements: 'sonnet', research: 'sonnet', adr: 'opus', ideation: 'sonnet', ddd: 'opus', architecture: 'opus', plan: 'sonnet', code: 'sonnet', fleet: 'sonnet' },\n },\n codex: { normal: {}, eco: {} },\n },\n codex: {\n claude: {\n normal: { router: 'sonnet', qe: 'sonnet', fleet: 'sonnet' },\n eco: { router: 'sonnet', qe: 'sonnet', fleet: 'sonnet' },\n },\n codex: { normal: {}, eco: {} },\n },\n};\nfunction codexCell(tier, effort, env) {\n return 'codex:' + codexIdForTier(tier, env) + ':' + effort;\n}\nfunction budgetTable(primary, mode, env) {\n const claudeHalf = ROUTING_TABLES[primary].claude[mode.claude];\n let codexHalf;\n if (primary === 'claude') {\n const qeSpec = mode.codex === 'normal'\n ? codexCell('flagship', 'high', env)\n : codexCell('workhorse', 'medium', env);\n codexHalf = { ...ROUTING_TABLES.claude.codex[mode.codex], qe: env.codexAvailable === false ? 'opus' : qeSpec };\n }\n else {\n const normal = mode.codex === 'normal';\n const design = codexCell(normal ? 'flagship' : 'workhorse', normal ? 'high' : 'medium', env);\n codexHalf = {\n requirements: design,\n research: design,\n adr: design,\n ideation: design,\n ddd: design,\n architecture: design,\n plan: codexCell(normal ? 'flagship' : 'workhorse', normal ? 'high' : 'low', env),\n code: codexCell(normal ? 'flagship' : 'workhorse', 'medium', env),\n };\n }\n return { ...claudeHalf, ...codexHalf };\n}\nfunction specToOpts(spec, env) {\n const log = env.log || function () { };\n if (!spec)\n return {};\n const parts = String(spec).split(':');\n const head = parts[0] || '';\n if (head === 'codex') {\n let id = parts[1] || env.CODEX_MODEL;\n if (id !== 'auto' && !KNOWN_CODEX[id]) {\n log('models: unknown codex id ' + id + ' — using ' + env.CODEX_MODEL);\n id = env.CODEX_MODEL;\n }\n let reasoning = parts[2] || 'high';\n if (!VALID_REASONING[reasoning]) {\n throw new RangeError('models: invalid reasoning \"' + reasoning + '\" — valid: ' + Object.keys(VALID_REASONING).join('|'));\n }\n return { agentType: 'codex:codex-rescue', codexModel: id, _reasoning: reasoning };\n }\n if (CLAUDE_NAMES[head])\n return { model: head };\n log('models: unknown spec ' + spec + ' — session-inherited');\n return {};\n}\nfunction resolveCoderSpec(env) {\n if (env.CODER === 'codex' || env.CODER === 'codex-fallback')\n return 'codex:' + env.CODEX_MODEL + ':high';\n return 'opus';\n}\nfunction coderIsCodex(env) {\n const codeSpec = env.MODELS.code;\n if (codeSpec !== undefined && codeSpec !== null)\n return String(codeSpec).split(':')[0] === 'codex';\n if (env.CODER === 'codex' || env.CODER === 'codex-fallback')\n return true;\n return env.primary === 'codex';\n}\nfunction resolveQeSpecForCoder(coderCodex, env) {\n if (coderCodex)\n return 'sonnet';\n const CODEX_AVAILABLE = env.codexAvailable !== false;\n if (!CODEX_AVAILABLE)\n return 'opus';\n const budget = resolveBudgetMode(env.budget);\n return budget.codex === 'eco'\n ? 'codex:' + codexIdForTier('workhorse', env) + ':medium'\n : 'codex:' + codexIdForTier('flagship', env) + ':high';\n}\nfunction resolveQeSpec(env) {\n return resolveQeSpecForCoder(coderIsCodex(env), env);\n}\nfunction routingRequested(env) {\n return (Object.keys(env.MODELS).length > 0 ||\n env.primary !== undefined ||\n env.budget !== undefined ||\n env.PLANNER === 'codex' ||\n env.CODER === 'codex' ||\n env.CODER === 'codex-fallback' ||\n env.QE_REVIEWER === 'codex' ||\n env.QE_REVIEWER === 'codex-fallback');\n}\nfunction resolveStageModel(stage, env) {\n if (env.usageOverride) {\n const r = (env.usageReasoning && env.usageReasoning[stage]) || STAGE_EFFORT.override[stage] || 'medium';\n const o = specToOpts('codex:' + topCodexId(env) + ':' + r, env);\n o._usageSwitched = true;\n return o;\n }\n let spec = env.MODELS[stage];\n if (spec === undefined) {\n if (!routingRequested(env))\n return {};\n if (stage === 'code' && (env.CODER === 'codex' || env.CODER === 'codex-fallback')) {\n return specToOpts(resolveCoderSpec(env), env);\n }\n if (stage === 'plan' && env.PLANNER === 'codex') {\n return specToOpts('codex:' + env.CODEX_MODEL + ':high', env);\n }\n if (stage === 'qe') {\n return specToOpts(resolveQeSpec(env), env);\n }\n const resolvedPrimary = env.primary || 'claude';\n const cell = budgetTable(resolvedPrimary, resolveBudgetMode(env.budget), env)[stage];\n spec = cell !== undefined ? cell : DEFAULT_MODELS[stage];\n }\n if (stage === 'code' && (spec === null || spec === undefined))\n return specToOpts(resolveCoderSpec(env), env);\n if (stage === 'qe' && (spec === null || spec === undefined))\n return specToOpts(resolveQeSpec(env), env);\n return specToOpts(spec, env);\n}\nfunction modelLabel(opts) {\n if (opts && opts.agentType === 'codex:codex-rescue') {\n const base = 'codex:' + opts.codexModel + ':' + opts._reasoning;\n return opts._usageSwitched ? base + ' (usage-switched)' : base;\n }\n if (opts && opts.model)\n return opts.model;\n return 'session';\n}\nfunction stageLabel(base, opts) {\n const m = modelLabel(opts);\n return m === 'session' ? base : base + ' · ' + m;\n}\nfunction mergeOpts(base, extra) {\n const out = {};\n for (const k in base)\n out[k] = base[k];\n for (const k in extra)\n out[k] = extra[k];\n return out;\n}",
|
|
54
|
+
code: "const STAGE_EFFORT = { override: {\n router: 'medium',\n requirements: 'medium',\n research: 'medium',\n adr: 'high',\n ideation: 'medium',\n ddd: 'high',\n architecture: 'high',\n plan: 'high',\n code: 'medium',\n qe: 'high',\n fleet: 'medium',\n } };\nfunction topCodexId(env) {\n return env.CODEX_MODEL !== 'auto' ? env.CODEX_MODEL : CODEX_TIERS.flagship;\n}\nconst KNOWN_CODEX = { auto: 1, 'gpt-5.5': 1, 'gpt-5.6': 1, 'gpt-5.6-luna': 1, 'gpt-5.6-terra': 1, 'gpt-5.6-sol': 1 };\nconst CODEX_TIERS = {\n flagship: 'gpt-5.6-sol',\n workhorse: 'gpt-5.6-terra',\n 'high-volume': 'gpt-5.6-luna',\n};\nfunction codexIdForTier(tier, env) {\n return env.CODEX_MODEL !== 'auto' ? env.CODEX_MODEL : CODEX_TIERS[tier];\n}\nconst BUDGET_PRESETS = {\n normal: { claude: 'normal', codex: 'normal' },\n eco: { claude: 'eco', codex: 'eco' },\n hybrid: { claude: 'eco', codex: 'normal' },\n};\nfunction resolveBudgetMode(raw) {\n if (raw === undefined)\n return BUDGET_PRESETS.normal;\n if (typeof raw === 'string') {\n const preset = BUDGET_PRESETS[raw];\n if (!preset)\n throw new RangeError('budget: unknown preset \"' + raw + '\" — valid: normal|eco|hybrid');\n return preset;\n }\n if (raw && typeof raw === 'object') {\n const value = raw;\n for (const key of Object.keys(value)) {\n if (key !== 'claude' && key !== 'codex') {\n throw new RangeError('budget: unknown family key \"' + key + '\" — valid: claude|codex');\n }\n }\n for (const key of ['claude', 'codex']) {\n const level = value[key];\n if (level !== undefined && level !== 'normal' && level !== 'eco') {\n throw new RangeError('budget.' + key + ': unknown level \"' + level + '\" — valid: normal|eco');\n }\n }\n return {\n claude: value.claude || 'normal',\n codex: value.codex || 'normal',\n };\n }\n throw new RangeError('budget: expected a preset name or {claude,codex} object, got ' + typeof raw);\n}\nconst CLAUDE_NAMES = { fable: 1, opus: 1, sonnet: 1, haiku: 1 };\nconst VALID_REASONING = { none: 1, minimal: 1, low: 1, medium: 1, high: 1, xhigh: 1, max: 1 };\nconst DEFAULT_MODELS = {\n router: 'fable',\n requirements: 'sonnet',\n research: 'sonnet',\n adr: 'opus',\n ideation: 'sonnet',\n ddd: 'opus',\n architecture: 'opus',\n plan: 'sonnet',\n code: null,\n qe: null,\n fleet: 'sonnet',\n};\nconst ROUTING_TABLES = {\n claude: {\n claude: {\n normal: { router: 'sonnet', requirements: 'sonnet', research: 'sonnet', adr: 'fable', ideation: 'sonnet', ddd: 'fable', architecture: 'fable', plan: 'opus', code: 'sonnet', fleet: 'sonnet' },\n eco: { router: 'sonnet', requirements: 'sonnet', research: 'sonnet', adr: 'opus', ideation: 'sonnet', ddd: 'opus', architecture: 'opus', plan: 'sonnet', code: 'sonnet', fleet: 'sonnet' },\n },\n codex: { normal: {}, eco: {} },\n },\n codex: {\n claude: {\n normal: { router: 'sonnet', qe: 'sonnet', fleet: 'sonnet' },\n eco: { router: 'sonnet', qe: 'sonnet', fleet: 'sonnet' },\n },\n codex: { normal: {}, eco: {} },\n },\n};\nfunction codexCell(tier, effort, env) {\n return 'codex:' + codexIdForTier(tier, env) + ':' + effort;\n}\nfunction budgetTable(primary, mode, env) {\n const claudeHalf = ROUTING_TABLES[primary].claude[mode.claude];\n let codexHalf;\n if (primary === 'claude') {\n const qeSpec = mode.codex === 'normal'\n ? codexCell('flagship', 'high', env)\n : codexCell('workhorse', 'medium', env);\n codexHalf = { ...ROUTING_TABLES.claude.codex[mode.codex], qe: env.codexAvailable === false ? 'opus' : qeSpec };\n }\n else {\n const normal = mode.codex === 'normal';\n const design = codexCell(normal ? 'flagship' : 'workhorse', normal ? 'high' : 'medium', env);\n codexHalf = {\n requirements: design,\n research: design,\n adr: design,\n ideation: design,\n ddd: design,\n architecture: design,\n plan: codexCell(normal ? 'flagship' : 'workhorse', normal ? 'high' : 'low', env),\n code: codexCell(normal ? 'flagship' : 'workhorse', 'medium', env),\n };\n }\n return { ...claudeHalf, ...codexHalf };\n}\nfunction specToOpts(spec, env) {\n const log = env.log || function () { };\n if (!spec)\n return {};\n const parts = String(spec).split(':');\n const head = parts[0] || '';\n if (head === 'codex') {\n let id = parts[1] || env.CODEX_MODEL;\n if (id !== 'auto' && !KNOWN_CODEX[id]) {\n log('models: unknown codex id ' + id + ' — using ' + env.CODEX_MODEL);\n id = env.CODEX_MODEL;\n }\n let reasoning = parts[2] || 'high';\n if (!VALID_REASONING[reasoning]) {\n throw new RangeError('models: invalid reasoning \"' + reasoning + '\" — valid: ' + Object.keys(VALID_REASONING).join('|'));\n }\n return { agentType: 'codex:codex-rescue', codexModel: id, _reasoning: reasoning };\n }\n if (CLAUDE_NAMES[head])\n return { model: head };\n log('models: unknown spec ' + spec + ' — session-inherited');\n return {};\n}\nfunction resolveCoderSpec(env) {\n if (env.CODER === 'codex' || env.CODER === 'codex-fallback')\n return 'codex:' + env.CODEX_MODEL + ':high';\n return 'opus';\n}\nfunction coderIsCodex(env) {\n const codeSpec = env.MODELS.code;\n if (codeSpec !== undefined && codeSpec !== null)\n return String(codeSpec).split(':')[0] === 'codex';\n if (env.CODER === 'codex' || env.CODER === 'codex-fallback')\n return true;\n return env.primary === 'codex';\n}\nfunction resolveQeSpecForCoder(coderCodex, env) {\n if (coderCodex)\n return 'sonnet';\n const CODEX_AVAILABLE = env.codexAvailable !== false;\n if (!CODEX_AVAILABLE)\n return 'opus';\n const budget = resolveBudgetMode(env.budget);\n return budget.codex === 'eco'\n ? 'codex:' + codexIdForTier('workhorse', env) + ':medium'\n : 'codex:' + codexIdForTier('flagship', env) + ':high';\n}\nfunction resolveQeSpec(env) {\n return resolveQeSpecForCoder(coderIsCodex(env), env);\n}\nfunction routingRequested(env) {\n return (Object.keys(env.MODELS).length > 0 ||\n env.primary !== undefined ||\n env.budget !== undefined ||\n env.PLANNER === 'codex' ||\n env.CODER === 'codex' ||\n env.CODER === 'codex-fallback' ||\n env.QE_REVIEWER === 'codex' ||\n env.QE_REVIEWER === 'codex-fallback');\n}\nfunction resolveStageModel(stage, env) {\n return resolveStageDecision(stage, env).opts;\n}\nfunction specFamily(spec) {\n return (spec && String(spec).split(':')[0] === 'codex') ? 'codex' : 'claude';\n}\nfunction qeReasonForFamilies(coderCodex, qeSpec) {\n if (specFamily(qeSpec) === (coderCodex ? 'codex' : 'claude'))\n return 'qe-same-family-degraded';\n return 'qe-cross-family';\n}\nfunction effectiveSpec(opts) {\n if (opts && opts.agentType === 'codex:codex-rescue')\n return 'codex:' + opts.codexModel + ':' + opts._reasoning;\n if (opts && opts.model)\n return opts.model;\n return null;\n}\nfunction specDegradation(spec, opts, env) {\n if (!spec)\n return null;\n const parts = String(spec).split(':');\n const head = parts[0] || '';\n if (head === 'codex') {\n const requested = parts[1] || env.CODEX_MODEL;\n if (opts.codexModel !== requested)\n return 'codex-id-substituted';\n return null;\n }\n if (!CLAUDE_NAMES[head])\n return 'spec-unrecognised';\n return null;\n}\nfunction decisionFor(base, spec, opts, env) {\n const deg = specDegradation(spec, opts, env);\n if (deg !== null)\n return { opts: opts, spec: effectiveSpec(opts), reason: deg };\n return { opts: opts, spec: effectiveSpec(opts), reason: base };\n}\nfunction decideFromSpec(base, stage, spec, env) {\n if (stage === 'code' && (spec === null || spec === undefined)) {\n const s = resolveCoderSpec(env);\n return decisionFor(base, s, specToOpts(s, env), env);\n }\n if (stage === 'qe' && (spec === null || spec === undefined)) {\n const s = resolveQeSpec(env);\n return decisionFor(base, s, specToOpts(s, env), env);\n }\n return decisionFor(base, spec, specToOpts(spec, env), env);\n}\nfunction resolveStageDecision(stage, env) {\n if (env.usageOverride) {\n const r = (env.usageReasoning && env.usageReasoning[stage]) || STAGE_EFFORT.override[stage] || 'medium';\n const s = 'codex:' + topCodexId(env) + ':' + r;\n const o = specToOpts(s, env);\n o._usageSwitched = true;\n return decisionFor('usage-override', s, o, env);\n }\n const spec = env.MODELS[stage];\n if (spec !== undefined)\n return decideFromSpec('explicit-models', stage, spec, env);\n if (!routingRequested(env))\n return { opts: {}, spec: null, reason: 'routing-not-requested' };\n if (stage === 'code' && (env.CODER === 'codex' || env.CODER === 'codex-fallback')) {\n const s = resolveCoderSpec(env);\n return decisionFor('coder-knob-codex', s, specToOpts(s, env), env);\n }\n if (stage === 'plan' && env.PLANNER === 'codex') {\n const s = 'codex:' + env.CODEX_MODEL + ':high';\n return decisionFor('planner-knob-codex', s, specToOpts(s, env), env);\n }\n if (stage === 'qe') {\n const s = resolveQeSpec(env);\n return decisionFor(qeReasonForFamilies(coderIsCodex(env), s), s, specToOpts(s, env), env);\n }\n const resolvedPrimary = env.primary || 'claude';\n const cell = budgetTable(resolvedPrimary, resolveBudgetMode(env.budget), env)[stage];\n if (cell !== undefined)\n return decideFromSpec('budget-table-cell', stage, cell, env);\n return decideFromSpec('default-models', stage, DEFAULT_MODELS[stage], env);\n}\nfunction modelLabel(opts) {\n if (opts && opts.agentType === 'codex:codex-rescue') {\n const base = 'codex:' + opts.codexModel + ':' + opts._reasoning;\n return opts._usageSwitched ? base + ' (usage-switched)' : base;\n }\n if (opts && opts.model)\n return opts.model;\n return 'session';\n}\nfunction stageLabel(base, opts) {\n const m = modelLabel(opts);\n return m === 'session' ? base : base + ' · ' + m;\n}\nfunction mergeOpts(base, extra) {\n const out = {};\n for (const k in base)\n out[k] = base[k];\n for (const k in extra)\n out[k] = extra[k];\n return out;\n}",
|
|
55
55
|
},
|
|
56
56
|
"usage-probes": {
|
|
57
57
|
name: "usage-probes",
|
|
@@ -80,6 +80,15 @@ export const BLOBS = {
|
|
|
80
80
|
exports: ["CHALLENGE_QUESTIONS", "CHALLENGE_VERDICT_SCHEMA", "buildChallengeBrief", "sanitizeFinding", "sanitizeVerdict", "findingsNeedingCrossValidation", "confirmedVerdict", "renderVerdict", "pickAdversaryModel", "classifyModelFamily"],
|
|
81
81
|
code: "const SEV_RANK = { P0: 3, P1: 2, P2: 1 };\nconst VALID_CID = new Set(['C1', 'C2', 'C3', 'C4', 'C5', 'C6', 'C7', 'C8']);\nconst isValidSeverity = (s) => s === 'P0' || s === 'P1' || s === 'P2';\nconst CHALLENGE_QUESTIONS = Object.freeze([\n Object.freeze({\n id: 'C1',\n title: 'Architecture anti-cement',\n prompt: 'Does this plan cement a NEW bad pattern, a wrong boundary, or a shortcut that later work will be ' +\n 'forced to copy? Check it against the product map + vision. IMPORTANT: deviating from a pattern that ' +\n 'is REGISTERED in the accepted-degradations registry is NOT a finding — that debt is already owned. ' +\n 'A genuinely new degradation the plan introduces → name it and propose it for the registry.',\n }),\n Object.freeze({\n id: 'C2',\n title: 'Production-ready',\n prompt: 'Where would this fall over in production? Missing error handling, unhandled failure modes, ' +\n 'resource leaks, missing observability, config/secret handling, migration/rollback. Name the ' +\n 'concrete input or condition that breaks it, not a general worry.',\n }),\n Object.freeze({\n id: 'C3',\n title: 'Test sufficiency + honesty (both ways)',\n prompt: 'Attack the test plan from BOTH sides. Under-testing: which claim — especially a safety property the ' +\n 'ADR NAMES (\"never X\") — has no falsifying test? A test that cannot fail (a wrapper, a tautology, ' +\n 'asserting the mock) is not coverage. Over-testing: which tests are theater — restating the ' +\n 'implementation, testing the framework, brittle snapshots that verify nothing a user cares about?',\n }),\n Object.freeze({\n id: 'C4',\n title: 'Overengineering sweep',\n prompt: 'What in this plan is built for a requirement nobody stated? Speculative generality, an abstraction ' +\n 'with one caller, a config knob no one asked for, a plugin seam for a single case. For each: what is ' +\n 'the simpler thing that meets the ACTUAL requirement?',\n }),\n Object.freeze({\n id: 'C5',\n title: 'Silent decisions',\n prompt: 'Which load-bearing decisions did the plan make WITHOUT surfacing them as a decision? A default that ' +\n 'is really a policy, a chosen tradeoff presented as the only option, a dependency added in passing. ' +\n 'Each silent decision the owner did not get to refuse is a finding.',\n }),\n Object.freeze({\n id: 'C6',\n title: 'Runtime consistency',\n prompt: 'Will this behave consistently with how the rest of the system already works — same error shape, ' +\n 'same config source, same module/ESM conventions, same logging, same naming? Point to the specific ' +\n 'existing convention the plan contradicts.',\n }),\n Object.freeze({\n id: 'C7',\n title: 'Scope',\n prompt: 'Is the plan more than ~1.5× the size the request actually needs? If so, what is the concrete cut ' +\n 'list — which files/steps/abstractions to drop to hit the real requirement — and what is genuinely ' +\n 'load-bearing and must stay?',\n }),\n Object.freeze({\n id: 'C8',\n title: 'Executability',\n prompt: 'Could an executor who is NOT the plan author complete every step without coming back to ask what was ' +\n 'meant? Find the steps that are under-specified, assume unstated context, or hide a research task ' +\n 'behind an imperative verb (\"integrate X\", \"wire up Y\") with no concrete how.',\n }),\n]);\nconst CHALLENGE_VERDICT_SCHEMA = Object.freeze({\n type: 'object',\n required: ['findings', 'summary'],\n properties: {\n findings: {\n type: 'array',\n items: {\n type: 'object',\n required: ['c', 'severity', 'title', 'why'],\n properties: {\n c: { type: 'string', enum: ['C1', 'C2', 'C3', 'C4', 'C5', 'C6', 'C7', 'C8'] },\n severity: { type: 'string', enum: ['P0', 'P1', 'P2'] },\n title: { type: 'string' },\n why: { type: 'string', description: 'concrete failing input/condition, not a general worry' },\n where: { type: 'string', description: 'plan section / file:line if locatable' },\n },\n },\n },\n summary: { type: 'string' },\n },\n});\nconst HR = '─'.repeat(72);\nconst section = (title, body) => body === undefined ? `## ${title}\\n(not provided — panel runs with less calibration)\\n` : `## ${title}\\n${body}\\n`;\nfunction buildChallengeBrief(ctx) {\n const lines = [];\n lines.push('# CHALLENGE PANEL — adversarial plan-gate');\n lines.push('');\n lines.push('You are a FRESH adversarial reviewer. You did NOT write this plan. Your job is to BREAK it, not to ' +\n 'confirm it — find the concrete way each answer fails, or state plainly that you could not. A finding ' +\n 'is a specific failing input/condition/omission, never a general worry. Every P0/P1 you raise will be ' +\n 'independently cross-validated, so do not pad — theory that cannot be reproduced will be dropped.');\n lines.push('');\n lines.push(HR);\n lines.push(section('PLAN UNDER REVIEW (' + ctx.planPath + ')', ctx.plan === '' ? undefined : ctx.plan));\n lines.push(section('PRODUCT VISION (boundaries + principles)', ctx.vision));\n lines.push(section('TESTING POLICY (what \"done\" + honest tests mean here)', ctx.testing));\n lines.push(section('PRODUCT MAP (subsystems + existing conventions)', ctx.map));\n lines.push(section('ACCEPTED-DEGRADATIONS REGISTRY (deviating from THESE is NOT a finding)', ctx.degradations));\n lines.push(section('CODE HINTS', ctx.codeHints));\n lines.push(HR);\n lines.push('');\n lines.push('## Ask each question in \"break it, don\\'t confirm it\" mode');\n for (const q of CHALLENGE_QUESTIONS) {\n lines.push('');\n lines.push(`### ${q.id} — ${q.title}`);\n lines.push(q.prompt);\n }\n lines.push('');\n lines.push(HR);\n lines.push('## Output');\n lines.push('Return findings tagged by C-number with severity P0 (would ship a serious defect / cements bad ' +\n 'architecture), P1 (real gap, fix before code), or P2 (worth noting). For each: a concrete `why` ' +\n '(the failing input/condition) and `where` if locatable. Then a one-paragraph `summary`. This gate ' +\n 'ADVISES — it does not block; the owner decides.');\n lines.push('');\n lines.push('Verdict JSON schema: ' + JSON.stringify(CHALLENGE_VERDICT_SCHEMA));\n return lines.join('\\n');\n}\nfunction sanitizeFinding(raw) {\n if (raw === null || typeof raw !== 'object')\n return null;\n const r = raw;\n if (typeof r.c !== 'string' || !VALID_CID.has(r.c))\n return null;\n if (!isValidSeverity(r.severity))\n return null;\n if (typeof r.title !== 'string' || r.title === '')\n return null;\n if (typeof r.why !== 'string' || r.why === '')\n return null;\n const out = { c: r.c, severity: r.severity, title: r.title, why: r.why };\n return typeof r.where === 'string' && r.where !== '' ? { ...out, where: r.where } : out;\n}\nfunction sanitizeVerdict(raw) {\n if (raw === null || typeof raw !== 'object')\n return null;\n const r = raw;\n if (!Array.isArray(r.findings))\n return null;\n const findings = r.findings.map(sanitizeFinding).filter((f) => f !== null);\n return { findings, summary: typeof r.summary === 'string' ? r.summary : '' };\n}\nfunction findingsNeedingCrossValidation(v) {\n return [...v.findings]\n .filter((f) => f.severity === 'P0' || f.severity === 'P1')\n .sort(cmpFinding);\n}\nfunction cmpFinding(a, b) {\n const s = SEV_RANK[b.severity] - SEV_RANK[a.severity];\n if (s !== 0)\n return s;\n if (a.c !== b.c)\n return a.c < b.c ? -1 : 1;\n return a.title < b.title ? -1 : a.title > b.title ? 1 : 0;\n}\nfunction confirmedVerdict(v, realFlags) {\n const need = findingsNeedingCrossValidation(v);\n const kept = v.findings.filter((f) => f.severity === 'P2');\n need.forEach((f, i) => {\n if (realFlags[i] === true)\n kept.push({ ...f, crossValidated: true });\n });\n kept.sort(cmpFinding);\n return { findings: kept, summary: v.summary };\n}\nfunction renderVerdict(v) {\n if (v.findings.length === 0) {\n return `Challenge panel: no cross-validated findings. ${v.summary}`.trim();\n }\n const byId = (s) => v.findings.filter((f) => f.severity === s).sort(cmpFinding);\n const out = ['Challenge panel verdict (advisory — you decide):', ''];\n for (const sev of ['P0', 'P1', 'P2']) {\n const group = byId(sev);\n if (group.length === 0)\n continue;\n out.push(`### ${sev} (${group.length})`);\n for (const f of group) {\n const cv = f.crossValidated ? ' ✓cross-validated' : '';\n const where = f.where ? ` [${f.where}]` : '';\n out.push(`- ${f.c} ${f.title}${where}${cv}`);\n out.push(` why: ${f.why}`);\n }\n out.push('');\n }\n out.push(v.summary);\n return out.join('\\n').trim();\n}\nfunction pickAdversaryModel(plannerModel) {\n const fam = classifyModelFamily(plannerModel);\n if (fam === 'claude')\n return { model: 'codex', note: `plan authored on ${plannerModel} (Claude) → Codex adversary (cross-family)` };\n if (fam === 'openai')\n return { model: 'claude', note: `plan authored on ${plannerModel} (OpenAI/Codex) → fresh Claude adversary (cross-family)` };\n return { model: 'claude', note: `plan author family UNKNOWN (${plannerModel}) → Claude adversary by default; verify it is cross-family before trusting the verdict` };\n}\nfunction classifyModelFamily(model) {\n const m = String(model).toLowerCase();\n if (/claude|opus|sonnet|haiku|fable/.test(m))\n return 'claude';\n if (/codex|gpt|openai|\\bo[1-9]\\b/.test(m))\n return 'openai';\n return 'unknown';\n}",
|
|
82
82
|
},
|
|
83
|
+
"stage-line": {
|
|
84
|
+
name: "stage-line",
|
|
85
|
+
version: "2.0.0",
|
|
86
|
+
contentHash: "3b921b7b8a38edc8ed7ec544eb792e1f14db1872b87d9bcf3c2daa5839c90675",
|
|
87
|
+
sourcePath: "packages/@dzhechkov/harness-core/src/stage-line.ts",
|
|
88
|
+
requires: [],
|
|
89
|
+
exports: ["STAGE_LINE_REASON_LABELS", "STAGE_LINE_BARRIER_STAGES", "renderStageIntentLine", "renderStageOutcomeLine", "renderStageLine"],
|
|
90
|
+
code: "const STAGE_LINE_REASON_LABELS = {\n 'usage-override': 'usage override (Claude limit pressure)',\n 'explicit-models': 'explicit args.models',\n 'routing-not-requested': 'routing not requested',\n 'coder-knob-codex': 'coder knob = codex',\n 'planner-knob-codex': 'planner knob = codex',\n 'qe-cross-family': 'cross-family QE (the coder never self-reviews)',\n 'budget-table-cell': 'budget table cell',\n 'default-models': 'default models table',\n 'codex-id-substituted': 'unknown codex id — substituted',\n 'spec-unrecognised': 'unrecognised spec — session-inherited',\n 'coder-fallback': 'coder fallback ladder',\n 'codex-unsupported-at-dispatch': 'codex unsupported at this dispatch — Claude',\n 'fallback-after-no-deliverable': 'fallback — the previous rung delivered nothing',\n 'precision-second-pass': 'independent precision second pass',\n 'auto-cost': 'learned-cost routing',\n 'qe-same-family-degraded': 'same-family QE — cross-family review NOT obtained',\n 'challenge-panel': 'adversarial plan-gate panel',\n 'codex-probe-failed': 'codex probe found no usable id — Claude',\n 'codex-refused-before-dispatch': 'codex refused before dispatching — nothing ran',\n 'fallback-rung': 'fallback rung (prior outcome reported separately)',\n};\nconst STAGE_LINE_BARRIER_STAGES = {\n code: 1,\n plan: 1,\n requirements: 1,\n adr: 1,\n ideation: 1,\n architecture: 1,\n};\nfunction renderStagePrefix(stage, decision) {\n let model = 'session';\n if (decision && decision.spec)\n model = decision.spec;\n return '▸ ' + stage + ' · ' + model;\n}\nfunction renderStageIntentLine(stage, decision) {\n let signature = '';\n if (decision) {\n const labelled = STAGE_LINE_REASON_LABELS[decision.reason];\n if (labelled)\n signature = labelled;\n }\n if (!signature) {\n signature = 'unlabelled branch';\n if (decision && decision.reason)\n signature = 'unlabelled branch: ' + decision.reason;\n }\n let line = renderStagePrefix(stage, decision) + ' · ' + signature;\n if (STAGE_LINE_BARRIER_STAGES[stage] && decision && decision.opts && decision.opts.agentType === 'codex:codex-rescue') {\n line = line + ' · landed barrier';\n }\n return line + ' · intent';\n}\nfunction renderStageOutcomeLine(stage, decision, outcome) {\n let model = 'session';\n if (decision && decision.spec)\n model = decision.spec;\n let label = 'dispatched';\n if (outcome && outcome.state === 'probe-failed')\n label = 'probe found no usable model';\n else if (outcome && outcome.state === 'refused-before-dispatch')\n label = 'refused before dispatch';\n let line = '◆ ' + stage + ' · ' + model + ' · outcome: ' + label;\n if (outcome && outcome.state === 'refused-before-dispatch' && outcome.reason === 'codex-unsupported-at-dispatch') {\n line = line + ' · codex agent type unsupported';\n }\n else if (outcome && outcome.state === 'refused-before-dispatch' && outcome.reason) {\n line = line + ' · reason: ' + outcome.reason;\n }\n return line;\n}\nfunction renderStageLine(stage, decision) {\n const intent = renderStageIntentLine(stage, decision);\n return intent.slice(0, intent.length - ' · intent'.length);\n}",
|
|
91
|
+
},
|
|
83
92
|
"trace": {
|
|
84
93
|
name: "trace",
|
|
85
94
|
version: "1.1.0",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop-blobs.generated.js","sourceRoot":"","sources":["../src/loop-blobs.generated.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB;;;;;;;;;;;;;GAaG;AAaH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,aAAa,EAAC,gBAAgB,EAAC,gBAAgB,EAAC,cAAc,EAAC,gBAAgB,EAAC,iBAAiB,EAAC,OAAO,EAAC,gBAAgB,EAAC,mBAAmB,CAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"loop-blobs.generated.js","sourceRoot":"","sources":["../src/loop-blobs.generated.ts"],"names":[],"mappings":"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"}
|
package/dist/loop-lint.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loop-lint.d.ts","sourceRoot":"","sources":["../src/loop-lint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,
|
|
1
|
+
{"version":3,"file":"loop-lint.d.ts","sourceRoot":"","sources":["../src/loop-lint.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAGH,OAAO,EAAyD,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC3H,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,cAAc,CAAC;AAC3D,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,cAAc,GAAG,MAAM,CAAC;AACrE,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,cAAc,GAAG,QAAQ,CAAC;AAE7D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,mFAAmF;IACnF,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CACrC;AAED,eAAO,MAAM,UAAU,+WAmBb,CAAC;AACX,MAAM,MAAM,UAAU,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD;wFACwF;AACxF,eAAO,MAAM,sBAAsB,MAAM,CAAC;AA6R1C,sGAAsG;AACtG,wBAAgB,cAAc,CAAC,UAAU,EAAE,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CA+BnF;AAED;;;6EAG6E;AAC7E,wBAAgB,UAAU,CAAC,UAAU,EAAE,cAAc,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAqC/E;AAuID;;qEAEqE;AACrE,eAAO,MAAM,uBAAuB,QAAyC,CAAC;AAwG9E,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC;IAC/C,IAAI,CAAC,EAAE,QAAQ,CAAC;CACjB;AAED,wBAAgB,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE,WAAgB,GAAG,OAAO,CAwDxE;AAED,yFAAyF;AACzF,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAEjD"}
|