@nexus-cortex/core 4.90.2 → 4.91.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/.env.example +19 -5
  2. package/dist/config/RuntimeConfigRegistry.d.ts.map +1 -1
  3. package/dist/config/RuntimeConfigRegistry.js +2 -0
  4. package/dist/config/RuntimeConfigRegistry.js.map +1 -1
  5. package/dist/config/SettingsLoader.d.ts.map +1 -1
  6. package/dist/config/SettingsLoader.js +2 -0
  7. package/dist/config/SettingsLoader.js.map +1 -1
  8. package/dist/config/SettingsSchema.d.ts +4 -0
  9. package/dist/config/SettingsSchema.d.ts.map +1 -1
  10. package/dist/config/SettingsSchema.js +18 -0
  11. package/dist/config/SettingsSchema.js.map +1 -1
  12. package/dist/config/effectiveConfig.d.ts.map +1 -1
  13. package/dist/config/effectiveConfig.js +3 -0
  14. package/dist/config/effectiveConfig.js.map +1 -1
  15. package/dist/middleware/HelperModelMiddleware.d.ts.map +1 -1
  16. package/dist/middleware/HelperModelMiddleware.js +2 -1
  17. package/dist/middleware/HelperModelMiddleware.js.map +1 -1
  18. package/dist/orchestrator/CortexOrchestrator.d.ts +11 -0
  19. package/dist/orchestrator/CortexOrchestrator.d.ts.map +1 -1
  20. package/dist/orchestrator/CortexOrchestrator.js +138 -222
  21. package/dist/orchestrator/CortexOrchestrator.js.map +1 -1
  22. package/dist/orchestrator/citationVerification.d.ts.map +1 -1
  23. package/dist/orchestrator/citationVerification.js +19 -1
  24. package/dist/orchestrator/citationVerification.js.map +1 -1
  25. package/dist/orchestrator/endTurnGates.d.ts +63 -0
  26. package/dist/orchestrator/endTurnGates.d.ts.map +1 -0
  27. package/dist/orchestrator/endTurnGates.js +203 -0
  28. package/dist/orchestrator/endTurnGates.js.map +1 -0
  29. package/dist/orchestrator/requirementsVerification.d.ts.map +1 -1
  30. package/dist/orchestrator/requirementsVerification.js +2 -1
  31. package/dist/orchestrator/requirementsVerification.js.map +1 -1
  32. package/dist/tools/ToolProfile.d.ts +6 -0
  33. package/dist/tools/ToolProfile.d.ts.map +1 -1
  34. package/dist/tools/ToolProfile.js +14 -0
  35. package/dist/tools/ToolProfile.js.map +1 -1
  36. package/dist/tools/registries/BaseToolRegistry.js +1 -1
  37. package/dist/tools/registries/BaseToolRegistry.js.map +1 -1
  38. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"citationVerification.d.ts","sourceRoot":"","sources":["../../src/orchestrator/citationVerification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC;AAYD;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,gBAAgB,EAAE,GAAG,SAAS,EACzC,WAAW,EAAE,MAAM,GAClB,0BAA0B,CAgB5B"}
