@nexus-cortex/core 4.108.11 → 4.108.13

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.
@@ -43,4 +43,20 @@ export declare const LOOP_BLOCK_MAX = 2;
43
43
  export declare function decideLoopBlock(tool: string, priorBlocks: number): LoopBlockDecision;
44
44
  /** Whether a ladder result should trigger the hard intervention (diversify or break). */
45
45
  export declare function isLoopBlockTrigger(action: string | undefined): boolean;
46
+ /** R135 HB-POLL-LOOP: the execution tools. Blocking one of them must leave another in the tool set —
47
+ * "last executor removed" was the damage mode in both R135 (poll loop) and R136 (script-shape). */
48
+ export declare const EXECUTOR_TOOLS: ReadonlySet<string>;
49
+ /** Whether a ladder result may arm the hard block for the outcome that produced it: a diversify/break
50
+ * rung, and NEVER a poll-and-wait outcome (any status) even when a near-dup lens fired on it. */
51
+ export declare function shouldArmLoopBlock(ladder: {
52
+ action: string;
53
+ }, outcome?: {
54
+ status?: string;
55
+ poll?: {
56
+ isPoll: boolean;
57
+ };
58
+ }): boolean;
59
+ /** True unless `tool` is an executor and no OTHER executor is in `availableTools` (then a block would
60
+ * remove the only way to run anything — downgrade to the soft reminder instead). */
61
+ export declare function hasAlternativeExecutor(tool: string, availableTools: ReadonlyArray<string>): boolean;
46
62
  //# sourceMappingURL=loopToolBlock.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loopToolBlock.d.ts","sourceRoot":"","sources":["../../src/orchestrator/loopToolBlock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAE5D,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,CAAC;IACxB,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,yEAAyE;AACzE,eAAO,MAAM,cAAc,IAAI,CAAC;AAuBhC;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,CAYpF;AAED,yFAAyF;AACzF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEtE"}
