@nexus-cortex/core 4.108.21 → 4.109.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/.env.defaults +49 -0
  2. package/dist/adapters/GatewayTranslationLayer.js +1 -1
  3. package/dist/adapters/GatewayTranslationLayer.js.map +1 -1
  4. package/dist/config/RuntimeConfigRegistry.d.ts.map +1 -1
  5. package/dist/config/RuntimeConfigRegistry.js +4 -0
  6. package/dist/config/RuntimeConfigRegistry.js.map +1 -1
  7. package/dist/config/SettingsLoader.d.ts.map +1 -1
  8. package/dist/config/SettingsLoader.js +4 -0
  9. package/dist/config/SettingsLoader.js.map +1 -1
  10. package/dist/config/SettingsSchema.d.ts +4 -0
  11. package/dist/config/SettingsSchema.d.ts.map +1 -1
  12. package/dist/config/SettingsSchema.js +36 -0
  13. package/dist/config/SettingsSchema.js.map +1 -1
  14. package/dist/config/effectiveConfig.d.ts.map +1 -1
  15. package/dist/config/effectiveConfig.js +4 -0
  16. package/dist/config/effectiveConfig.js.map +1 -1
  17. package/dist/middleware/ErrorClassificationMiddleware.d.ts.map +1 -1
  18. package/dist/middleware/ErrorClassificationMiddleware.js +2 -0
  19. package/dist/middleware/ErrorClassificationMiddleware.js.map +1 -1
  20. package/dist/orchestrator/APIClient.d.ts.map +1 -1
  21. package/dist/orchestrator/APIClient.js +10 -1
  22. package/dist/orchestrator/APIClient.js.map +1 -1
  23. package/dist/orchestrator/CortexOrchestrator.d.ts +10 -0
  24. package/dist/orchestrator/CortexOrchestrator.d.ts.map +1 -1
  25. package/dist/orchestrator/CortexOrchestrator.js +171 -109
  26. package/dist/orchestrator/CortexOrchestrator.js.map +1 -1
  27. package/dist/orchestrator/completionBodyGuard.d.ts +16 -0
  28. package/dist/orchestrator/completionBodyGuard.d.ts.map +1 -0
  29. package/dist/orchestrator/completionBodyGuard.js +37 -0
  30. package/dist/orchestrator/completionBodyGuard.js.map +1 -0
  31. package/dist/orchestrator/emptyResponseClassifier.d.ts +21 -0
  32. package/dist/orchestrator/emptyResponseClassifier.d.ts.map +1 -1
  33. package/dist/orchestrator/emptyResponseClassifier.js +44 -0
  34. package/dist/orchestrator/emptyResponseClassifier.js.map +1 -1
  35. package/dist/orchestrator/imageRejectionHeal.d.ts +24 -0
  36. package/dist/orchestrator/imageRejectionHeal.d.ts.map +1 -0
  37. package/dist/orchestrator/imageRejectionHeal.js +65 -0
  38. package/dist/orchestrator/imageRejectionHeal.js.map +1 -0
  39. package/dist/orchestrator/timeBudget.d.ts +2 -0
  40. package/dist/orchestrator/timeBudget.d.ts.map +1 -1
  41. package/dist/orchestrator/timeBudget.js +10 -0
  42. package/dist/orchestrator/timeBudget.js.map +1 -1
  43. package/dist/orchestrator/turnEndGuards.d.ts +1 -1
  44. package/dist/orchestrator/turnEndGuards.d.ts.map +1 -1
  45. package/dist/orchestrator/turnEndGuards.js +21 -1
  46. package/dist/orchestrator/turnEndGuards.js.map +1 -1
  47. package/dist/training/DecisionStore.d.ts +1 -1
  48. package/dist/training/DecisionStore.d.ts.map +1 -1
  49. package/dist/training/DecisionStore.js.map +1 -1
  50. package/dist/utils/stateDir.d.ts +11 -0
  51. package/dist/utils/stateDir.d.ts.map +1 -1
  52. package/dist/utils/stateDir.js +53 -1
  53. package/dist/utils/stateDir.js.map +1 -1
  54. package/package.json +3 -3