1
+ {"version":3,"file":"citationVerification.d.ts","sourceRoot":"","sources":["../../src/orchestrator/citationVerification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,gBAAgB,EAAE,CAAC;CAChC;AA4BD;;;GAGG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,gBAAgB,EAAE,GAAG,SAAS,EACzC,WAAW,EAAE,MAAM,GAClB,0BAA0B,CAiB5B"}
@@ -24,6 +24,23 @@ function normalize(s) {
24
24
  .replace(/\s+/g, ' ') // collapse all whitespace runs
25
25
  .trim();
26
26
  }
27
+ /** 4.91.1: models annotate a verbatim_source as `$ cmd → OUTPUT` / `cmd:\n OUTPUT` (the format the
28
+ * requirements nudge teaches for verified_how bled into citations) — the raw tool output has no such
29
+ * wrapper, so the exact-substring check false-rejects it. Return the candidate forms to try: the whole
30
+ * string AND the tail after a leading shell-prompt-command-arrow (or a trailing `→`). Grounding still
31
+ * requires the real OUTPUT to be present verbatim, so this tolerates annotation without admitting fabrication. */
32
+ function sourceForms(src) {
33
+ const forms = [src];
34
+ // strip a leading `$ ...→` or `> ...→` or `# ...→` command-echo prefix
35
+ const arrow = src.replace(/^[\s]*[$>#][^\n→]*(?:→|=>|->)\s*/, '');
36
+ if (arrow !== src && arrow.length >= MIN_SOURCE_LEN)
37
+ forms.push(arrow);
38
+ // if there is an arrow anywhere, also try just the part after the LAST arrow (cmd → output)
39
+ const lastArrow = src.split(/→|=>|->/).pop()?.trim() ?? '';
40
+ if (lastArrow && lastArrow !== src && lastArrow.length >= MIN_SOURCE_LEN)
41
+ forms.push(lastArrow);
42
+ return forms;
43
+ }
27
44
  /**
28
45
  * @param citations the EndTurn attestation's citation list
29
46
  * @param toolOutputs concatenated text of THIS turn's tool results
@@ -38,7 +55,8 @@ export function verifyCitationsGrounded(citations, toolOutputs) {
38
55
  const src = normalize(c?.verbatim_source ?? '');
39
56
  if (src.length < MIN_SOURCE_LEN)
40
57
  continue; // too short to verify meaningfully
41
- if (!haystack.includes(src)) {
58
+ // grounded if the source — or its de-annotated form (raw output after a `$ cmd →` wrapper) — is present
59
+ if (!sourceForms(src).some((f) => haystack.includes(normalize(f)))) {
42
60
  ungrounded.push(c);
43
61
  }
44
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"citationVerification.js","sourceRoot":"","sources":["../../src/orchestrator/citationVerification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAYH,gEAAgE;AAChE,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,CAAC;SACL,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,oCAAoC;SACvD,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,+BAA+B;SACpD,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,SAAyC,EACzC,WAAmB;IAEnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC5C,CAAC;IACD,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,UAAU,GAAuB,EAAE,CAAC;IAE1C,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,EAAE,eAAe,IAAI,EAAE,CAAC,CAAC;QAChD,IAAI,GAAG,CAAC,MAAM,GAAG,cAAc;YAAE,SAAS,CAAC,mCAAmC;QAC9E,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;AAC3D,CAAC"}
1
+ {"version":3,"file":"citationVerification.js","sourceRoot":"","sources":["../../src/orchestrator/citationVerification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAYH,gEAAgE;AAChE,MAAM,cAAc,GAAG,CAAC,CAAC;AAEzB,SAAS,SAAS,CAAC,CAAS;IAC1B,OAAO,CAAC;SACL,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,oCAAoC;SACvD,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,+BAA+B;SACpD,IAAI,EAAE,CAAC;AACZ,CAAC;AAED;;;;mHAImH;AACnH,SAAS,WAAW,CAAC,GAAW;IAC9B,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;IACpB,uEAAuE;IACvE,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,kCAAkC,EAAE,EAAE,CAAC,CAAC;IAClE,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,IAAI,cAAc;QAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvE,4FAA4F;IAC5F,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC3D,IAAI,SAAS,IAAI,SAAS,KAAK,GAAG,IAAI,SAAS,CAAC,MAAM,IAAI,cAAc;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAChG,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CACrC,SAAyC,EACzC,WAAmB;IAEnB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IAC5C,CAAC;IACD,MAAM,QAAQ,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACxC,MAAM,UAAU,GAAuB,EAAE,CAAC;IAE1C,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,EAAE,eAAe,IAAI,EAAE,CAAC,CAAC;QAChD,IAAI,GAAG,CAAC,MAAM,GAAG,cAAc;YAAE,SAAS,CAAC,mCAAmC;QAC9E,wGAAwG;QACxG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;AAC3D,CAAC"}
@@ -0,0 +1,63 @@
1
+ export interface GateToolResult {
2
+ tool_use_id: string;
3
+ tool_name: string;
4
+ content: any;
5
+ is_error?: boolean;
6
+ metadata?: any;
7
+ }
8
+ export interface GateToolUse {
9
+ id: string;
10
+ name: string;
11
+ input: any;
12
+ }
13
+ export declare const MUTATING_TOOLS: string[];
14
+ export declare const READISH_TOOLS: string[];
15
+ /** Per-turn evidence the EndTurn gates verify against. One instance per user turn. */
16
+ export declare class TurnEvidence {
17
+ /** Successful tool outputs this turn (quotable observations). */
18
+ outputs: string[];
19
+ /** Write.content / Edit.new_string this turn — text the model authored; quotable. */
20
+ writeInputs: string[];
21
+ /** Bash commands executed this turn — proof a check RAN (not an observation). */
22
+ commands: string[];
23
+ webQueries: string[];
24
+ webContent: string[];
25
+ usedTools: boolean;
26
+ usedMutatingTool: boolean;
27
+ usedReadishTool: boolean;
28
+ lastCitations: Array<{
29
+ reference: string;
30
+ verbatim_source: string;
31
+ }> | undefined;
32
+ endTurnCalled: boolean;
33
+ effortTailBounced: boolean;
34
+ /** Call once per executed batch with the tool_use blocks (before or after execution). */
35
+ noteToolUses(toolUses: GateToolUse[]): void;
36
+ /** Call once per executed batch with the results. */
37
+ noteToolResults(results: GateToolResult[]): void;
38
+ /** What a citation may be grounded in: observations + text the model wrote this turn. */
39
+ citationCorpus(): string;
40
+ /** What a strict `verified_how` may be grounded in: the above + the commands actually run. */
41
+ verificationCorpus(): string;
42
+ }
43
+ export interface GateDeps {
44
+ userTaskText: string;
45
+ env?: NodeJS.ProcessEnv;
46
+ debug?: boolean;
47
+ /** Bank a decision-store event (fire-and-forget). */
48
+ recordEvent: (kind: string, detail: Record<string, unknown>, toolName?: string) => void;
49
+ /** Effort-tail hooks (CORTEX_EFFORT_TAIL): remaining elevated continuations + arm N more. */
50
+ effortTail?: {
51
+ remaining: () => number;
52
+ arm: (turns: number) => void;
53
+ };
54
+ log?: (msg: string) => void;
55
+ }
56
+ /**
57
+ * Evaluate Stages 2/4/5 (+ the effort tail) over this batch's EndTurn result(s). Mutates `tr.is_error`
58
+ * / `tr.content` on rejection and `ev.endTurnCalled` on acceptance. Never throws.
59
+ */
60
+ export declare function evaluateEndTurnGates(ev: TurnEvidence, toolResults: GateToolResult[], toolUses: GateToolUse[], deps: GateDeps): void;
61
+ /** Stage-1 reminder for a turn that used tools but has not (validly) called EndTurn. */
62
+ export declare function buildMissingEndTurnReminder(ev: TurnEvidence, env?: NodeJS.ProcessEnv): string;
63
+ //# sourceMappingURL=endTurnGates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endTurnGates.d.ts","sourceRoot":"","sources":["../../src/orchestrator/endTurnGates.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,cAAc;IAAG,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,GAAG,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,GAAG,CAAA;CAAE;AAC5H,MAAM,WAAW,WAAW;IAAG,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,GAAG,CAAA;CAAE;AAErE,eAAO,MAAM,cAAc,UAA4C,CAAC;AACxE,eAAO,MAAM,aAAa,UAA2B,CAAC;AAEtD,sFAAsF;AACtF,qBAAa,YAAY;IACvB,iEAAiE;IACjE,OAAO,EAAE,MAAM,EAAE,CAAM;IACvB,qFAAqF;IACrF,WAAW,EAAE,MAAM,EAAE,CAAM;IAC3B,iFAAiF;IACjF,QAAQ,EAAE,MAAM,EAAE,CAAM;IACxB,UAAU,EAAE,MAAM,EAAE,CAAM;IAC1B,UAAU,EAAE,MAAM,EAAE,CAAM;IAC1B,SAAS,UAAS;IAClB,gBAAgB,UAAS;IACzB,eAAe,UAAS;IACxB,aAAa,EAAE,KAAK,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,SAAS,CAAC;IACjF,aAAa,UAAS;IACtB,iBAAiB,UAAS;IAE1B,yFAAyF;IACzF,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI;IAqB3C,qDAAqD;IACrD,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,IAAI;IAUhD,yFAAyF;IACzF,cAAc,IAAI,MAAM;IACxB,8FAA8F;IAC9F,kBAAkB,IAAI,MAAM;CAC7B;AAED,MAAM,WAAW,QAAQ;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,qDAAqD;IACrD,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxF,6FAA6F;IAC7F,UAAU,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,MAAM,CAAC;QAAC,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;IACvE,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,YAAY,EAChB,WAAW,EAAE,cAAc,EAAE,EAC7B,QAAQ,EAAE,WAAW,EAAE,EACvB,IAAI,EAAE,QAAQ,GACb,IAAI,CAqFN;AAED,wFAAwF;AACxF,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,YAAY,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAoB1G"}
@@ -0,0 +1,203 @@
1
+ /**
2
+ * EndTurn gates — ONE implementation shared by the non-streaming and streaming tool loops.
3
+ *
4
+ * 4.91.0 (2026-09-03, v4 audit): until now Stages 2/4/5 (citation grounding, requirements attestation,
5
+ * integrity) and the per-turn evidence they verify against lived inline in sendMessage() only, so every
6
+ * streaming client ran ungated. This module holds the per-turn evidence (`TurnEvidence`) and the gate
7
+ * evaluation, exception-safe: a gate fault becomes an is_error EndTurn result and NEVER escapes to the
8
+ * tool loop (whose catch re-loops into re-executing the batch — def-7f510b5635).
9
+ *
10
+ * Grounding corpus (v4 doctrine-mine: 17/43 findings were Stage-2 rejections on text the model had
11
+ * legitimately produced or run this turn):
12
+ * - citations ground against tool OUTPUTS + Write.content / Edit.new_string (text authored THIS turn)
13
+ * - verified_how (strict) additionally against Bash commands run this turn (an executed check)
14
+ */
15
+ import { verifyCitationsGrounded } from './citationVerification.js';
16
+ import { verifyRequirements, resolveEndTurnRequirementsMode, resolveEndTurnRequirementsStrict, } from './requirementsVerification.js';
17
+ import { verifyIntegrity, resolveEndTurnIntegrityMode } from './integrityVerification.js';
18
+ export const MUTATING_TOOLS = ['Edit', 'Write', 'Bash', 'NotebookEdit'];
19
+ export const READISH_TOOLS = ['Read', 'Grep', 'Glob'];
20
+ /** Per-turn evidence the EndTurn gates verify against. One instance per user turn. */
21
+ export class TurnEvidence {
22
+ /** Successful tool outputs this turn (quotable observations). */
23
+ outputs = [];
24
+ /** Write.content / Edit.new_string this turn — text the model authored; quotable. */
25
+ writeInputs = [];
26
+ /** Bash commands executed this turn — proof a check RAN (not an observation). */
27
+ commands = [];
28
+ webQueries = [];
29
+ webContent = [];
30
+ usedTools = false;
31
+ usedMutatingTool = false;
32
+ usedReadishTool = false;
33
+ lastCitations;
34
+ endTurnCalled = false;
35
+ effortTailBounced = false;
36
+ /** Call once per executed batch with the tool_use blocks (before or after execution). */
37
+ noteToolUses(toolUses) {
38
+ for (const tu of toolUses) {
39
+ if (tu.name === 'EndTurn')
40
+ continue;
41
+ this.usedTools = true;
42
+ if (MUTATING_TOOLS.includes(tu.name))
43
+ this.usedMutatingTool = true;
44
+ if (READISH_TOOLS.includes(tu.name))
45
+ this.usedReadishTool = true;
46
+ const input = tu.input ?? {};
47
+ if (tu.name === 'WebSearch') {
48
+ if (typeof input.query === 'string' && input.query)
49
+ this.webQueries.push(input.query);
50
+ }
51
+ else if (tu.name === 'Browse') {
52
+ if (typeof input.task === 'string' && input.task)
53
+ this.webQueries.push(input.task);
54
+ }
55
+ else if (tu.name === 'Write') {
56
+ if (typeof input.content === 'string' && input.content)
57
+ this.writeInputs.push(input.content);
58
+ }
59
+ else if (tu.name === 'Edit') {
60
+ if (typeof input.new_string === 'string' && input.new_string)
61
+ this.writeInputs.push(input.new_string);
62
+ }
63
+ else if (tu.name === 'Bash') {
64
+ if (typeof input.command === 'string' && input.command)
65
+ this.commands.push(input.command);
66
+ }
67
+ }
68
+ }
69
+ /** Call once per executed batch with the results. */
70
+ noteToolResults(results) {
71
+ for (const tr of results) {
72
+ if (tr.tool_name === 'EndTurn' || tr.is_error)
73
+ continue;
74
+ const txt = typeof tr.content === 'string' ? tr.content : JSON.stringify(tr.content);
75
+ if (!txt)
76
+ continue;
77
+ this.outputs.push(txt);
78
+ if (tr.tool_name === 'WebSearch' || tr.tool_name === 'WebFetch' || tr.tool_name === 'Browse')
79
+ this.webContent.push(txt);
80
+ }
81
+ }
82
+ /** What a citation may be grounded in: observations + text the model wrote this turn. */
83
+ citationCorpus() { return [...this.outputs, ...this.writeInputs].join('\n'); }
84
+ /** What a strict `verified_how` may be grounded in: the above + the commands actually run. */
85
+ verificationCorpus() { return [...this.outputs, ...this.writeInputs, ...this.commands].join('\n'); }
86
+ }
87
+ /**
88
+ * Evaluate Stages 2/4/5 (+ the effort tail) over this batch's EndTurn result(s). Mutates `tr.is_error`
89
+ * / `tr.content` on rejection and `ev.endTurnCalled` on acceptance. Never throws.
90
+ */
91
+ export function evaluateEndTurnGates(ev, toolResults, toolUses, deps) {
92
+ const env = deps.env ?? process.env;
93
+ const log = deps.log ?? ((m) => console.warn(m));
94
+ try {
95
+ for (const tr of toolResults) {
96
+ if (tr.tool_name !== 'EndTurn')
97
+ continue;
98
+ const etUse = toolUses.find((t) => t.name === 'EndTurn');
99
+ // EFFORT TAIL (def-efdbb67fd8): bounce the FIRST EndTurn once, arm elevated effort for N continuations.
100
+ if (env.CORTEX_EFFORT_TAIL === 'true' && !ev.effortTailBounced && deps.effortTail && deps.effortTail.remaining() <= 0) {
101
+ ev.effortTailBounced = true;
102
+ const tailTurns = Math.max(1, parseInt(env.CORTEX_EFFORT_TAIL_TURNS || '2', 10) || 2);
103
+ deps.effortTail.arm(tailTurns);
104
+ deps.recordEvent('effort_pulse', { trigger: 'tail', cumFailures: 0, turns: tailTurns, level: env.CORTEX_EFFORT_PULSE_LEVEL || 'high' }, 'EndTurn');
105
+ tr.is_error = true;
106
+ tr.content =
107
+ 'Before finishing: verify at depth. Re-read the original task statement; ' +
108
+ 're-open and check each requirement against the ACTUAL files/outputs you produced this turn ' +
109
+ '(do not rely on memory of them); fix anything that does not match; then call EndTurn again ' +
110
+ 'with the verified attestation.';
111
+ if (deps.debug)
112
+ log(`[EffortTail] first EndTurn bounced — re-attestation at elevated effort (${tailTurns} continuation(s))`);
113
+ continue;
114
+ }
115
+ const input = etUse?.input ?? {};
116
+ const cits = input.citations;
117
+ ev.lastCitations = Array.isArray(cits) ? cits : undefined; // Stage 3 baseline
118
+ const verdict = verifyCitationsGrounded(cits, ev.citationCorpus());
119
+ if (!verdict.grounded) {
120
+ const bad = verdict.ungrounded
121
+ .map((u) => ` - "${u.reference}" — not found in this turn's tool output: ${String(u.verbatim_source).slice(0, 120)}`)
122
+ .join('\n');
123
+ tr.is_error = true;
124
+ tr.content =
125
+ `EndTurn REJECTED — these citations are not grounded in anything you read this turn:\n${bad}\n\n` +
126
+ `A quote or coordinate you did not transcribe from this turn's tool output is a fabrication (a regurgitated guess), exactly like a non-matching edit old_string. ` +
127
+ `Either RE-READ the exact region and copy the real text, or DELETE that reference from your answer (quote only code you can ground), then call EndTurn again. ` +
128
+ `Grounding is per-TURN: if the line you want to cite is not in THIS turn's tool output (you read it earlier), RE-RUN the command that displays it now (cat/grep/sed the file, run the test) and copy the line from THAT output — do not resubmit the same citations. Text you WROTE this turn (Write/Edit content) counts as grounded.`;
129
+ log(`[Orchestrator] Stage2: EndTurn rejected — ${verdict.ungrounded.length} ungrounded citation(s).`);
130
+ continue;
131
+ }
132
+ let accepted = true;
133
+ if (resolveEndTurnRequirementsMode(env)) {
134
+ const s4 = verifyRequirements({
135
+ requirements: input.requirements,
136
+ verification: input.verification,
137
+ userTaskText: deps.userTaskText,
138
+ turnUsedMutatingTool: ev.usedMutatingTool,
139
+ strict: resolveEndTurnRequirementsStrict(env),
140
+ toolOutputs: ev.verificationCorpus(),
141
+ });
142
+ if (!s4.ok) {
143
+ accepted = false;
144
+ tr.is_error = true;
145
+ tr.content = s4.nudge;
146
+ log('[Orchestrator] Stage4: EndTurn rejected — requirements attestation unsatisfied.');
147
+ }
148
+ }
149
+ if (accepted && resolveEndTurnIntegrityMode(env)) {
150
+ const s5 = verifyIntegrity({
151
+ webQueries: ev.webQueries,
152
+ webContent: ev.webContent,
153
+ writeInputs: ev.writeInputs,
154
+ userTaskText: deps.userTaskText,
155
+ sourcesAttestation: input.sources,
156
+ });
157
+ for (const f of s5.flags)
158
+ deps.recordEvent('integrity_flag', { check: f.check, detail: f.detail });
159
+ if (!s5.ok) {
160
+ accepted = false;
161
+ tr.is_error = true;
162
+ tr.content = s5.nudge;
163
+ log(`[Orchestrator] Stage5: EndTurn rejected — ${s5.flags.length} integrity flag(s).`);
164
+ }
165
+ }
166
+ if (accepted)
167
+ ev.endTurnCalled = true;
168
+ }
169
+ }
170
+ catch (gateErr) {
171
+ const msg = String(gateErr?.message ?? gateErr).slice(0, 200);
172
+ console.error(`[Orchestrator] EndTurn gate evaluation threw (converted to an error result, batch NOT re-run): ${msg}`);
173
+ for (const tr of toolResults) {
174
+ if (tr.tool_name !== 'EndTurn')
175
+ continue;
176
+ tr.is_error = true;
177
+ tr.content =
178
+ `EndTurn gate evaluation failed internally (${msg}). This is a harness fault, not your attestation. ` +
179
+ 'Call EndTurn again with well-formed arrays: citations [{reference, verbatim_source}], verification [{command, observed_result}], requirements [{requirement, satisfied_by, verified_how}].';
180
+ }
181
+ }
182
+ }
183
+ /** Stage-1 reminder for a turn that used tools but has not (validly) called EndTurn. */
184
+ export function buildMissingEndTurnReminder(ev, env = process.env) {
185
+ const citEmphasis = ev.usedReadishTool
186
+ ? ' You read code/files this turn: for EACH reference in your draft give the EXACT verbatim source you copied it from; if you cannot, DELETE the reference (quote the code instead of asserting a coordinate).'
187
+ : '';
188
+ const verEmphasis = ev.usedMutatingTool
189
+ ? ' You ran edit/write/bash this turn: in `verification` list every build/test/lint command you ACTUALLY ran with the real result line you saw — never a command you did not run.'
190
+ : '';
191
+ const reqEmphasis = resolveEndTurnRequirementsMode(env)
192
+ ? ' Also include `requirements` (array of {requirement, satisfied_by, verified_how}): copy each requirement in the task\'s OWN words and make verified_how a pasted output line.'
193
+ : '';
194
+ return ('<system-reminder>You used tools this turn but have not called EndTurn. ' +
195
+ 'You MUST call EndTurn before any final answer. It is generative, not a checkbox: ' +
196
+ 'reconstruct `citations` (array of {reference, verbatim_source}), `verification` ' +
197
+ '(array of {command, observed_result}), `summary`, `open_items`, and a skeptical ' +
198
+ '`self_review` (what you did NOT check, what is assumed/possibly wrong, what one ' +
199
+ 'more tool call would verify).' +
200
+ citEmphasis + verEmphasis + reqEmphasis +
201
+ ' Call EndTurn now — do not produce a final answer until you have.</system-reminder>');
202
+ }
203
+ //# sourceMappingURL=endTurnGates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endTurnGates.js","sourceRoot":"","sources":["../../src/orchestrator/endTurnGates.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"requirementsVerification.d.ts","sourceRoot":"","sources":["../../src/orchestrator/requirementsVerification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAGT;AAED;;;;;8DAK8D;AAC9D,wBAAgB,gCAAgC,CAC9C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAET;AA2BD;;qDAEqD;AACrD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAKtD;AAID;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,4DAA4D;IAC5D,YAAY,EAAE,OAAO,CAAC;IACtB,4DAA4D;IAC5D,YAAY,EAAE,OAAO,CAAC;IACtB,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,oBAAoB,EAAE,OAAO,CAAC;IAC9B,2GAA2G;IAC3G,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iGAAiG;IACjG,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,mBAAmB,CAkGtB"}
1
+ {"version":3,"file":"requirementsVerification.d.ts","sourceRoot":"","sources":["../../src/orchestrator/requirementsVerification.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,OAAO,CAAC;IACZ,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,8BAA8B,CAC5C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAGT;AAED;;;;;8DAK8D;AAC9D,wBAAgB,gCAAgC,CAC9C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAET;AA2BD;;qDAEqD;AACrD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAKtD;AAID;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,4DAA4D;IAC5D,YAAY,EAAE,OAAO,CAAC;IACtB,4DAA4D;IAC5D,YAAY,EAAE,OAAO,CAAC;IACtB,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,sDAAsD;IACtD,oBAAoB,EAAE,OAAO,CAAC;IAC9B,2GAA2G;IAC3G,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iGAAiG;IACjG,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,mBAAmB,CAmGtB"}
@@ -130,7 +130,8 @@ export function verifyRequirements(input) {
130
130
  };
131
131
  }
132
132
  const outputs = input.toolOutputs || '';
133
- const ungrounded = rows.filter((r) => !UNVERIFIED_RE.test(r.verified_how) && !windowGrounded(r.verified_how, outputs, 16));
133
+ // 12-char windows (4.91.0): the recommended `$ cmd → output` form grounds via the command run this turn.
134
+ const ungrounded = rows.filter((r) => !UNVERIFIED_RE.test(r.verified_how) && !windowGrounded(r.verified_how, outputs, 12));
134
135
  if (ungrounded.length > 0) {
135
136
  const names = ungrounded.slice(0, 3).map((r) => `"${r.requirement.slice(0, 60)}" ⇐ "${r.verified_how.slice(0, 60)}"`).join('; ');
136
137
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"requirementsVerification.js","sourceRoot":"","sources":["../../src/orchestrator/requirementsVerification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"requirementsVerification.js","sourceRoot":"","sources":["../../src/orchestrator/requirementsVerification.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,12 @@ export declare function resolveWebToolsEnabled(env?: NodeJS.ProcessEnv): boolean
38
38
  * an image payload (item 7's safety intent holds). Default deepseek-v4-flash-vision-exp (same
39
39
  * key as the DeepSeek apprentice/elder); 'false'|'off'|'none' disables → ReadImage is offered
40
40
  * only to vision-capable primaries (the pre-hand-off behavior). */
41
+ /** VISION_HANDOFF_MAX (4.91.0): per-turn cap on ReadImage→vision-helper hand-offs (default 8; 0 = unlimited).
42
+ * v4 gcode-to-text: 14 (flash) / 34 (pro) slice reads burned the whole task budget without converging. */
43
+ export declare function resolveVisionHandoffMax(env?: NodeJS.ProcessEnv): number;
44
+ /** CORTEX_SLICE_NUDGE (4.91.0): after the 3rd bash slice-read (sed -n / head / tail) of the SAME file in a
45
+ * session, append a one-line reminder to read it once with Read. Default on; 'false' disables. */
46
+ export declare function resolveSliceNudge(env?: NodeJS.ProcessEnv): boolean;
41
47
  export declare function resolveVisionHelperModel(env?: NodeJS.ProcessEnv): string | null;
42
48
  export declare function resolveToolProfile(env?: NodeJS.ProcessEnv): ToolProfileName;
43
49
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ToolProfile.d.ts","sourceRoot":"","sources":["../../src/tools/ToolProfile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,CAAC;AA4CxF,uGAAuG;AACvG,eAAO,MAAM,0BAA0B,gFAAiF,CAAC;AACzH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AACrD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/C;AACD,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,YAAY,CAKtF;AACD,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEpF;AACD,qFAAqF;AACrF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAO5F;AACD,8FAA8F;AAC9F,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAE1F;AACD,gHAAgH;AAChH,wBAAgB,sBAAsB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,OAAO,CAEpF;AAED;;;;;oEAKoE;AACpE,wBAAgB,wBAAwB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,IAAI,CAK5F;AAED,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,eAAe,CAIxF;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GACzB,eAAe,GAAG,IAAI,CASxB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,GACxB,QAAQ,GAAG,SAAS,CAOtB;AAaD,+FAA+F;AAC/F,wBAAgB,gBAAgB,CAC9B,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,aAAa,CAAC,EAAE,OAAO,GAAG,IAAI,GAC7B,OAAO,CAIT;AACD,2GAA2G;AAC3G,wBAAgB,0BAA0B,CACxC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,GACxB,OAAO,CAIT;AACD;;;uGAGuG;AACvG,wBAAgB,sBAAsB,CACpC,GAAG,GAAE,MAAM,CAAC,UAAwB,EACpC,YAAY,CAAC,EAAE,OAAO,GAAG,IAAI,EAC7B,eAAe,UAAO,GACrB,OAAO,CAIT;AAED;yDACyD;AACzD,wBAAgB,eAAe,CAAC,OAAO,GAAE,eAAsC,GAAG,OAAO,CAExF;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE,EACjF,KAAK,EAAE,CAAC,EAAE,EACV,OAAO,GAAE,eAAsC,GAC9C,CAAC,EAAE,CAOL;AAED;8EAC8E;AAC9E,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,EAChD,OAAO,GAAE,eAAsC,GAC9C,OAAO,CAQT"}
1
+ {"version":3,"file":"ToolProfile.d.ts","sourceRoot":"","sources":["../../src/tools/ToolProfile.ts"],"names":[],"mappings":"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"}
@@ -100,6 +100,20 @@ export function resolveWebToolsEnabled(env = process.env) {
100
100
  * an image payload (item 7's safety intent holds). Default deepseek-v4-flash-vision-exp (same
101
101
  * key as the DeepSeek apprentice/elder); 'false'|'off'|'none' disables → ReadImage is offered
102
102
  * only to vision-capable primaries (the pre-hand-off behavior). */
103
+ /** VISION_HANDOFF_MAX (4.91.0): per-turn cap on ReadImage→vision-helper hand-offs (default 8; 0 = unlimited).
104
+ * v4 gcode-to-text: 14 (flash) / 34 (pro) slice reads burned the whole task budget without converging. */
105
+ export function resolveVisionHandoffMax(env = process.env) {
106
+ const raw = (env.VISION_HANDOFF_MAX ?? '').trim();
107
+ if (raw === '')
108
+ return 8;
109
+ const n = Number(raw);
110
+ return Number.isFinite(n) && n >= 0 ? Math.floor(n) : 8;
111
+ }
112
+ /** CORTEX_SLICE_NUDGE (4.91.0): after the 3rd bash slice-read (sed -n / head / tail) of the SAME file in a
113
+ * session, append a one-line reminder to read it once with Read. Default on; 'false' disables. */
114
+ export function resolveSliceNudge(env = process.env) {
115
+ return (env.CORTEX_SLICE_NUDGE ?? '').trim().toLowerCase() !== 'false';
116
+ }
103
117
  export function resolveVisionHelperModel(env = process.env) {
104
118
  const raw = (env.VISION_HELPER_MODEL ?? '').trim();
105
119
  const v = raw.toLowerCase();
@@ -1 +1 @@
1
- {"version":3,"file":"ToolProfile.js","sourceRoot":"","sources":["../../src/tools/ToolProfile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolProfile.js","sourceRoot":"","sources":["../../src/tools/ToolProfile.ts"],"names":[],"mappings":"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"}
@@ -1035,7 +1035,7 @@ After EndTurn returns, act on your own self_review, then produce your final plai
1035
1035
  type: 'object',
1036
1036
  properties: {
1037
1037
  reference: { type: 'string', description: 'The claim/reference as it appears in your answer.' },
1038
- verbatim_source: { type: 'string', description: "The EXACT text copied from this turn's tool output that grounds it (a quoted code line, a URL from a fetched page) — character-for-character, like an edit old_string." }
1038
+ verbatim_source: { type: 'string', description: "The EXACT raw output text copied from this turn's tool output that grounds it — character-for-character, OUTPUT ONLY. Do NOT wrap it in a command echo (no \"$ cmd → ...\"), no summary, no paraphrase: paste only the bytes the tool printed. The command that produced it belongs in verification[].command, not here." }
1039
1039
  },
1040
1040
  required: ['reference', 'verbatim_source']
1041
1041
  }