1
+ {"version":3,"file":"loopToolBlock.d.ts","sourceRoot":"","sources":["../../src/orchestrator/loopToolBlock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,GAAG,MAAM,CAAC;AAE5D,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,eAAe,CAAC;IACxB,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,yEAAyE;AACzE,eAAO,MAAM,cAAc,IAAI,CAAC;AAuBhC;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,iBAAiB,CAYpF;AAED,yFAAyF;AACzF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAEtE;AAED;oGACoG;AACpG,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,MAAM,CAAsC,CAAC;AAEtF;kGACkG;AAClG,wBAAgB,kBAAkB,CAChC,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAC1B,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,CAAA;CAAE,GACxD,OAAO,CAIT;AAED;qFACqF;AACrF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,OAAO,CAGnG"}
@@ -63,4 +63,23 @@ export function decideLoopBlock(tool, priorBlocks) {
63
63
  export function isLoopBlockTrigger(action) {
64
64
  return action === 'diversify' || action === 'break';
65
65
  }
66
+ /** R135 HB-POLL-LOOP: the execution tools. Blocking one of them must leave another in the tool set —
67
+ * "last executor removed" was the damage mode in both R135 (poll loop) and R136 (script-shape). */
68
+ export const EXECUTOR_TOOLS = new Set(['Bash', 'Task', 'Skill']);
69
+ /** Whether a ladder result may arm the hard block for the outcome that produced it: a diversify/break
70
+ * rung, and NEVER a poll-and-wait outcome (any status) even when a near-dup lens fired on it. */
71
+ export function shouldArmLoopBlock(ladder, outcome) {
72
+ if (!isLoopBlockTrigger(ladder.action))
73
+ return false;
74
+ if (outcome?.poll?.isPoll)
75
+ return false;
76
+ return true;
77
+ }
78
+ /** True unless `tool` is an executor and no OTHER executor is in `availableTools` (then a block would
79
+ * remove the only way to run anything — downgrade to the soft reminder instead). */
80
+ export function hasAlternativeExecutor(tool, availableTools) {
81
+ if (!EXECUTOR_TOOLS.has(tool))
82
+ return true;
83
+ return availableTools.some((n) => n !== tool && EXECUTOR_TOOLS.has(n));
84
+ }
66
85
  //# sourceMappingURL=loopToolBlock.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loopToolBlock.js","sourceRoot":"","sources":["../../src/orchestrator/loopToolBlock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAcH,yEAAyE;AACzE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAIhC,0EAA0E;AAC1E,+DAA+D;AAC/D,MAAM,SAAS,GAA6B;IAC1C,IAAI,EAAE;QACJ,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;QAChC,IAAI,EAAE,kGAAkG;KACzG;IACD,IAAI,EAAE;QACJ,kFAAkF;QAClF,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACvB,IAAI,EAAE,0GAA0G;KACjH;CACF,CAAC;AAEF,MAAM,gBAAgB,GAAa;IACjC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,8DAA8D;CACrE,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,WAAmB;IAC/D,IAAI,WAAW,IAAI,cAAc,EAAE,CAAC;QAClC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACtE,CAAC;IACD,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC;IAC9C,MAAM,GAAG,GAAG,WAAW,GAAG,CAAC,CAAC;IAC5B,MAAM,OAAO,GACX,sBAAsB,GAAG,kCAAkC,IAAI,2BAA2B;QAC1F,iGAAiG;QACjG,uBAAuB,IAAI,8CAA8C,IAAI,uBAAuB;QACpG,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,MAAM,IAAI,yCAAyC,CAAC;IAChG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;AACpE,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC3D,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,OAAO,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"loopToolBlock.js","sourceRoot":"","sources":["../../src/orchestrator/loopToolBlock.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAcH,yEAAyE;AACzE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAIhC,0EAA0E;AAC1E,+DAA+D;AAC/D,MAAM,SAAS,GAA6B;IAC1C,IAAI,EAAE;QACJ,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;QAChC,IAAI,EAAE,kGAAkG;KACzG;IACD,IAAI,EAAE;QACJ,kFAAkF;QAClF,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;QACvB,IAAI,EAAE,0GAA0G;KACjH;CACF,CAAC;AAEF,MAAM,gBAAgB,GAAa;IACjC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,8DAA8D;CACrE,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAY,EAAE,WAAmB;IAC/D,IAAI,WAAW,IAAI,cAAc,EAAE,CAAC;QAClC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACtE,CAAC;IACD,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,gBAAgB,CAAC;IAC9C,MAAM,GAAG,GAAG,WAAW,GAAG,CAAC,CAAC;IAC5B,MAAM,OAAO,GACX,sBAAsB,GAAG,kCAAkC,IAAI,2BAA2B;QAC1F,iGAAiG;QACjG,uBAAuB,IAAI,8CAA8C,IAAI,uBAAuB;QACpG,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,MAAM,IAAI,yCAAyC,CAAC;IAChG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC;AACpE,CAAC;AAED,yFAAyF;AACzF,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC3D,OAAO,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,OAAO,CAAC;AACtD,CAAC;AAED;oGACoG;AACpG,MAAM,CAAC,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEtF;kGACkG;AAClG,MAAM,UAAU,kBAAkB,CAChC,MAA0B,EAC1B,OAAyD;IAEzD,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACrD,IAAI,OAAO,EAAE,IAAI,EAAE,MAAM;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;qFACqF;AACrF,MAAM,UAAU,sBAAsB,CAAC,IAAY,EAAE,cAAqC;IACxF,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3C,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC"}
@@ -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' | 'inaction_nudge' | 'effort_pulse' | 'time_budget_break' | 'lift_plan' | 'endturn_resolver' | 'deadline_exit_mentor' | 'deadline_exit_break' | 'loop_tool_block' | 'doctrine_curation' | 'doctrine_curation_timeout' | 'integrity_flag' | 'surrender_nudge' | 'mentor_consult' | 'task_spawn' | 'compaction' | 'slice_block' | 'loop_break' | 'dsml_recovered';
54
+ export type SteeringEventKind = 'steering_injected' | 'loop_escalation' | 'endturn_gate_fallback' | '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' | 'compaction' | 'slice_block' | 'loop_break' | 'dsml_recovered';
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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"}
@@ -0,0 +1,29 @@
1
+ export interface CommandIdentity {
2
+ /** Executed script / target tokens (sorted, deduped): `python3 X.py`, `./bin`, `make target`, `cargo run --bin X`, … */
3
+ scriptPaths: string[];
4
+ /** Hash of the normalized inline code bodies (`python3 -c`, `node -e`, `bash -c`, heredocs). */
5
+ inlineCodeHash?: string;
6
+ /** Normalized inline code (digits → #, whitespace collapsed, capped) for similarity comparison. */
7
+ inlineCode?: string;
8
+ /** Residual wrapper text with the identity tokens removed, digit-stripped and whitespace-collapsed. */
9
+ wrapper: string;
10
+ }
11
+ /** Split on unquoted `&&`, `||`, `;`, `|`, newline. Quotes ('…', "…", backslash) are respected. (Shared with pollPattern.) */
12
+ export declare function splitSegments(cmd: string): string[];
13
+ /** Pure: split a shell command into script identity (paths + inline code) and residual wrapper. */
14
+ export declare function extractCommandIdentity(command: string): CommandIdentity;
15
+ /**
16
+ * R136b: short stable digest of a command's identity for the approach KEY (the neardup-hash lens and the
17
+ * failure ladder), applied the way R128 suffixes chunk-read ranges: approachHash collapses every script path
18
+ * into `<path>` and every inline body into `<q>`, so different scripts under one wrapper shared ONE hash
19
+ * bucket. Undefined when the command carries no identity (ls / grep / git …) — those keys are unchanged.
20
+ */
21
+ export declare function commandIdentityDigest(identity: CommandIdentity | undefined): string | undefined;
22
+ /**
23
+ * True when two commands are provably DIFFERENT approaches: a different script/target set, or inline
24
+ * bodies that are not near-identical (Dice < bodySim — a minor edit of one body is the same identity;
25
+ * genuinely different code is not). Commands with no identity on either side never "differ" here —
26
+ * they fall through to the whole-text similarity scoring.
27
+ */
28
+ export declare function commandIdentityDiffers(a: CommandIdentity | undefined, b: CommandIdentity | undefined, bodySim?: number): boolean;
29
+ //# sourceMappingURL=commandIdentity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commandIdentity.d.ts","sourceRoot":"","sources":["../../src/training/commandIdentity.ts"],"names":[],"mappings":"AAkBA,MAAM,WAAW,eAAe;IAC9B,wHAAwH;IACxH,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,gGAAgG;IAChG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,mGAAmG;IACnG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uGAAuG;IACvG,OAAO,EAAE,MAAM,CAAC;CACjB;AAmCD,8HAA8H;AAC9H,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAqBnD;AAuGD,mGAAmG;AACnG,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAkBvE;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,eAAe,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAO/F;AAaD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,eAAe,GAAG,SAAS,EAAE,CAAC,EAAE,eAAe,GAAG,SAAS,EAAE,OAAO,SAAM,GAAG,OAAO,CAO7H"}
@@ -0,0 +1,370 @@
1
+ /**
2
+ * commandIdentity — R136 HB-NEARDUP-SCRIPT-SHAPE (2026-09-13).
3
+ *
4
+ * The similarity near-dup lens (loopLadder observeSimilar, trigger `neardup-similarity`) compares the
5
+ * whole normalized command text. Terminal-Bench 4.0 validation (mp-checkpoint-consolidation): five
6
+ * DIFFERENT experiment scripts plus several different `python3 -c` bodies all shared one wrapper
7
+ * (`cd /app && timeout 300 python3 -u … 2>&1 | grep …`), so bigram-Dice on the whole text crossed 0.9,
8
+ * the ladder escalated diversify x4, loop_tool_block disabled Bash and the model abandoned a task it
9
+ * had passed on the previous harness version.
10
+ *
11
+ * ONE pure helper: split a command into (a) the executed script/target paths, (b) the inline code
12
+ * bodies (`-c` / `-e` / heredocs), and (c) the residual wrapper. Script identity dominates wrapper
13
+ * shape: two commands whose identity differs are NOT near-duplicates; the same identity falls
14
+ * through to the existing similarity scoring (a real retry of one script with tweaked flags still
15
+ * counts). Commands with no identity at all (ls / grep / git …) keep the old whole-text behavior.
16
+ */
17
+ import { createHash } from 'crypto';
18
+ // Prefix commands that wrap the real command (stripped with their own flag arguments).
19
+ const PREFIX_WRAPPERS = new Set(['timeout', 'nice', 'nohup', 'sudo', 'env', 'time', 'stdbuf', 'xvfb-run', 'command', 'exec', 'ionice', 'chrt']);
20
+ // Prefix runners: `<runner> run <cmd…>` (uv run python x.py, poetry run pytest, …).
21
+ const RUN_WRAPPERS = new Set(['uv', 'poetry', 'pipenv', 'conda', 'npx', 'bunx', 'pnpx']);
22
+ const INTERPRETER_RE = /^(python[\d.]*|pypy[\d]*|node|nodejs|bash|sh|zsh|dash|ksh|ruby|perl|php|lua|julia|Rscript|tsx|ts-node|deno|bun)$/;
23
+ // Inline-body flags per interpreter family.
24
+ const INLINE_FLAGS = {
25
+ shell: new Set(['-c']),
26
+ python: new Set(['-c']),
27
+ node: new Set(['-e', '--eval', '-p', '--print']),
28
+ ruby: new Set(['-e', '-E']),
29
+ php: new Set(['-r']),
30
+ };
31
+ function inlineFlagsFor(head) {
32
+ if (/^(bash|sh|zsh|dash|ksh)$/.test(head))
33
+ return INLINE_FLAGS.shell;
34
+ if (/^(python|pypy)/.test(head))
35
+ return INLINE_FLAGS.python;
36
+ if (/^(node|nodejs|tsx|ts-node|deno|bun)$/.test(head))
37
+ return INLINE_FLAGS.node;
38
+ if (/^(ruby|perl)$/.test(head))
39
+ return INLINE_FLAGS.ruby;
40
+ if (head === 'php')
41
+ return INLINE_FLAGS.php;
42
+ return INLINE_FLAGS.python;
43
+ }
44
+ // Executors whose non-flag arguments name the target (make target, pytest path, npm run script, …).
45
+ const TARGET_EXECUTORS = new Set(['make', 'pytest', 'py.test', 'cargo', 'npm', 'yarn', 'pnpm', 'go', 'gradle', 'mvn', 'rake', 'tox']);
46
+ // Flags of target executors that take a value which is NOT a target.
47
+ const VALUE_FLAGS = new Set(['-k', '-m', '-p', '--maxfail', '-n', '--tb', '-o', '--target', '-C', '-f', '--file', '-j', '--jobs']);
48
+ const IDENTITY_VALUE_FLAGS = new Set(['--bin', '--example', '--package', '-p', '--test', '--bench']);
49
+ const HEREDOC_RE = /<<-?\s*(['"]?)([A-Za-z_][\w]*)\1[^\n]*\n([\s\S]*?)\n[ \t]*\2[ \t]*(?=\n|$)/g;
50
+ function normalizeText(text, cap = 400) {
51
+ return text.replace(/\d+/g, '#').replace(/\s+/g, ' ').trim().slice(0, cap);
52
+ }
53
+ /** Split on unquoted `&&`, `||`, `;`, `|`, newline. Quotes ('…', "…", backslash) are respected. (Shared with pollPattern.) */
54
+ export function splitSegments(cmd) {
55
+ const out = [];
56
+ let cur = '';
57
+ let quote = null;
58
+ for (let i = 0; i < cmd.length; i++) {
59
+ const ch = cmd[i];
60
+ if (quote) {
61
+ cur += ch;
62
+ if (ch === '\\' && quote === '"' && i + 1 < cmd.length) {
63
+ cur += cmd[++i];
64
+ continue;
65
+ }
66
+ if (ch === quote)
67
+ quote = null;
68
+ continue;
69
+ }
70
+ if (ch === '\\' && i + 1 < cmd.length) {
71
+ cur += ch + cmd[++i];
72
+ continue;
73
+ }
74
+ if (ch === '"' || ch === "'") {
75
+ quote = ch;
76
+ cur += ch;
77
+ continue;
78
+ }
79
+ if (ch === '\n' || ch === ';') {
80
+ out.push(cur);
81
+ cur = '';
82
+ continue;
83
+ }
84
+ if ((ch === '&' || ch === '|') && cmd[i + 1] === ch) {
85
+ out.push(cur);
86
+ cur = '';
87
+ i++;
88
+ continue;
89
+ }
90
+ if (ch === '|') {
91
+ out.push(cur);
92
+ cur = '';
93
+ continue;
94
+ }
95
+ cur += ch;
96
+ }
97
+ out.push(cur);
98
+ return out.map((s) => s.trim()).filter(Boolean);
99
+ }
100
+ /** Whitespace tokenizer that keeps quoted spans as one token; returns the UNQUOTED token text. */
101
+ function tokenize(seg) {
102
+ const toks = [];
103
+ let cur = '';
104
+ let inTok = false;
105
+ let quote = null;
106
+ for (let i = 0; i < seg.length; i++) {
107
+ const ch = seg[i];
108
+ if (quote) {
109
+ if (ch === '\\' && quote === '"' && i + 1 < seg.length) {
110
+ cur += seg[++i];
111
+ continue;
112
+ }
113
+ if (ch === quote) {
114
+ quote = null;
115
+ continue;
116
+ }
117
+ cur += ch;
118
+ continue;
119
+ }
120
+ if (ch === '\\' && i + 1 < seg.length) {
121
+ cur += seg[++i];
122
+ inTok = true;
123
+ continue;
124
+ }
125
+ if (ch === '"' || ch === "'") {
126
+ quote = ch;
127
+ inTok = true;
128
+ continue;
129
+ }
130
+ if (/\s/.test(ch)) {
131
+ if (inTok) {
132
+ toks.push(cur);
133
+ cur = '';
134
+ inTok = false;
135
+ }
136
+ continue;
137
+ }
138
+ cur += ch;
139
+ inTok = true;
140
+ }
141
+ if (inTok)
142
+ toks.push(cur);
143
+ return toks;
144
+ }
145
+ const REDIRECT_RE = /^(\d*>>?|<)(&\d+|\S+)?$/;
146
+ const ASSIGN_RE = /^[A-Za-z_]\w*=/;
147
+ const PATH_LIKE_RE = /^(\.{0,2}\/|~\/|[A-Za-z]:\\)|\/|\.(py|js|mjs|cjs|ts|sh|rb|pl|php|go|rs|c|cc|cpp|h|java|lua|jl|r|R|scm|wasm|txt|json|yaml|yml|toml|csv)$|::/;
148
+ /** Drop redirections (`2>&1`, `> file`, `2>/dev/null`, `< in`) — wrapper, never identity. */
149
+ function stripRedirects(toks) {
150
+ const out = [];
151
+ for (let i = 0; i < toks.length; i++) {
152
+ const t = toks[i];
153
+ const m = REDIRECT_RE.exec(t);
154
+ if (m) {
155
+ if (!m[2])
156
+ i++;
157
+ continue;
158
+ } // bare `>` / `<` consumes the next token
159
+ out.push(t);
160
+ }
161
+ return out;
162
+ }
163
+ /** Strip prefix wrappers (env assignments, timeout N, nice -n N, sudo -u X, uv run, …) to the real head. */
164
+ function stripPrefixes(toks) {
165
+ let i = 0;
166
+ while (i < toks.length) {
167
+ const t = toks[i];
168
+ if (ASSIGN_RE.test(t)) {
169
+ i++;
170
+ continue;
171
+ }
172
+ if (t === 'timeout') {
173
+ i++;
174
+ while (i < toks.length && toks[i].startsWith('-'))
175
+ i++;
176
+ i++;
177
+ continue;
178
+ } // timeout [-k N] [-s SIG] DURATION
179
+ if (t === 'nice' || t === 'ionice' || t === 'chrt' || t === 'stdbuf') {
180
+ i++;
181
+ while (i < toks.length && toks[i].startsWith('-')) {
182
+ i += /^-[a-zA-Z]$/.test(toks[i]) ? 2 : 1;
183
+ }
184
+ continue;
185
+ }
186
+ if (t === 'sudo') {
187
+ i++;
188
+ while (i < toks.length && toks[i].startsWith('-')) {
189
+ i += /^-[uUgC]$/.test(toks[i]) ? 2 : 1;
190
+ }
191
+ continue;
192
+ }
193
+ if (t === 'env') {
194
+ i++;
195
+ while (i < toks.length && (toks[i].startsWith('-') || ASSIGN_RE.test(toks[i])))
196
+ i++;
197
+ continue;
198
+ }
199
+ if (PREFIX_WRAPPERS.has(t)) {
200
+ i++;
201
+ while (i < toks.length && toks[i].startsWith('-'))
202
+ i++;
203
+ continue;
204
+ }
205
+ if (RUN_WRAPPERS.has(t)) {
206
+ i++;
207
+ while (i < toks.length && toks[i].startsWith('-'))
208
+ i += 1;
209
+ if (toks[i] === 'run') {
210
+ i++;
211
+ while (i < toks.length && (toks[i].startsWith('-') || ASSIGN_RE.test(toks[i]))) {
212
+ i += /^-[nwp]$|^--(with|python|project)$/.test(toks[i]) ? 2 : 1;
213
+ }
214
+ }
215
+ continue;
216
+ }
217
+ break;
218
+ }
219
+ return toks.slice(i);
220
+ }
221
+ function isFlag(t) { return t.startsWith('-') && t !== '-' && t !== '--'; }
222
+ /** Extract the identity of ONE pipeline segment. */
223
+ function segmentIdentity(seg, paths, inline) {
224
+ const toks = stripPrefixes(stripRedirects(tokenize(seg)));
225
+ const head = toks[0];
226
+ if (!head)
227
+ return;
228
+ const base = head.replace(/^.*\//, '');
229
+ // ./binary, /abs/bin, script.sh — the head itself is the identity.
230
+ if (PATH_LIKE_RE.test(head) && !INTERPRETER_RE.test(base)) {
231
+ paths.add(head);
232
+ return;
233
+ }
234
+ const interp = INTERPRETER_RE.test(base) ? base : null;
235
+ if (interp) {
236
+ const flags = inlineFlagsFor(interp);
237
+ for (let i = 1; i < toks.length; i++) {
238
+ const t = toks[i];
239
+ if (flags.has(t)) {
240
+ if (toks[i + 1] !== undefined)
241
+ inline.push(toks[i + 1]);
242
+ return;
243
+ }
244
+ if (t === '-m' && /^python|^pypy/.test(interp)) {
245
+ const mod = toks[i + 1];
246
+ if (mod)
247
+ paths.add(mod);
248
+ for (let j = i + 2; j < toks.length; j++)
249
+ if (!isFlag(toks[j]) && PATH_LIKE_RE.test(toks[j]))
250
+ paths.add(toks[j]);
251
+ return;
252
+ }
253
+ if (interp === 'deno' || interp === 'bun') {
254
+ if (t === 'run' || t === 'eval' || t === 'test')
255
+ continue;
256
+ }
257
+ if (t === '-' || t === '--')
258
+ return; // stdin (heredoc handled globally) / end of options
259
+ if (isFlag(t))
260
+ continue;
261
+ paths.add(t);
262
+ return;
263
+ }
264
+ return;
265
+ }
266
+ if (TARGET_EXECUTORS.has(base)) {
267
+ for (let i = 1; i < toks.length; i++) {
268
+ const t = toks[i];
269
+ if (t === '--')
270
+ break;
271
+ if (IDENTITY_VALUE_FLAGS.has(t) && base === 'cargo') {
272
+ const v = toks[i + 1];
273
+ if (v)
274
+ paths.add(v);
275
+ i++;
276
+ continue;
277
+ }
278
+ if (VALUE_FLAGS.has(t)) {
279
+ i++;
280
+ continue;
281
+ }
282
+ if (isFlag(t) || ASSIGN_RE.test(t))
283
+ continue;
284
+ if (base === 'npm' && (t === 'run' || t === 'run-script' || t === 'exec'))
285
+ continue;
286
+ if ((base === 'yarn' || base === 'pnpm') && t === 'run')
287
+ continue;
288
+ if (base === 'pytest' || base === 'py.test' || base === 'go') {
289
+ if (PATH_LIKE_RE.test(t) || (base === 'go' && i === 1))
290
+ paths.add(t);
291
+ continue;
292
+ }
293
+ paths.add(t);
294
+ }
295
+ }
296
+ }
297
+ /** Pure: split a shell command into script identity (paths + inline code) and residual wrapper. */
298
+ export function extractCommandIdentity(command) {
299
+ const raw = String(command ?? '');
300
+ const inline = [];
301
+ const paths = new Set();
302
+ // Heredoc bodies are inline code; replace with a marker so segment splitting never sees them.
303
+ const noHeredoc = raw.replace(HEREDOC_RE, (_m, _q, _d, body) => { inline.push(body); return ' <<HEREDOC'; });
304
+ for (const seg of splitSegments(noHeredoc))
305
+ segmentIdentity(seg, paths, inline);
306
+ const scriptPaths = [...paths].sort();
307
+ let wrapper = noHeredoc;
308
+ for (const p of scriptPaths)
309
+ wrapper = wrapper.split(p).join(' ');
310
+ for (const body of inline)
311
+ wrapper = wrapper.split(body).join(' ');
312
+ const out = { scriptPaths, wrapper: normalizeText(wrapper) };
313
+ if (inline.length) {
314
+ const code = normalizeText(inline.join('\n'));
315
+ out.inlineCode = code;
316
+ out.inlineCodeHash = createHash('sha256').update(code).digest('hex').slice(0, 16);
317
+ }
318
+ return out;
319
+ }
320
+ /**
321
+ * R136b: short stable digest of a command's identity for the approach KEY (the neardup-hash lens and the
322
+ * failure ladder), applied the way R128 suffixes chunk-read ranges: approachHash collapses every script path
323
+ * into `<path>` and every inline body into `<q>`, so different scripts under one wrapper shared ONE hash
324
+ * bucket. Undefined when the command carries no identity (ls / grep / git …) — those keys are unchanged.
325
+ */
326
+ export function commandIdentityDigest(identity) {
327
+ if (!identity)
328
+ return undefined;
329
+ // SCRIPT PATHS ONLY (2026-09-13 decision): inline `-c`/heredoc bodies are deliberately NOT part of the key digest — an
330
+ // edited `python3 -c` grind must keep accumulating on the failure ladder (HB-LOOP-NEARDUP's founding case); the
331
+ // similarity lens (R136) already separates genuinely different inline bodies by body Dice.
332
+ if (identity.scriptPaths.length === 0)
333
+ return undefined;
334
+ return createHash('sha256').update(identity.scriptPaths.join('\u0000')).digest('hex').slice(0, 12);
335
+ }
336
+ /** Bigram Dice similarity in [0,1] (same criterion as toolOutcome.diceSimilarity; local copy avoids an import cycle). */
337
+ function dice(a, b) {
338
+ if (a === b)
339
+ return 1;
340
+ if (a.length < 2 || b.length < 2)
341
+ return 0;
342
+ const grams = (s) => { const g = new Map(); for (let k = 0; k < s.length - 1; k++) {
343
+ const x = s.slice(k, k + 2);
344
+ g.set(x, (g.get(x) ?? 0) + 1);
345
+ } return g; };
346
+ const ga = grams(a), gb = grams(b);
347
+ let inter = 0;
348
+ for (const [k, v] of ga)
349
+ inter += Math.min(v, gb.get(k) ?? 0);
350
+ return (2 * inter) / ((a.length - 1) + (b.length - 1));
351
+ }
352
+ /**
353
+ * True when two commands are provably DIFFERENT approaches: a different script/target set, or inline
354
+ * bodies that are not near-identical (Dice < bodySim — a minor edit of one body is the same identity;
355
+ * genuinely different code is not). Commands with no identity on either side never "differ" here —
356
+ * they fall through to the whole-text similarity scoring.
357
+ */
358
+ export function commandIdentityDiffers(a, b, bodySim = 0.9) {
359
+ if (!a || !b)
360
+ return false;
361
+ if (a.scriptPaths.length !== b.scriptPaths.length || a.scriptPaths.some((p, i) => p !== b.scriptPaths[i]))
362
+ return true;
363
+ const ai = a.inlineCode, bi = b.inlineCode;
364
+ if (ai === undefined && bi === undefined)
365
+ return false;
366
+ if (ai === undefined || bi === undefined)
367
+ return true;
368
+ return ai !== bi && dice(ai, bi) < bodySim;
369
+ }
370
+ //# sourceMappingURL=commandIdentity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commandIdentity.js","sourceRoot":"","sources":["../../src/training/commandIdentity.ts"],"names":[],"mappings":"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"}