soturail 0.3.0 → 0.3.2

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 (79) hide show
  1. package/README.md +34 -5
  2. package/dist/commands/bench.d.ts +4 -1
  3. package/dist/commands/bench.js +169 -14
  4. package/dist/commands/bench.js.map +1 -1
  5. package/dist/commands/dedupe.js +15 -6
  6. package/dist/commands/dedupe.js.map +1 -1
  7. package/dist/commands/expand.d.ts +5 -0
  8. package/dist/commands/expand.js +22 -2
  9. package/dist/commands/expand.js.map +1 -1
  10. package/dist/commands/hooks.js +13 -0
  11. package/dist/commands/hooks.js.map +1 -1
  12. package/dist/commands/init.js +220 -1
  13. package/dist/commands/init.js.map +1 -1
  14. package/dist/commands/release.js +20 -4
  15. package/dist/commands/release.js.map +1 -1
  16. package/dist/commands/run.d.ts +2 -0
  17. package/dist/commands/run.js +49 -3
  18. package/dist/commands/run.js.map +1 -1
  19. package/dist/commands/stats.d.ts +6 -0
  20. package/dist/commands/stats.js +25 -1
  21. package/dist/commands/stats.js.map +1 -1
  22. package/dist/compressors/developer-reducer.d.ts +3 -0
  23. package/dist/compressors/developer-reducer.js +90 -0
  24. package/dist/compressors/developer-reducer.js.map +1 -0
  25. package/dist/compressors/index.js +11 -0
  26. package/dist/compressors/index.js.map +1 -1
  27. package/dist/core/block-dedupe.d.ts +43 -0
  28. package/dist/core/block-dedupe.js +82 -0
  29. package/dist/core/block-dedupe.js.map +1 -0
  30. package/dist/core/config.d.ts +38 -0
  31. package/dist/core/config.js +18 -1
  32. package/dist/core/config.js.map +1 -1
  33. package/dist/core/dedupe-store.d.ts +38 -0
  34. package/dist/core/dedupe-store.js +45 -2
  35. package/dist/core/dedupe-store.js.map +1 -1
  36. package/dist/core/mcp-tools.js +1 -1
  37. package/dist/core/mcp-tools.js.map +1 -1
  38. package/dist/core/release-preflight.d.ts +8 -0
  39. package/dist/core/release-preflight.js +66 -0
  40. package/dist/core/release-preflight.js.map +1 -1
  41. package/dist/core/skill-schema.js +9 -2
  42. package/dist/core/skill-schema.js.map +1 -1
  43. package/dist/core/skill-store.d.ts +1 -1
  44. package/dist/core/skill-store.js +56 -9
  45. package/dist/core/skill-store.js.map +1 -1
  46. package/dist/core/version.d.ts +1 -1
  47. package/dist/core/version.js +1 -1
  48. package/docs/benchmarking.md +12 -2
  49. package/docs/comparisons.md +1 -1
  50. package/docs/context-packs.md +10 -0
  51. package/docs/first-real-workflow.md +60 -0
  52. package/docs/hooks.md +7 -0
  53. package/docs/mcp.md +44 -2
  54. package/docs/metrics.md +9 -0
  55. package/docs/reducers.md +31 -0
  56. package/docs/release-checklist.md +10 -0
  57. package/docs/release-workflow.md +10 -0
  58. package/docs/security-model.md +13 -1
  59. package/docs/skill-rail.md +4 -0
  60. package/docs/usage.md +8 -0
  61. package/docs/windows.md +23 -1
  62. package/docs/workflow-rail.md +7 -1
  63. package/examples/README.md +22 -0
  64. package/examples/context-packs/README.md +17 -0
  65. package/examples/context-packs/generic-workflow.md +9 -0
  66. package/examples/hooks/README.md +11 -0
  67. package/examples/hooks/prompt-only-codex.md +7 -0
  68. package/examples/mcp/README.md +17 -0
  69. package/examples/mcp/initialize.json +1 -0
  70. package/examples/mcp/resources-list.json +1 -0
  71. package/examples/mcp/resources-read-repo-map.json +1 -0
  72. package/examples/mcp/tools-list.json +1 -0
  73. package/examples/skills/README.md +13 -0
  74. package/examples/skills/bug-triage-skill.yml +26 -0
  75. package/examples/skills/code-review-skill.yml +28 -0
  76. package/examples/skills/java-student-helper-skill.yml +25 -0
  77. package/examples/skills/php-web-reviewer-skill.yml +27 -0
  78. package/examples/skills/release-manager-skill.yml +26 -0
  79. package/package.json +3 -2