@@ -0,0 +1,16 @@
1
+ /**
2
+ * R152 HB-EMPTY-COMPLETION-RETRY (2026-09-15, tb21-a21 + tb4-flash-v3): during a 27-minute DeepSeek incident (1:30-1:57 AM PT) the
3
+ * chat/completions endpoint answered with a body that parsed to `null`; the OpenAI SDK handed it back as the response, the translation
4
+ * layer dereferenced `resp.choices` and the tool loop ended the turn on the TypeError ("Cannot read properties of null (reading
5
+ * 'choices')") — 30 sessions across three runs, most of them at iteration 1-20, i.e. a lost task each. A body that is not a completion
6
+ * is a transport-class fault: throw an error the ErrorClassificationMiddleware classifies as `network` so the R150 budget ladder retries it.
7
+ */
8
+ export declare class EmptyCompletionBodyError extends Error {
9
+ readonly retryable = true;
10
+ constructor(provider: string, detail: string);
11
+ }
12
+ /** Describe why a body is not a usable completion, or null when it is. */
13
+ export declare function completionBodyProblem(body: unknown): string | null;
14
+ /** Throw EmptyCompletionBodyError when the body is not a completion; otherwise return it typed. */
15
+ export declare function assertCompletionBody<T>(body: T, provider: string): T;
16
+ //# sourceMappingURL=completionBodyGuard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completionBodyGuard.d.ts","sourceRoot":"","sources":["../../src/orchestrator/completionBodyGuard.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,SAAS,QAAQ;gBACd,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAI7C;AAED,0EAA0E;AAC1E,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAQlE;AAED,mGAAmG;AACnG,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,CAIpE"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * R152 HB-EMPTY-COMPLETION-RETRY (2026-09-15, tb21-a21 + tb4-flash-v3): during a 27-minute DeepSeek incident (1:30-1:57 AM PT) the
3
+ * chat/completions endpoint answered with a body that parsed to `null`; the OpenAI SDK handed it back as the response, the translation
4
+ * layer dereferenced `resp.choices` and the tool loop ended the turn on the TypeError ("Cannot read properties of null (reading
5
+ * 'choices')") — 30 sessions across three runs, most of them at iteration 1-20, i.e. a lost task each. A body that is not a completion
6
+ * is a transport-class fault: throw an error the ErrorClassificationMiddleware classifies as `network` so the R150 budget ladder retries it.
7
+ */
8
+ export class EmptyCompletionBodyError extends Error {
9
+ retryable = true;
10
+ constructor(provider, detail) {
11
+ super(`Empty completion body from ${provider}: ${detail}`);
12
+ this.name = 'EmptyCompletionBodyError';
13
+ }
14
+ }
15
+ /** Describe why a body is not a usable completion, or null when it is. */
16
+ export function completionBodyProblem(body) {
17
+ if (body === null || body === undefined)
18
+ return 'response parsed to null';
19
+ if (typeof body !== 'object')
20
+ return `response is a ${typeof body}`;
21
+ const b = body;
22
+ if (b.error && typeof b.error === 'object')
23
+ return `error object without choices: ${JSON.stringify(b.error).slice(0, 160)}`;
24
+ if (!Array.isArray(b.choices))
25
+ return `no choices array (keys: ${Object.keys(b).slice(0, 8).join(',') || 'none'})`;
26
+ if (b.choices.length === 0)
27
+ return 'empty choices array';
28
+ return null;
29
+ }
30
+ /** Throw EmptyCompletionBodyError when the body is not a completion; otherwise return it typed. */
31
+ export function assertCompletionBody(body, provider) {
32
+ const problem = completionBodyProblem(body);
33
+ if (problem)
34
+ throw new EmptyCompletionBodyError(provider, problem);
35
+ return body;
36
+ }
37
+ //# sourceMappingURL=completionBodyGuard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completionBodyGuard.js","sourceRoot":"","sources":["../../src/orchestrator/completionBodyGuard.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACxC,SAAS,GAAG,IAAI,CAAC;IAC1B,YAAY,QAAgB,EAAE,MAAc;QAC1C,KAAK,CAAC,8BAA8B,QAAQ,KAAK,MAAM,EAAE,CAAC,CAAC;QAC3D,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED,0EAA0E;AAC1E,MAAM,UAAU,qBAAqB,CAAC,IAAa;IACjD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,yBAAyB,CAAC;IAC1E,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,iBAAiB,OAAO,IAAI,EAAE,CAAC;IACpE,MAAM,CAAC,GAAG,IAA+B,CAAC;IAC1C,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;QAAE,OAAO,iCAAiC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;IAC5H,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;QAAE,OAAO,2BAA2B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC;IACnH,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,qBAAqB,CAAC;IACzD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,oBAAoB,CAAI,IAAO,EAAE,QAAgB;IAC/D,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,OAAO;QAAE,MAAM,IAAI,wBAAwB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACnE,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -42,4 +42,25 @@ export declare function emptyResponseNudge(kind: EmptyResponseKind): string;
42
42
  * "do not call any more tools" (which the reasoning_only/no_content path appends).
43
43
  * HB-ENDTURN-TERMINAL: `reasoning_only_active` (mid-recon, budget remaining) is likewise a CONTINUE. */
44
44
  export declare function nudgeForbidsTools(kind: EmptyResponseKind): boolean;
45
+ /**
46
+ * R153 HB-REASONING-EXHAUSTION (2026-09-16, tb4-flash-v3): a `truncated` turn that carried reasoning and
47
+ * nothing else spent the WHOLE output budget thinking (DeepSeek flash at effort high: 58 turns at exactly
48
+ * 65536 output tokens across 23 of 63 sessions, 3.8M output tokens burned, sessions ending at iteration
49
+ * 10 with 97% of the wall budget left). "Continue from where you stopped" cannot work — the reasoning is
50
+ * not resumable — so the remedy is to think LESS on the next call(s): step the reasoning effort down one
51
+ * level for a bounded number of continuations and say plainly what happened.
52
+ */
53
+ export declare function isReasoningExhaustion(cls: EmptyResponseClassification | null | undefined): boolean;
54
+ export type ReasoningEffortLevel = 'low' | 'medium' | 'high';
55
+ /** One level down from the effective effort; unknown/card-default effort steps to 'medium' first. */
56
+ export declare function stepDownEffort(current: string | undefined): ReasoningEffortLevel;
57
+ export interface ReasoningExhaustBackoffConfig {
58
+ enabled: boolean;
59
+ turns: number;
60
+ }
61
+ /** CORTEX_REASONING_EXHAUST_BACKOFF (default on; 'false' disables) / CORTEX_REASONING_EXHAUST_BACKOFF_TURNS (default 2, 1..10). */
62
+ export declare function resolveReasoningExhaustBackoff(env?: NodeJS.ProcessEnv): ReasoningExhaustBackoffConfig;
63
+ export declare function reasoningExhaustionNudge(level: ReasoningEffortLevel | undefined): string;
64
+ /** Kind-tailored nudge that also knows the exhaustion special case (falls back to emptyResponseNudge). */
65
+ export declare function emptyResponseNudgeFor(cls: EmptyResponseClassification, backoffLevel?: ReasoningEffortLevel): string;
45
66
  //# sourceMappingURL=emptyResponseClassifier.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"emptyResponseClassifier.d.ts","sourceRoot":"","sources":["../../src/orchestrator/emptyResponseClassifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,MAAM,iBAAiB,GACzB,WAAW,GACX,gBAAgB,GAChB,uBAAuB,GACvB,oBAAoB,GACpB,WAAW,CAAC;AAKhB,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,iBAAiB,CAAC;IACxB,2DAA2D;IAC3D,YAAY,EAAE,OAAO,CAAC;IACtB,sEAAsE;IACtE,UAAU,EAAE,OAAO,CAAC;CACrB;AAMD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,EAChB,UAAU,CAAC,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,OAAO,GACtB,2BAA2B,CAuB7B;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAWlE;AAED;;wGAEwG;AACxG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAElE"}
1
+ {"version":3,"file":"emptyResponseClassifier.d.ts","sourceRoot":"","sources":["../../src/orchestrator/emptyResponseClassifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,MAAM,iBAAiB,GACzB,WAAW,GACX,gBAAgB,GAChB,uBAAuB,GACvB,oBAAoB,GACpB,WAAW,CAAC;AAKhB,MAAM,WAAW,2BAA2B;IAC1C,IAAI,EAAE,iBAAiB,CAAC;IACxB,2DAA2D;IAC3D,YAAY,EAAE,OAAO,CAAC;IACtB,sEAAsE;IACtE,UAAU,EAAE,OAAO,CAAC;CACrB;AAMD;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,OAAO,EAChB,UAAU,CAAC,EAAE,MAAM,EACnB,aAAa,CAAC,EAAE,OAAO,GACtB,2BAA2B,CAuB7B;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAWlE;AAED;;wGAEwG;AACxG,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAElE;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,2BAA2B,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAElG;AAED,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE7D,qGAAqG;AACrG,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,oBAAoB,CAMhF;AAED,MAAM,WAAW,6BAA6B;IAAG,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAElF,mIAAmI;AACnI,wBAAgB,8BAA8B,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,6BAA6B,CAOlH;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,oBAAoB,GAAG,SAAS,GAAG,MAAM,CAQxF;AAED,0GAA0G;AAC1G,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,2BAA2B,EAAE,YAAY,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAGnH"}
@@ -73,4 +73,48 @@ export function emptyResponseNudge(kind) {
73
73
  export function nudgeForbidsTools(kind) {
74
74
  return kind !== 'truncated' && kind !== 'reasoning_only_active';
75
75
  }
76
+ /**
77
+ * R153 HB-REASONING-EXHAUSTION (2026-09-16, tb4-flash-v3): a `truncated` turn that carried reasoning and
78
+ * nothing else spent the WHOLE output budget thinking (DeepSeek flash at effort high: 58 turns at exactly
79
+ * 65536 output tokens across 23 of 63 sessions, 3.8M output tokens burned, sessions ending at iteration
80
+ * 10 with 97% of the wall budget left). "Continue from where you stopped" cannot work — the reasoning is
81
+ * not resumable — so the remedy is to think LESS on the next call(s): step the reasoning effort down one
82
+ * level for a bounded number of continuations and say plainly what happened.
83
+ */
84
+ export function isReasoningExhaustion(cls) {
85
+ return !!cls && cls.kind === 'truncated' && cls.hadReasoning && !cls.hadToolUse;
86
+ }
87
+ /** One level down from the effective effort; unknown/card-default effort steps to 'medium' first. */
88
+ export function stepDownEffort(current) {
89
+ const c = (current ?? '').trim().toLowerCase();
90
+ if (c === 'max' || c === 'high' || c === 'xhigh')
91
+ return 'medium';
92
+ if (c === 'medium')
93
+ return 'low';
94
+ if (c === 'low' || c === 'minimal' || c === 'none')
95
+ return 'low';
96
+ return 'medium';
97
+ }
98
+ /** CORTEX_REASONING_EXHAUST_BACKOFF (default on; 'false' disables) / CORTEX_REASONING_EXHAUST_BACKOFF_TURNS (default 2, 1..10). */
99
+ export function resolveReasoningExhaustBackoff(env = process.env) {
100
+ const v = (env.CORTEX_REASONING_EXHAUST_BACKOFF ?? '').trim().toLowerCase();
101
+ const enabled = v === '' ? true : !(v === 'false' || v === '0' || v === 'off');
102
+ const rawTurns = (env.CORTEX_REASONING_EXHAUST_BACKOFF_TURNS ?? '').trim();
103
+ const n = rawTurns === '' ? 2 : Number(rawTurns);
104
+ const turns = Number.isFinite(n) && n >= 1 ? Math.min(10, Math.floor(n)) : 2;
105
+ return { enabled, turns };
106
+ }
107
+ export function reasoningExhaustionNudge(level) {
108
+ const lv = level ? ` Reasoning effort is temporarily lowered to '${level}' for your next calls.` : '';
109
+ return ('Your previous turn spent the ENTIRE output budget on internal reasoning and delivered nothing — no text, no tool ' +
110
+ 'call — so it was wasted. Do not restart that analysis. Decide in a few sentences and ACT: call the single most ' +
111
+ 'useful tool now (a quick experiment beats a long derivation), or write your final answer only if you are actually ' +
112
+ 'done.' + lv);
113
+ }
114
+ /** Kind-tailored nudge that also knows the exhaustion special case (falls back to emptyResponseNudge). */
115
+ export function emptyResponseNudgeFor(cls, backoffLevel) {
116
+ if (isReasoningExhaustion(cls))
117
+ return reasoningExhaustionNudge(backoffLevel);
118
+ return emptyResponseNudge(cls.kind);
119
+ }
76
120
  //# sourceMappingURL=emptyResponseClassifier.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emptyResponseClassifier.js","sourceRoot":"","sources":["../../src/orchestrator/emptyResponseClassifier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AASrE,qGAAqG;AACrG,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,mBAAmB,EAAE,cAAc,CAAC,CAAC,CAAC;AAU/F,SAAS,MAAM,CAAC,OAAgB;IAC9B,OAAO,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAgB,EAChB,UAAmB,EACnB,aAAuB;IAEvB,MAAM,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC3B,MAAM,YAAY,GAAG,EAAE,CAAC,IAAI,CAC1B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,UAAU,IAAI,CAAC,EAAE,IAAI,KAAK,mBAAmB,CACjE,CAAC;IACF,MAAM,UAAU,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,UAAU,CAAC,CAAC;IAE1D,IAAI,uBAAuB,CAAC,OAAc,CAAC,IAAI,UAAU,EAAE,CAAC;QAC1D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;IACzD,CAAC;IACD,gGAAgG;IAChG,gGAAgG;IAChG,+FAA+F;IAC/F,+FAA+F;IAC/F,IAAI,UAAU,IAAI,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACvE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;IACzD,CAAC;IACD,IAAI,YAAY,EAAE,CAAC;QACjB,kGAAkG;QAClG,sGAAsG;QACtG,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,gBAAgB,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;IACxG,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;AAClE,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAuB;IACxD,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;QACzB,OAAO,kMAAkM,CAAC;IAC5M,CAAC;IACD,IAAI,IAAI,KAAK,uBAAuB,EAAE,CAAC;QACrC,OAAO,gQAAgQ,CAAC;IAC1Q,CAAC;IACD,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;QAC9B,OAAO,iIAAiI,CAAC;IAC3I,CAAC;IACD,OAAO,8FAA8F,CAAC;AACxG,CAAC;AAED;;wGAEwG;AACxG,MAAM,UAAU,iBAAiB,CAAC,IAAuB;IACvD,OAAO,IAAI,KAAK,WAAW,IAAI,IAAI,KAAK,uBAAuB,CAAC;AAClE,CAAC"}
1
+ {"version":3,"file":"emptyResponseClassifier.js","sourceRoot":"","sources":["../../src/orchestrator/emptyResponseClassifier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * R154 HB-IMAGE-REJECTION-HEAL (2026-09-16, tb4-flash-v3 retro-console-soc).
3
+ *
4
+ * A ReadImage result rides into the next request as an `image` content block. When the provider
5
+ * rejects that block (DeepSeek: `400 .messages[290].image[0]: You have uploaded an unsupported
6
+ * image ...` on an 8-bit grayscale PNG the model had just generated), the continuation call throws
7
+ * AFTER the tool batch executed, the loop leaves (already-executed guard), and the R29a synthesis
8
+ * call re-sends the same history and fails on the same block — the session ends with no answer
9
+ * (retro-console-soc: iteration 133 of an 8-hour budget, 43 min in, 4/8 tests).
10
+ *
11
+ * The heal is provider-agnostic: recognise the rejection, replace every image block in the user
12
+ * history with a short text stub that tells the model what happened and how to re-encode, and let
13
+ * the caller retry the SAME request build once. Nothing else in the history changes.
14
+ */
15
+ /** True when an API error is the provider refusing an image block (a request-shape 4xx, not transport). */
16
+ export declare function isImageRejectionError(err: unknown): boolean;
17
+ export declare function imageRejectionStub(reason: string): string;
18
+ /**
19
+ * Replace every `image` block in user messages of `history` (the orchestrator's messageHistory
20
+ * records: `{ type, message: { role, content } }`) with a text stub. Returns the number of blocks
21
+ * replaced. Mutates in place so the caller's next request build sees the healed history.
22
+ */
23
+ export declare function stripRejectedImages(history: any[], reason: string): number;
24
+ //# sourceMappingURL=imageRejectionHeal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageRejectionHeal.d.ts","sourceRoot":"","sources":["../../src/orchestrator/imageRejectionHeal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAWH,2GAA2G;AAC3G,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAO3D;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAQzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAiB1E"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * R154 HB-IMAGE-REJECTION-HEAL (2026-09-16, tb4-flash-v3 retro-console-soc).
3
+ *
4
+ * A ReadImage result rides into the next request as an `image` content block. When the provider
5
+ * rejects that block (DeepSeek: `400 .messages[290].image[0]: You have uploaded an unsupported
6
+ * image ...` on an 8-bit grayscale PNG the model had just generated), the continuation call throws
7
+ * AFTER the tool batch executed, the loop leaves (already-executed guard), and the R29a synthesis
8
+ * call re-sends the same history and fails on the same block — the session ends with no answer
9
+ * (retro-console-soc: iteration 133 of an 8-hour budget, 43 min in, 4/8 tests).
10
+ *
11
+ * The heal is provider-agnostic: recognise the rejection, replace every image block in the user
12
+ * history with a short text stub that tells the model what happened and how to re-encode, and let
13
+ * the caller retry the SAME request build once. Nothing else in the history changes.
14
+ */
15
+ const IMAGE_REJECTION_RES = [
16
+ /unsupported image/i,
17
+ /invalid image/i,
18
+ /image\[\d+\]/i,
19
+ /could not (decode|process|load) (the )?image/i,
20
+ /image (format|type) (is )?(not supported|unsupported|invalid)/i,
21
+ /unsupported (media|mime) type.*image/i,
22
+ ];
23
+ /** True when an API error is the provider refusing an image block (a request-shape 4xx, not transport). */
24
+ export function isImageRejectionError(err) {
25
+ const e = err;
26
+ const msg = String(e?.message ?? e?.error?.message ?? e ?? '');
27
+ if (!msg)
28
+ return false;
29
+ const status = Number(e?.status ?? e?.statusCode ?? e?.response?.status ?? NaN);
30
+ const looksClientError = Number.isFinite(status) ? status >= 400 && status < 500 : /\b4\d\d\b/.test(msg);
31
+ return looksClientError && IMAGE_REJECTION_RES.some((re) => re.test(msg));
32
+ }
33
+ export function imageRejectionStub(reason) {
34
+ const r = reason.replace(/\s+/g, ' ').trim().slice(0, 200);
35
+ return (`[image withheld: the model provider rejected this image (${r}). ` +
36
+ `If you still need it, re-encode it as an 8-bit RGB PNG or JPEG ` +
37
+ `(e.g. python3 -c "from PIL import Image; Image.open('in.png').convert('RGB').save('out.png')") ` +
38
+ `and call ReadImage on the new file.]`);
39
+ }
40
+ /**
41
+ * Replace every `image` block in user messages of `history` (the orchestrator's messageHistory
42
+ * records: `{ type, message: { role, content } }`) with a text stub. Returns the number of blocks
43
+ * replaced. Mutates in place so the caller's next request build sees the healed history.
44
+ */
45
+ export function stripRejectedImages(history, reason) {
46
+ let n = 0;
47
+ const stub = imageRejectionStub(reason);
48
+ for (const rec of history) {
49
+ const msg = rec?.message ?? rec;
50
+ if (!msg || msg.role !== 'user')
51
+ continue;
52
+ const content = msg.content;
53
+ if (!Array.isArray(content))
54
+ continue;
55
+ for (let i = 0; i < content.length; i++) {
56
+ const b = content[i];
57
+ if (b && typeof b === 'object' && b.type === 'image') {
58
+ content[i] = { type: 'text', text: stub };
59
+ n++;
60
+ }
61
+ }
62
+ }
63
+ return n;
64
+ }
65
+ //# sourceMappingURL=imageRejectionHeal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imageRejectionHeal.js","sourceRoot":"","sources":["../../src/orchestrator/imageRejectionHeal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,mBAAmB,GAAG;IAC1B,oBAAoB;IACpB,gBAAgB;IAChB,eAAe;IACf,+CAA+C;IAC/C,gEAAgE;IAChE,uCAAuC;CACxC,CAAC;AAEF,2GAA2G;AAC3G,MAAM,UAAU,qBAAqB,CAAC,GAAY;IAChD,MAAM,CAAC,GAAG,GAAU,CAAC;IACrB,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/D,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE,UAAU,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC;IAChF,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzG,OAAO,gBAAgB,IAAI,mBAAmB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,MAAc;IAC/C,MAAM,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC3D,OAAO,CACL,4DAA4D,CAAC,KAAK;QAClE,iEAAiE;QACjE,iGAAiG;QACjG,sCAAsC,CACvC,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAc,EAAE,MAAc;IAChE,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,MAAM,IAAI,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,GAAG,EAAE,OAAO,IAAI,GAAG,CAAC;QAChC,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM;YAAE,SAAS;QAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,SAAS;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACrD,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAC1C,CAAC,EAAE,CAAC;YACN,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC"}
@@ -27,6 +27,8 @@ export declare function timeBudgetWarnNudge(elapsedMs: number, deadlineMs: numbe
27
27
  */
28
28
  export declare function resolveBudgetVisibility(env?: NodeJS.ProcessEnv): boolean;
29
29
  export declare function resolveBudgetContinueMinRemaining(env?: NodeJS.ProcessEnv): number;
30
+ /** R157: how many continue-with-budget nudges a single turn may receive (CORTEX_BUDGET_CONTINUE_MAX_NUDGES; default 2; 0 = off; max 10). */
31
+ export declare function resolveBudgetContinueMaxNudges(env?: NodeJS.ProcessEnv): number;
30
32
  /** 0..bands index of the elapsed fraction; -1 when no deadline. Band changes are the injection points. */
31
33
  export declare function budgetBand(elapsedMs: number, deadlineMs: number, bands?: number): number;
32
34
  export declare function formatBudgetHM(ms: number): string;
@@ -1 +1 @@
1
- {"version":3,"file":"timeBudget.d.ts","sourceRoot":"","sources":["../../src/orchestrator/timeBudget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;AAEtD,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAIR;AAED,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,SAAM,GACb,eAAe,CAKjB;AAED,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQjF;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAIrF;AAED,wBAAgB,iCAAiC,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAM9F;AAED,0GAA0G;AAC1G,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,MAAM,CAGpF;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAIjD;AAED,oHAAoH;AACpH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQlF"}
1
+ {"version":3,"file":"timeBudget.d.ts","sourceRoot":"","sources":["../../src/orchestrator/timeBudget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,CAAC;AAEtD,wBAAgB,qBAAqB,CACnC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,MAAM,CAIR;AAED,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,SAAM,GACb,eAAe,CAKjB;AAED,mFAAmF;AACnF,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQjF;AAED;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAIrF;AAED,wBAAgB,iCAAiC,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAM9F;AAED,4IAA4I;AAC5I,wBAAgB,8BAA8B,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAM3F;AAED,0GAA0G;AAC1G,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,SAAK,GAAG,MAAM,CAGpF;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAIjD;AAED,oHAAoH;AACpH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAQlF"}
@@ -45,6 +45,16 @@ export function resolveBudgetContinueMinRemaining(env = process.env) {
45
45
  return 0;
46
46
  return Math.min(1, n);
47
47
  }
48
+ /** R157: how many continue-with-budget nudges a single turn may receive (CORTEX_BUDGET_CONTINUE_MAX_NUDGES; default 2; 0 = off; max 10). */
49
+ export function resolveBudgetContinueMaxNudges(env = process.env) {
50
+ const raw = (env.CORTEX_BUDGET_CONTINUE_MAX_NUDGES ?? '').trim();
51
+ if (raw === '')
52
+ return 2;
53
+ const n = Number(raw);
54
+ if (!Number.isFinite(n) || n <= 0)
55
+ return 0;
56
+ return Math.min(10, Math.floor(n));
57
+ }
48
58
  /** 0..bands index of the elapsed fraction; -1 when no deadline. Band changes are the injection points. */
49
59
  export function budgetBand(elapsedMs, deadlineMs, bands = 10) {
50
60
  if (!(deadlineMs > 0))
@@ -1 +1 @@
1
- {"version":3,"file":"timeBudget.js","sourceRoot":"","sources":["../../src/orchestrator/timeBudget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"timeBudget.js","sourceRoot":"","sources":["../../src/orchestrator/timeBudget.ts"],"names":[],"mappings":"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"}
@@ -16,5 +16,5 @@ export declare function resolveSurrenderNudgeMode(env?: NodeJS.ProcessEnv): bool
16
16
  export declare function detectSurrenderText(finalText: string): boolean;
17
17
  export declare const SURRENDER_REMINDER: string;
18
18
  export declare function detectOpenItemsText(finalText: string): boolean;
19
- export declare function buildBudgetContinueReminder(remainingMs: number, deadlineMs: number): string;
19
+ export declare function buildBudgetContinueReminder(remainingMs: number, deadlineMs: number, nudgeIndex?: number): string;
20
20
  //# sourceMappingURL=turnEndGuards.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"turnEndGuards.d.ts","sourceRoot":"","sources":["../../src/orchestrator/turnEndGuards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,wBAAgB,yBAAyB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEvF;AAmBD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAG9D;AAED,eAAO,MAAM,kBAAkB,QAK4B,CAAC;AAoB5D,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAG9D;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAS3F"}
1
+ {"version":3,"file":"turnEndGuards.d.ts","sourceRoot":"","sources":["../../src/orchestrator/turnEndGuards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,wBAAgB,yBAAyB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEvF;AAmBD,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAG9D;AAED,eAAO,MAAM,kBAAkB,QAK4B,CAAC;AAiC5D,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAG9D;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAE,MAAU,GAAG,MAAM,CAkBnH"}
@@ -57,15 +57,35 @@ const OPEN_ITEMS_RES = [
57
57
  /\bran out of (time|budget|iterations)\b/i,
58
58
  /\b(unverified|untested) (against|on|with|because)\b/i,
59
59
  /\bwould (need|require) (more|further|additional) (time|work|investigation|runs?)\b/i,
60
+ // R157 (2026-09-16, tb4-flash-v3 audit): explicit surrenders the first set missed — "TASK NOT COMPLETE", "I did not
61
+ // prove", "did not fully solve", "honest status report", "fails the task's real success criterion", "unable to".
62
+ /\bnot (fully )?(complete|completed|solved|done|finished)\b/i,
63
+ /\btask is not\b/i,
64
+ /\bdid not (fully )?(complete|solve|finish|prove|fix|implement|apply|achieve|reach|get|find|succeed)\b/i,
65
+ /\bcould not (prove|solve|find|get|make|reproduce|achieve|reach|meet|fix|determine|identify|resolve)\b/i,
66
+ /\bunable to\b/i,
67
+ /\bincomplete\b/i,
68
+ /\bhonest (status|account|bottom line|accounting|summary)\b/i,
69
+ /\bfails? (the|its|this) [^.]{0,40}(criterion|criteria|check|test|requirement|gate|bar|threshold)\b/i,
70
+ /\bnot (a |the )?(working|full|complete) (fix|solution|implementation|proof)\b/i,
71
+ /\bpartial(ly)? (solved|complete|implemented|working|solution)\b/i,
72
+ /\bstill (fails?|failing|missing|broken|wrong|incorrect)\b/i,
60
73
  ];
61
74
  export function detectOpenItemsText(finalText) {
62
75
  if (!finalText || finalText.length < 120)
63
76
  return false;
64
77
  return OPEN_ITEMS_RES.some((re) => re.test(finalText));
65
78
  }
66
- export function buildBudgetContinueReminder(remainingMs, deadlineMs) {
79
+ export function buildBudgetContinueReminder(remainingMs, deadlineMs, nudgeIndex = 1) {
67
80
  const h = (ms) => { const t = Math.max(0, Math.round(ms / 60000)); const hh = Math.floor(t / 60); const mm = t % 60; return hh > 0 ? `${hh}h${String(mm).padStart(2, '0')}m` : `${mm}m`; };
68
81
  const pct = deadlineMs > 0 ? Math.round((remainingMs / deadlineMs) * 100) : 0;
82
+ if (nudgeIndex >= 2) {
83
+ // R157: the re-armed nudge — the first one was answered with another open-items finish.
84
+ return (`<system-reminder>This is the ${nudgeIndex === 2 ? 'second' : `${nudgeIndex}th`} time you are finishing with open, unverified ` +
85
+ `or failed items while ~${h(remainingMs)} of the ${h(deadlineMs)} wall budget (${pct}%) remains. Stopping now forfeits that ` +
86
+ `time. Pick the single most valuable open item, work it with tools until it is closed or you hit a hard limit you can ` +
87
+ `name, then re-check the task's own acceptance criteria before you finish. Do not summarize again; act.</system-reminder>`);
88
+ }
69
89
  return (`<system-reminder>You are finishing with open, unverified or unexecuted items while ~${h(remainingMs)} of the ` +
70
90
  `${h(deadlineMs)} wall budget (${pct}%) remains. That budget is yours to spend: go back and CLOSE those items now — ` +
71
91
  `run the task's own checks, execute the steps you listed, verify every claim you flagged as unverified — and only ` +
@@ -1 +1 @@
1
- {"version":3,"file":"turnEndGuards.js","sourceRoot":"","sources":["../../src/orchestrator/turnEndGuards.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,UAAU,yBAAyB,CAAC,MAAyB,OAAO,CAAC,GAAG;IAC5E,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC;AAC5E,CAAC;AAED;oDACoD;AACpD,MAAM,aAAa,GAAG;IACpB,2CAA2C;IAC3C,kCAAkC;IAClC,8BAA8B;IAC9B,iBAAiB;IACjB,+CAA+C;IAC/C,mDAAmD;IACnD,2BAA2B;IAC3B,6EAA6E;IAC7E,+BAA+B;IAC/B,wDAAwD;IACxD,kEAAkE;IAClE,8BAA8B;CAC/B,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC;IACtD,OAAO,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAC7B,yFAAyF;IACzF,6FAA6F;IAC7F,2FAA2F;IAC3F,8FAA8F;IAC9F,yDAAyD,CAAC;AAE5D;;;iDAGiD;AACjD,MAAM,cAAc,GAAG;IACrB,kBAAkB;IAClB,yFAAyF;IACzF,8CAA8C;IAC9C,kEAAkE;IAClE,+CAA+C;IAC/C,6GAA6G;IAC7G,iBAAiB;IACjB,oDAAoD;IACpD,0CAA0C;IAC1C,sDAAsD;IACtD,qFAAqF;CACtF,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,GAAG;QAAE,OAAO,KAAK,CAAC;IACvD,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,WAAmB,EAAE,UAAkB;IACjF,MAAM,CAAC,GAAG,CAAC,EAAU,EAAE,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACnM,MAAM,GAAG,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,OAAO,CACL,uFAAuF,CAAC,CAAC,WAAW,CAAC,UAAU;QAC/G,GAAG,CAAC,CAAC,UAAU,CAAC,iBAAiB,GAAG,iFAAiF;QACrH,mHAAmH;QACnH,yHAAyH,CAC1H,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"turnEndGuards.js","sourceRoot":"","sources":["../../src/orchestrator/turnEndGuards.ts"],"names":[],"mappings":"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"}
@@ -51,7 +51,7 @@ export interface Decision {
51
51
  detail?: Record<string, unknown>;
52
52
  }
53
53
  /** Observability event kinds (docs/HARNESS_IMPROVEMENT_BACKLOG.md item 3). */
54
- export type SteeringEventKind = 'steering_injected' | 'loop_escalation' | 'endturn_gate_fallback' | 'budget_continue_nudge' | 'inaction_nudge' | 'effort_pulse' | 'time_budget_break' | 'lift_plan' | 'endturn_resolver' | 'deadline_exit_mentor' | 'deadline_exit_break' | 'loop_tool_block' | 'poll_steer' | 'doctrine_curation' | 'doctrine_curation_timeout' | 'integrity_flag' | 'surrender_nudge' | 'mentor_consult' | 'task_spawn' | 'delegate_pane' | 'compaction' | 'slice_block' | 'loop_break' | 'dsml_recovered';
54
+ export type SteeringEventKind = 'steering_injected' | 'loop_escalation' | 'endturn_gate_fallback' | 'budget_continue_nudge' | 'inaction_nudge' | 'effort_pulse' | 'time_budget_break' | 'lift_plan' | 'endturn_resolver' | 'deadline_exit_mentor' | 'deadline_exit_break' | 'loop_tool_block' | 'poll_steer' | 'doctrine_curation' | 'doctrine_curation_timeout' | 'integrity_flag' | 'surrender_nudge' | 'mentor_consult' | 'task_spawn' | 'delegate_pane' | 'compaction' | 'slice_block' | 'loop_break' | 'dsml_recovered' | 'reasoning_exhaustion' | 'image_rejection_heal';
55
55
  export interface SteeringEventInput {
56
56
  sessionId: string;
57
57
  kind: SteeringEventKind;
@@ -1 +1 @@
1
- {"version":3,"file":"DecisionStore.d.ts","sourceRoot":"","sources":["../../src/training/DecisionStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DecisionStore.d.ts","sourceRoot":"","sources":["../../src/training/DecisionStore.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DecisionStore.js","sourceRoot":"","sources":["../../src/training/DecisionStore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DecisionStore.js","sourceRoot":"","sources":["../../src/training/DecisionStore.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,17 @@ export declare function hashProjectPath(projectPath: string): string;
14
14
  * @param projectPath the project/working directory (defaults to process.cwd())
15
15
  */
16
16
  export declare function resolveCortexStateDir(projectPath?: string, env?: NodeJS.ProcessEnv): CortexStateDir;
17
+ /** Runtime-state paths under <project>/.cortex that must never ride into the project's git history. */
18
+ export declare const CORTEX_RUNTIME_STATE_EXCLUDES: string[];
19
+ /**
20
+ * R155 HB-STATE-DIR-GIT-EXCLUDE (2026-09-16, tb4-flash-v3 nextjs-performance): the state dir sits inside the
21
+ * project's working tree, so a model (or a person) running `git add -A` commits live session files and a later
22
+ * `git checkout <rev> -- .` restores a STALE session over the live one — the trajectory then starts mid-session.
23
+ * `.git/info/exclude` is the repo-local ignore file that never touches the user's tracked `.gitignore`. Best-effort
24
+ * and idempotent (marker line); a worktree's `.git` FILE is honoured by resolving its gitdir. Does not cover
25
+ * `git clean -x` (which removes ignored files by design).
26
+ */
27
+ export declare function ensureGitExcludesRuntimeState(project: string): boolean;
17
28
  /** Test hook: forget memoized decisions. */
18
29
  export declare function resetCortexStateDirCache(): void;
19
30
  /** Convenience: `<stateDir>/<...segments>` for the given project. */
@@ -1 +1 @@
1
- {"version":3,"file":"stateDir.d.ts","sourceRoot":"","sources":["../../src/utils/stateDir.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,cAAc;IAC7B,uFAAuF;IACvF,GAAG,EAAE,MAAM,CAAC;IACZ,oFAAoF;IACpF,QAAQ,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;CACrB;AAiBD,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,cAAc,CAyChH;AAED,4CAA4C;AAC5C,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C;AAED,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAE9F;AAED,iHAAiH;AACjH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAElD"}
1
+ {"version":3,"file":"stateDir.d.ts","sourceRoot":"","sources":["../../src/utils/stateDir.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,cAAc;IAC7B,uFAAuF;IACvF,GAAG,EAAE,MAAM,CAAC;IACZ,oFAAoF;IACpF,QAAQ,EAAE,OAAO,CAAC;IAClB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAC;CACrB;AAiBD,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,cAAc,CA0ChH;AAED,uGAAuG;AACvG,eAAO,MAAM,6BAA6B,UAQzC,CAAC;AAGF;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAwBtE;AAED,4CAA4C;AAC5C,wBAAgB,wBAAwB,IAAI,IAAI,CAG/C;AAED,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAE9F;AAED,iHAAiH;AACjH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAElD"}
@@ -9,7 +9,7 @@
9
9
  *
10
10
  * Order: `CORTEX_STATE_DIR` (explicit override) → `<project>/.cortex` → `~/.cortex/projects/<hash>` → `<tmpdir>/nexus-cortex/<hash>`.
11
11
  */
12
- import { existsSync, mkdirSync, writeFileSync, unlinkSync } from 'fs';
12
+ import { existsSync, mkdirSync, writeFileSync, unlinkSync, readFileSync, appendFileSync, statSync } from 'fs';
13
13
  import { join } from 'path';
14
14
  import { homedir, tmpdir } from 'os';
15
15
  import { createHash } from 'crypto';
@@ -61,6 +61,8 @@ export function resolveCortexStateDir(projectPath, env = process.env) {
61
61
  if (err === null) {
62
62
  const isPrimary = c.label === 'project' || c.label === 'CORTEX_STATE_DIR';
63
63
  result = { dir: c.dir, fallback: !isPrimary, reason: isPrimary ? undefined : reason, projectPath: project };
64
+ if (c.label === 'project')
65
+ ensureGitExcludesRuntimeState(project);
64
66
  break;
65
67
  }
66
68
  if (c.label === 'project')
@@ -77,6 +79,56 @@ export function resolveCortexStateDir(projectPath, env = process.env) {
77
79
  cache.set(project, result);
78
80
  return result;
79
81
  }
82
+ /** Runtime-state paths under <project>/.cortex that must never ride into the project's git history. */
83
+ export const CORTEX_RUNTIME_STATE_EXCLUDES = [
84
+ '.cortex/sessions/',
85
+ '.cortex/artifacts/',
86
+ '.cortex/training/',
87
+ '.cortex/decisions.jsonl',
88
+ '.cortex/memory/',
89
+ '.cortex/projects/',
90
+ '.cortex/.write-probe-*',
91
+ ];
92
+ const GIT_EXCLUDE_MARKER = '# nexus-cortex runtime state (R155) — auto-added; CORTEX.md stays trackable';
93
+ /**
94
+ * R155 HB-STATE-DIR-GIT-EXCLUDE (2026-09-16, tb4-flash-v3 nextjs-performance): the state dir sits inside the
95
+ * project's working tree, so a model (or a person) running `git add -A` commits live session files and a later
96
+ * `git checkout <rev> -- .` restores a STALE session over the live one — the trajectory then starts mid-session.
97
+ * `.git/info/exclude` is the repo-local ignore file that never touches the user's tracked `.gitignore`. Best-effort
98
+ * and idempotent (marker line); a worktree's `.git` FILE is honoured by resolving its gitdir. Does not cover
99
+ * `git clean -x` (which removes ignored files by design).
100
+ */
101
+ export function ensureGitExcludesRuntimeState(project) {
102
+ try {
103
+ const dotGit = join(project, '.git');
104
+ if (!existsSync(dotGit))
105
+ return false;
106
+ let gitDir = dotGit;
107
+ if (statSync(dotGit).isFile()) {
108
+ const m = /^gitdir:\s*(.+)$/m.exec(readFileSync(dotGit, 'utf8'));
109
+ if (!m)
110
+ return false;
111
+ gitDir = m[1].trim();
112
+ if (!gitDir.startsWith('/'))
113
+ gitDir = join(project, gitDir);
114
+ }
115
+ const infoDir = join(gitDir, 'info');
116
+ const excludePath = join(infoDir, 'exclude');
117
+ const current = existsSync(excludePath) ? readFileSync(excludePath, 'utf8') : '';
118
+ if (current.includes(GIT_EXCLUDE_MARKER))
119
+ return false;
120
+ mkdirSync(infoDir, { recursive: true });
121
+ const missing = CORTEX_RUNTIME_STATE_EXCLUDES.filter((l) => !current.split(/\r?\n/).includes(l));
122
+ if (missing.length === 0)
123
+ return false;
124
+ const lead = current.length && !current.endsWith('\n') ? '\n' : '';
125
+ appendFileSync(excludePath, `${lead}${GIT_EXCLUDE_MARKER}\n${missing.join('\n')}\n`);
126
+ return true;
127
+ }
128
+ catch {
129
+ return false; // never let a git-metadata hiccup break state-dir resolution
130
+ }
131
+ }
80
132
  /** Test hook: forget memoized decisions. */
81
133
  export function resetCortexStateDirCache() {
82
134
  cache.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"stateDir.js","sourceRoot":"","sources":["../../src/utils/stateDir.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stateDir.js","sourceRoot":"","sources":["../../src/utils/stateDir.ts"],"names":[],"mappings":"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"}