package/README.md CHANGED
@@ -77,9 +77,9 @@ AI coding agents often receive too much unstable context: full files, noisy test
77
77
  - Heuristic Repo Map with cross-platform ignore handling.
78
78
  - Progressive reader for large files with reversible collapsed ranges.
79
79
  - Safe tee-stream runner with raw log preservation.
80
- - Git, test, JSON and generic terminal reducers.
80
+ - Git, test, npm, TypeScript, Docker, ESLint, Java/Maven/Gradle, build, JSON and generic terminal reducers.
81
81
  - Optional Rust native reducer and runner hot paths with TypeScript fallback.
82
- - Cross-call dedupe for repeated command output.
82
+ - Cross-call and block-level dedupe for repeated command output.
83
83
  - Reproducible local benchmark suite.
84
84
  - Agent response compression modes.
85
85
  - Knowledge-to-Rules ingestion and validators.
@@ -99,13 +99,13 @@ Use directly with npx:
99
99
 
100
100
  ```bash
101
101
  npx soturail --help
102
- npx soturail@0.3.0 --help
102
+ npx soturail@0.3.2 --help
103
103
  ```
104
104
 
105
105
  Install globally:
106
106
 
107
107
  ```bash
108
- npm install -g soturail
108
+ npm install -g soturail@0.3.2
109
109
  soturail --help
110
110
  soturail --version
111
111
  ```
@@ -144,11 +144,17 @@ SotuRail does not claim native speedups unless local benchmark results show them
144
144
  soturail init
145
145
  soturail index
146
146
  soturail read README.md --query "quick start"
147
+ soturail context pack --target generic
148
+ soturail skills init demo-skill
149
+ soturail skills validate
150
+ soturail mcp doctor
147
151
  soturail run npm test
148
152
  soturail expand <raw_id>
149
153
  soturail stats
150
154
  ```
151
155
 
156
+ For an installed clean-folder walkthrough, see [docs/first-real-workflow.md](docs/first-real-workflow.md).
157
+
152
158
  ## 7. Commands
153
159
 
154
160
  ```bash
@@ -156,8 +162,11 @@ soturail init
156
162
  soturail index
157
163
  soturail read <file> --query "goal"
158
164
  soturail run --engine auto <command...>
165
+ soturail run --similar-dedupe conservative npm test
159
166
  soturail run --engine native <command...>
160
167
  soturail expand <raw_id>
168
+ soturail expand <raw_id> --allow-raw --yes
169
+ soturail dedupe stats
161
170
  soturail bench prepare
162
171
  soturail bench run --engine ts
163
172
  soturail hooks list
@@ -195,6 +204,7 @@ soturail bench compare-optional --tool squeez
195
204
  ### Benchmark Interpretation
196
205
 
197
206
  - Terminal compression measures how reducers shrink logs while preserving errors, paths and recovery links.
207
+ - Dedupe cases measure conservative block reuse and report `dedupe_tokens_saved`, metadata overhead and net savings.
198
208
  - Agent response compression measures deterministic formatting modes.
199
209
  - JSON/tool payload compression preserves relevant primitive values while collapsing repetitive structure.
200
210
  - Knowledge-to-Rules is reusable structuring, not pure compression; structured rules can be larger than a tiny source document because they add citations and validator metadata.
@@ -204,6 +214,17 @@ soturail bench compare-optional --tool squeez
204
214
 
205
215
  Local token counts are deterministic estimates. SotuRail reports raw payload tokens, reduced payload tokens, metadata overhead and net estimated tokens. For tiny outputs, compression may be ineffective once recovery metadata is included; SotuRail says that directly while preserving raw recovery paths.
206
216
 
217
+ ## Reducers And Dedupe
218
+
219
+ v0.3.2 adds stronger reducers for common developer commands including `npm install`, `npm test`, Vitest, `tsc`, `git diff`, `git status`, Docker logs, ESLint, Vite/Next build output and Java/Maven/Gradle failures. Reducers preserve errors, warnings, file paths, line/column references, stack traces, security warnings and the raw recovery hint.
220
+
221
+ Block-level dedupe is conservative by default. It can replace repeated safe blocks with references such as `[deduped block: ...]`, while preserving error blocks and current failure context. Similar-output dedupe is experimental and opt-in:
222
+
223
+ ```bash
224
+ soturail run --similar-dedupe conservative npm test
225
+ soturail dedupe stats
226
+ ```
227
+
207
228
  ## 9. Agent Hooks
208
229
 
209
230
  SotuRail provides cautious hook scaffolding and prompt-only fallbacks:
@@ -233,6 +254,8 @@ soturail skills pack --format markdown
233
254
 
234
255
  Exports are written under `.soturail/exports/skills/` and should be reviewed before enabling in an agent host.
235
256
 
257
+ Examples live under [examples/skills](examples/skills).
258
+
236
259
  ## MCP And Context Packs
237
260
 
238
261
  SotuRail exposes local context through a minimal MCP-compatible stdio server and cache-friendly context packs.
@@ -241,12 +264,18 @@ SotuRail exposes local context through a minimal MCP-compatible stdio server and
241
264
  soturail mcp doctor
242
265
  soturail mcp manifest
243
266
  soturail mcp serve --transport stdio
267
+ soturail context pack --target claude
268
+ soturail context pack --target codex
269
+ soturail context pack --target gemini
270
+ soturail context pack --target cursor
244
271
  soturail context pack --target generic
245
272
  soturail context explain
246
273
  ```
247
274
 
248
275
  MCP does not expose arbitrary shell execution in v0.3.0. Raw log expansion redacts probable secrets unless raw output is explicitly requested.
249
276
 
277
+ Context packs are written to `.soturail/context/<target>-context.md`. JSON-RPC examples live under [examples/mcp](examples/mcp).
278
+
250
279
  ## 10. Agent Response Compression
251
280
 
252
281
  SotuRail includes Caveman-like output compression as inspiration, implemented independently with professional modes:
@@ -292,7 +321,7 @@ SotuRail reports estimated cache stability only. It never claims real provider c
292
321
 
293
322
  `soturail run` blocks dangerous patterns by default, including `rm -rf`, `sudo`, `format`, `dd if=`, `curl | sh`, `del /s` and `git push`.
294
323
 
295
- Raw logs may contain secrets because they preserve real terminal output. Treat `.soturail/raw/` as local evidence, not public artifact material.
324
+ Raw logs may contain secrets because they preserve real terminal output. Treat `.soturail/raw/` as local evidence, not public artifact material. `soturail expand <raw_id>` redacts probable secrets by default; use `--allow-raw --yes` only when you intentionally need exact raw output.
296
325
 
297
326
  ## Windows Notes
298
327
 
@@ -4,7 +4,7 @@ interface BenchOptions {
4
4
  engine?: ReducerEngine;
5
5
  tool?: string;
6
6
  }
7
- export type BenchmarkCategory = "terminal_compression" | "agent_response_compression" | "knowledge_structuring" | "cache_stability" | "native_engine" | "skill_rail" | "mcp" | "context_pack" | "agent_integration" | "memory_workflow";
7
+ export type BenchmarkCategory = "terminal_compression" | "terminal_reducer" | "agent_response_compression" | "knowledge_structuring" | "cache_stability" | "native_engine" | "skill_rail" | "mcp" | "context_pack" | "agent_integration" | "memory_workflow";
8
8
  export interface BenchResult {
9
9
  case_id: string;
10
10
  name: string;
@@ -14,6 +14,9 @@ export interface BenchResult {
14
14
  reduced_bytes: number;
15
15
  raw_tokens: number;
16
16
  reduced_tokens: number;
17
+ dedupe_tokens_saved: number;
18
+ metadata_overhead_tokens: number;
19
+ net_tokens_saved: number;
17
20
  reduction_percent: number | null;
18
21
  estimated_raw_tokens: number;
19
22
  estimated_reduced_tokens: number;
@@ -6,9 +6,11 @@ import { performance } from "node:perf_hooks";
6
6
  import { promisify } from "node:util";
7
7
  import { reduceAgentResponse } from "../compressors/agent-response-reducer.js";
8
8
  import { compressOutputWithEngine } from "../compressors/index.js";
9
+ import { applyBlockDedupe } from "../core/block-dedupe.js";
9
10
  import { buildCachePayload } from "../core/cache-normalizer.js";
10
11
  import { buildContextPack } from "../core/context-pack.js";
11
12
  import { ensureWorkspace, writeJson } from "../core/config.js";
13
+ import { DedupeStore } from "../core/dedupe-store.js";
12
14
  import { ingestDocument } from "../core/document-ingest.js";
13
15
  import { exportHook } from "./hooks.js";
14
16
  import { approveMemory, listMemory, proposeMemory } from "./memory.js";
@@ -121,6 +123,65 @@ export async function prepareBenchmarks(root = process.cwd()) {
121
123
  "# Security",
122
124
  "- git push must never be run automatically through soturail run."
123
125
  ].join("\n");
126
+ const npmTestSuccess = [
127
+ "RUN v2.1.9 C:/project",
128
+ ...Array.from({ length: 180 }, (_, index) => `✓ tests/unit-${index}.test.ts (${index + 1} tests)`),
129
+ "Test Files 42 passed (42)",
130
+ "Tests 312 passed (312)"
131
+ ].join("\n");
132
+ const dockerLogs = [
133
+ ...Array.from({ length: 160 }, (_, index) => `2026-05-21T10:00:${String(index % 60).padStart(2, "0")}Z info worker heartbeat ok`),
134
+ "2026-05-21T10:03:01Z ERROR connection refused while opening /app/config.yml",
135
+ "2026-05-21T10:03:02Z WARN retrying request"
136
+ ].join("\n");
137
+ const eslintFailure = [
138
+ "src/app.ts",
139
+ " 12:7 error 'unused' is assigned a value but never used @typescript-eslint/no-unused-vars",
140
+ " 18:3 warning Unexpected console statement no-console",
141
+ "✖ 2 problems (1 error, 1 warning)"
142
+ ].join("\n");
143
+ const viteBuild = [
144
+ "vite v5.4.0 building for production...",
145
+ ...Array.from({ length: 90 }, (_, index) => `transforming node_modules/pkg-${index}/index.js`),
146
+ "dist/assets/index.js 42.00 kB | gzip: 12.00 kB",
147
+ "✓ built in 1.24s"
148
+ ].join("\n");
149
+ const nextBuild = [
150
+ "▲ Next.js 15.0.0",
151
+ "Creating an optimized production build ...",
152
+ "warn - Large page data detected in app/dashboard/page.tsx",
153
+ "Route (app) /dashboard 125 kB",
154
+ "✓ Compiled successfully"
155
+ ].join("\n");
156
+ const javaStacktrace = [
157
+ "Exception in thread \"main\" java.lang.NullPointerException: Cannot invoke service",
158
+ "\tat com.example.Main.main(Main.java:12)",
159
+ "\tat com.example.Service.run(Service.java:44)",
160
+ ...Array.from({ length: 80 }, (_, index) => `\tat com.example.Generated.frame${index}(Generated.java:${index + 1})`)
161
+ ].join("\n");
162
+ const mavenFailure = [
163
+ "[INFO] -------------------------------------------------------",
164
+ "[ERROR] Tests run: 12, Failures: 1, Errors: 0, Skipped: 0",
165
+ "[ERROR] com.example.UserServiceTest.shouldSaveUser Time elapsed: 0.01 s <<< FAILURE!",
166
+ "java.lang.AssertionError: expected:<saved> but was:<failed>",
167
+ " at src/test/java/com/example/UserServiceTest.java:27"
168
+ ].join("\n");
169
+ const gradleFailure = [
170
+ "> Task :test FAILED",
171
+ "UserServiceTest > shouldSaveUser FAILED",
172
+ " org.opentest4j.AssertionFailedError at UserServiceTest.java:27",
173
+ "FAILURE: Build failed with an exception."
174
+ ].join("\n");
175
+ const dedupeRepeated = [
176
+ ...Array.from({ length: 8 }, (_, index) => `cached dependency line ${index}`),
177
+ ...Array.from({ length: 8 }, (_, index) => `cached dependency line ${index}`),
178
+ "ERROR final line must remain visible"
179
+ ].join("\n");
180
+ const similarRepeated = [
181
+ ...Array.from({ length: 8 }, (_, index) => `2026-05-21T10:00:0${index}Z cache hit package-${index} in C:\\Temp\\build\\a`),
182
+ ...Array.from({ length: 8 }, (_, index) => `2026-05-21T10:05:0${index}Z cache hit package-${index} in C:\\Temp\\build\\b`)
183
+ ].join("\n");
184
+ const tinyOutput = "ok\n";
124
185
  await writeFixture(root, "npm-install-noisy.txt", npmInstall);
125
186
  await writeFixture(root, "vitest-failure-stacktrace.txt", vitestFailure);
126
187
  await writeFixture(root, "tsc-error.txt", tscError);
@@ -130,6 +191,17 @@ export async function prepareBenchmarks(root = process.cwd()) {
130
191
  await writeFixture(root, "verbose-ai-answer.md", verboseAi);
131
192
  await writeFixture(root, "readme-doc.md", readmeText);
132
193
  await writeFixture(root, "rules-doc.md", rulesDoc);
194
+ await writeFixture(root, "npm-test-success.txt", npmTestSuccess);
195
+ await writeFixture(root, "docker-logs-noisy.txt", dockerLogs);
196
+ await writeFixture(root, "eslint-failure.txt", eslintFailure);
197
+ await writeFixture(root, "vite-build-success.txt", viteBuild);
198
+ await writeFixture(root, "next-build-warning.txt", nextBuild);
199
+ await writeFixture(root, "java-stacktrace.txt", javaStacktrace);
200
+ await writeFixture(root, "maven-failure.txt", mavenFailure);
201
+ await writeFixture(root, "gradle-failure.txt", gradleFailure);
202
+ await writeFixture(root, "dedupe-repeated-output.txt", dedupeRepeated);
203
+ await writeFixture(root, "similar-output-dedupe.txt", similarRepeated);
204
+ await writeFixture(root, "tiny-output-overhead.txt", tinyOutput);
133
205
  return "Benchmark fixtures prepared in benchmarks/fixtures.\n";
134
206
  }
135
207
  async function readFixture(root, name) {
@@ -152,7 +224,7 @@ async function terminalResult(root, caseId, fixture, command, engine) {
152
224
  }
153
225
  return makeResult({
154
226
  case_id: caseId,
155
- category: "terminal_compression",
227
+ category: "terminal_reducer",
156
228
  engine: reduced.engine,
157
229
  raw,
158
230
  reduced: text,
@@ -162,7 +234,11 @@ async function terminalResult(root, caseId, fixture, command, engine) {
162
234
  runtime,
163
235
  quality: true,
164
236
  notes: quality.note ?? "Terminal output reducer preserved required signals.",
165
- details: { compressor: reduced.compressor, ...(reduced.details ?? {}) }
237
+ details: {
238
+ compressor: reduced.compressor,
239
+ metadata_overhead_tokens: estimateTokens(`Raw log: soturail expand bench-${caseId}`),
240
+ ...(reduced.details ?? {})
241
+ }
166
242
  });
167
243
  }
168
244
  async function responseResult(root, fixture, mode) {
@@ -264,6 +340,51 @@ async function nativeEngineResult(root) {
264
340
  details: { available: native.available, path: native.path ?? null, version: native.version ?? null }
265
341
  });
266
342
  }
343
+ async function dedupeResult(root, mode) {
344
+ const raw = await readFixture(root, mode === "exact" ? "dedupe-repeated-output.txt" : "similar-output-dedupe.txt");
345
+ const store = new DedupeStore(root);
346
+ const start = performance.now();
347
+ const seedText = raw.split(/\r?\n/).slice(0, 8).join("\n");
348
+ const seed = await applyBlockDedupe(seedText, store, {
349
+ rawId: `bench-${mode}-seed`,
350
+ blockMinLines: 8,
351
+ recentWindow: 10,
352
+ preserveErrorBlocks: true,
353
+ similarMode: mode === "similar" ? "conservative" : "off"
354
+ });
355
+ for (const block of seed.newBlocks) {
356
+ await store.appendBlock({ kind: "block", ...block });
357
+ }
358
+ const reduced = await applyBlockDedupe(raw, store, {
359
+ rawId: `bench-${mode}`,
360
+ blockMinLines: 8,
361
+ recentWindow: 10,
362
+ preserveErrorBlocks: true,
363
+ similarMode: mode === "similar" ? "conservative" : "off"
364
+ });
365
+ const runtime = performance.now() - start;
366
+ const reducedText = reduced.output;
367
+ return makeResult({
368
+ case_id: mode === "exact" ? "dedupe_repeated_output" : "similar_output_dedupe",
369
+ category: "terminal_reducer",
370
+ engine: "ts",
371
+ raw,
372
+ reduced: reducedText,
373
+ rawTokens: estimateTokens(raw),
374
+ reducedTokens: estimateTokens(reducedText),
375
+ reduction: reductionPercent(estimateTokens(raw), estimateTokens(reducedText)),
376
+ runtime,
377
+ quality: reducedText.includes("[deduped block:") && (mode === "similar" || reducedText.includes("ERROR final line")),
378
+ notes: mode === "similar"
379
+ ? "Experimental conservative similar-output dedupe normalized timestamps and temp paths."
380
+ : "Block-level dedupe reused repeated safe output while preserving risky lines.",
381
+ details: {
382
+ dedupe_tokens_saved: reduced.tokensSaved,
383
+ reused_blocks: reduced.reusedBlocks.length,
384
+ metadata_overhead_tokens: estimateTokens("dedupe block reference")
385
+ }
386
+ });
387
+ }
267
388
  async function skillRailResult(root, mode) {
268
389
  const start = performance.now();
269
390
  const skill = await createSkill(`benchmark ${mode}`, root);
@@ -376,24 +497,41 @@ function qualityCheck(caseId, text) {
376
497
  if (caseId.includes("tsc") && (!text.includes("TS2322") || !text.includes("src/commands/self.ts"))) {
377
498
  return { ok: false, reason: "TypeScript diagnostic missing" };
378
499
  }
379
- if (caseId.includes("git-diff") && (!text.includes("src/app.ts") || !text.includes("@@ -1,3 +1,5 @@"))) {
500
+ if (caseId.includes("git_diff") && (!text.includes("src/app.ts") || !text.includes("@@ -1,3 +1,5 @@"))) {
380
501
  return { ok: false, reason: "git diff path or hunk missing" };
381
502
  }
382
- if (caseId.includes("git-status") && !text.includes("src/generated-")) {
503
+ if (caseId.includes("git_status") && !text.includes("src/generated-")) {
383
504
  return { ok: false, reason: "git status changed path missing" };
384
505
  }
385
506
  if (caseId.includes("json") && (!text.includes("Permission denied") || !text.includes("timeout"))) {
386
507
  return { ok: false, reason: "JSON error primitives missing" };
387
508
  }
388
- if (caseId.includes("npm-install") && (!text.includes("moderate severity") || !text.includes("npm audit"))) {
509
+ if (caseId.includes("npm_install") && (!text.includes("moderate severity") || !text.includes("npm audit"))) {
389
510
  return { ok: false, reason: "npm warning or command suggestion missing" };
390
511
  }
512
+ if (caseId.includes("docker") && !text.includes("ERROR connection refused")) {
513
+ return { ok: false, reason: "docker error missing" };
514
+ }
515
+ if (caseId.includes("eslint") && !text.includes("@typescript-eslint/no-unused-vars")) {
516
+ return { ok: false, reason: "eslint rule missing" };
517
+ }
518
+ if (caseId.includes("java") && (!text.includes("NullPointerException") || !text.includes("Main.java:12"))) {
519
+ return { ok: false, reason: "java exception missing" };
520
+ }
521
+ if (caseId.includes("maven") && !text.includes("UserServiceTest.java:27")) {
522
+ return { ok: false, reason: "maven failure path missing" };
523
+ }
524
+ if (caseId.includes("gradle") && !text.includes("UserServiceTest.java:27")) {
525
+ return { ok: false, reason: "gradle failure path missing" };
526
+ }
391
527
  return { ok: true };
392
528
  }
393
529
  function makeResult(input) {
394
530
  const errors = (input.reduced.match(/\b(error|warn|fail|assertion|timeout|denied|refused|TS\d+)\b/gi) ?? []).length;
395
531
  const paths = (input.reduced.match(/(?:src|tests|docs|\.github)[\\/][\w./-]+(?::\d+(?::\d+)?)?/g) ?? []).length;
396
532
  const commands = (input.reduced.match(/\b(?:npm|npx|node|soturail|git|tsc|vitest|pytest)\b[^\n]*/g) ?? []).length;
533
+ const dedupeTokensSaved = numericDetail(input.details.dedupe_tokens_saved);
534
+ const metadataOverheadTokens = numericDetail(input.details.metadata_overhead_tokens);
397
535
  return {
398
536
  case_id: input.case_id,
399
537
  name: input.case_id,
@@ -403,6 +541,9 @@ function makeResult(input) {
403
541
  reduced_bytes: Buffer.byteLength(input.reduced),
404
542
  raw_tokens: input.rawTokens,
405
543
  reduced_tokens: input.reducedTokens,
544
+ dedupe_tokens_saved: dedupeTokensSaved,
545
+ metadata_overhead_tokens: metadataOverheadTokens,
546
+ net_tokens_saved: input.rawTokens - input.reducedTokens - metadataOverheadTokens + dedupeTokensSaved,
406
547
  reduction_percent: input.reduction,
407
548
  estimated_raw_tokens: input.rawTokens,
408
549
  estimated_reduced_tokens: input.reducedTokens,
@@ -422,6 +563,9 @@ function makeResult(input) {
422
563
  details: input.details
423
564
  };
424
565
  }
566
+ function numericDetail(value) {
567
+ return typeof value === "number" && Number.isFinite(value) ? value : 0;
568
+ }
425
569
  export async function runBenchmarks(options = {}, root = process.cwd()) {
426
570
  await ensureWorkspace(root);
427
571
  await prepareBenchmarks(root);
@@ -432,12 +576,23 @@ export async function runBenchmarks(options = {}, root = process.cwd()) {
432
576
  return results;
433
577
  }
434
578
  const results = [
435
- await terminalResult(root, "npm-install-noisy", "npm-install-noisy.txt", "npm install", engine),
436
- await terminalResult(root, "vitest-failure-stacktrace", "vitest-failure-stacktrace.txt", "npm test", engine),
437
- await terminalResult(root, "tsc-error", "tsc-error.txt", "npm run build", engine),
438
- await terminalResult(root, "git-diff-multiple", "git-diff-multiple.txt", "git diff", engine),
439
- await terminalResult(root, "git-status-many", "git-status-many.txt", "git status", engine),
440
- await terminalResult(root, "json-tool-payload", "json-tool-payload.json", "cat tool-output.json", engine),
579
+ await terminalResult(root, "npm_install_noisy", "npm-install-noisy.txt", "npm install", engine),
580
+ await terminalResult(root, "npm_test_success", "npm-test-success.txt", "npm test", engine),
581
+ await terminalResult(root, "vitest_failure", "vitest-failure-stacktrace.txt", "vitest run", engine),
582
+ await terminalResult(root, "tsc_error", "tsc-error.txt", "tsc --noEmit", engine),
583
+ await terminalResult(root, "git_diff_large", "git-diff-multiple.txt", "git diff", engine),
584
+ await terminalResult(root, "git_status_many_files", "git-status-many.txt", "git status", engine),
585
+ await terminalResult(root, "json_tool_payload", "json-tool-payload.json", "cat tool-output.json", engine),
586
+ await terminalResult(root, "docker_logs_noisy", "docker-logs-noisy.txt", "docker logs app", engine),
587
+ await terminalResult(root, "eslint_failure", "eslint-failure.txt", "npx eslint src", engine),
588
+ await terminalResult(root, "vite_build_success", "vite-build-success.txt", "vite build", engine),
589
+ await terminalResult(root, "next_build_warning", "next-build-warning.txt", "next build", engine),
590
+ await terminalResult(root, "java_stacktrace", "java-stacktrace.txt", "java Main", engine),
591
+ await terminalResult(root, "maven_failure", "maven-failure.txt", "mvn test", engine),
592
+ await terminalResult(root, "gradle_failure", "gradle-failure.txt", "gradle test", engine),
593
+ await terminalResult(root, "tiny_output_overhead", "tiny-output-overhead.txt", "node -e \"console.log('ok')\"", engine),
594
+ await dedupeResult(root, "exact"),
595
+ await dedupeResult(root, "similar"),
441
596
  await responseResult(root, "verbose-ai-answer.md", "concise"),
442
597
  await responseResult(root, "verbose-ai-answer.md", "review"),
443
598
  await responseResult(root, "readme-doc.md", "docs"),
@@ -507,7 +662,7 @@ export function summarizeBenchmarkResults(results) {
507
662
  }
508
663
  function renderReport(results) {
509
664
  const grouped = groupByCategory(results);
510
- const rows = results.map((result) => `| ${result.case_id} | ${result.category} | ${result.engine} | ${result.raw_tokens} | ${result.reduced_tokens} | ${result.reduction_percent === null ? "n/a" : `${result.reduction_percent}%`} | ${result.runtime_ms} | ${result.quality_passed ? "pass" : "fail"} | ${result.notes} |`);
665
+ const rows = results.map((result) => `| ${result.case_id} | ${result.category} | ${result.engine} | ${result.raw_tokens} | ${result.reduced_tokens} | ${result.dedupe_tokens_saved} | ${result.metadata_overhead_tokens} | ${result.net_tokens_saved} | ${result.reduction_percent === null ? "n/a" : `${result.reduction_percent}%`} | ${result.runtime_ms} | ${result.quality_passed ? "pass" : "fail"} | ${result.notes} |`);
511
666
  return [
512
667
  "# SotuRail Benchmark Report",
513
668
  "",
@@ -516,8 +671,8 @@ function renderReport(results) {
516
671
  "Categories:",
517
672
  ...Object.entries(grouped).map(([category, count]) => `- ${category}: ${count} case(s)`),
518
673
  "",
519
- "| case_id | category | engine | raw_tokens | reduced_tokens | reduction_percent | runtime_ms | quality | notes |",
520
- "|---|---|---:|---:|---:|---:|---:|---|---|",
674
+ "| case_id | category | engine | raw_tokens | reduced_tokens | dedupe_tokens_saved | metadata_overhead_tokens | net_tokens_saved | reduction_percent | runtime_ms | quality | notes |",
675
+ "|---|---|---:|---:|---:|---:|---:|---:|---:|---:|---|---|",
521
676
  ...rows,
522
677
  "",
523
678
  "Knowledge structuring cases are extraction and validation tasks, not failed compression cases.",
@@ -1 +1 @@
1
- {"version":3,"file":"bench.js","sourceRoot":"","sources":["../../src/commands/bench.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bench.js","sourceRoot":"","sources":["../../src/commands/bench.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,24 @@
1
+ import { ensureWorkspace, loadConfig } from "../core/config.js";
1
2
  import { DedupeStore } from "../core/dedupe-store.js";
2
3
  export function registerDedupeCommand(program) {
3
4
  const dedupe = program.command("dedupe").description("Inspect cross-call output dedupe state.");
4
5
  dedupe.command("stats").description("Print dedupe index stats.").action(async () => {
5
- const records = await new DedupeStore().readAll();
6
- const hashes = new Set(records.map((record) => record.output_sha256));
7
- const duplicateGroups = records.length - hashes.size;
6
+ await ensureWorkspace();
7
+ const config = await loadConfig();
8
+ const stats = await new DedupeStore().stats();
8
9
  process.stdout.write([
9
10
  "SotuRail dedupe stats",
10
- `records: ${records.length}`,
11
- `unique_output_hashes: ${hashes.size}`,
12
- `repeat_records: ${duplicateGroups}`
11
+ `enabled: ${config.dedupe.enabled}`,
12
+ `mode: ${config.dedupe.mode}`,
13
+ `similar_dedupe: ${config.dedupe.similar_dedupe}`,
14
+ `recent_outputs_tracked: ${stats.outputRecords}`,
15
+ `unique_output_hashes: ${stats.uniqueOutputHashes}`,
16
+ `recent_blocks_tracked: ${stats.recentBlocks}`,
17
+ `deduped_blocks_count: ${stats.dedupedBlocks}`,
18
+ `estimated_tokens_saved: ${stats.estimatedTokensSaved}`,
19
+ `recent_window: ${config.dedupe.recentWindow}`,
20
+ `safety_mode: ${config.dedupe.preserveErrorBlocks ? "preserve_error_blocks" : "exact_blocks_only"}`,
21
+ `index_path: ${stats.indexPath}`
13
22
  ].join("\n") + "\n");
14
23
  });
15
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dedupe.js","sourceRoot":"","sources":["../../src/commands/dedupe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,yCAAyC,CAAC,CAAC;IAChG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjF,MAAM,OAAO,GAAG,MAAM,IAAI,WAAW,EAAE,CAAC,OAAO,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;QACtE,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;QACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB;YACE,uBAAuB;YACvB,YAAY,OAAO,CAAC,MAAM,EAAE;YAC5B,yBAAyB,MAAM,CAAC,IAAI,EAAE;YACtC,mBAAmB,eAAe,EAAE;SACrC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CACpB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"dedupe.js","sourceRoot":"","sources":["../../src/commands/dedupe.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,yCAAyC,CAAC,CAAC;IAChG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;QACjF,MAAM,eAAe,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,MAAM,IAAI,WAAW,EAAE,CAAC,KAAK,EAAE,CAAC;QAC9C,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB;YACE,uBAAuB;YACvB,YAAY,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;YACnC,SAAS,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YAC7B,mBAAmB,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE;YACjD,2BAA2B,KAAK,CAAC,aAAa,EAAE;YAChD,yBAAyB,KAAK,CAAC,kBAAkB,EAAE;YACnD,0BAA0B,KAAK,CAAC,YAAY,EAAE;YAC9C,yBAAyB,KAAK,CAAC,aAAa,EAAE;YAC9C,2BAA2B,KAAK,CAAC,oBAAoB,EAAE;YACvD,kBAAkB,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE;YAC9C,gBAAgB,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,mBAAmB,EAAE;YACnG,eAAe,KAAK,CAAC,SAAS,EAAE;SACjC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CACpB,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,3 +1,8 @@
1
1
  import type { Command } from "commander";
2
+ export interface ExpandCliOptions {
3
+ allowRaw?: boolean;
4
+ yes?: boolean;
5
+ }
2
6
  export declare function expandRawLog(rawId: string, root?: string): Promise<Buffer>;
7
+ export declare function redactProbableSecrets(text: string): string;
3
8
  export declare function registerExpandCommand(program: Command): void;