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.
- package/README.md +34 -5
- package/dist/commands/bench.d.ts +4 -1
- package/dist/commands/bench.js +169 -14
- package/dist/commands/bench.js.map +1 -1
- package/dist/commands/dedupe.js +15 -6
- package/dist/commands/dedupe.js.map +1 -1
- package/dist/commands/expand.d.ts +5 -0
- package/dist/commands/expand.js +22 -2
- package/dist/commands/expand.js.map +1 -1
- package/dist/commands/hooks.js +13 -0
- package/dist/commands/hooks.js.map +1 -1
- package/dist/commands/init.js +220 -1
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/release.js +20 -4
- package/dist/commands/release.js.map +1 -1
- package/dist/commands/run.d.ts +2 -0
- package/dist/commands/run.js +49 -3
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/stats.d.ts +6 -0
- package/dist/commands/stats.js +25 -1
- package/dist/commands/stats.js.map +1 -1
- package/dist/compressors/developer-reducer.d.ts +3 -0
- package/dist/compressors/developer-reducer.js +90 -0
- package/dist/compressors/developer-reducer.js.map +1 -0
- package/dist/compressors/index.js +11 -0
- package/dist/compressors/index.js.map +1 -1
- package/dist/core/block-dedupe.d.ts +43 -0
- package/dist/core/block-dedupe.js +82 -0
- package/dist/core/block-dedupe.js.map +1 -0
- package/dist/core/config.d.ts +38 -0
- package/dist/core/config.js +18 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/dedupe-store.d.ts +38 -0
- package/dist/core/dedupe-store.js +45 -2
- package/dist/core/dedupe-store.js.map +1 -1
- package/dist/core/mcp-tools.js +1 -1
- package/dist/core/mcp-tools.js.map +1 -1
- package/dist/core/release-preflight.d.ts +8 -0
- package/dist/core/release-preflight.js +66 -0
- package/dist/core/release-preflight.js.map +1 -1
- package/dist/core/skill-schema.js +9 -2
- package/dist/core/skill-schema.js.map +1 -1
- package/dist/core/skill-store.d.ts +1 -1
- package/dist/core/skill-store.js +56 -9
- package/dist/core/skill-store.js.map +1 -1
- package/dist/core/version.d.ts +1 -1
- package/dist/core/version.js +1 -1
- package/docs/benchmarking.md +12 -2
- package/docs/comparisons.md +1 -1
- package/docs/context-packs.md +10 -0
- package/docs/first-real-workflow.md +60 -0
- package/docs/hooks.md +7 -0
- package/docs/mcp.md +44 -2
- package/docs/metrics.md +9 -0
- package/docs/reducers.md +31 -0
- package/docs/release-checklist.md +10 -0
- package/docs/release-workflow.md +10 -0
- package/docs/security-model.md +13 -1
- package/docs/skill-rail.md +4 -0
- package/docs/usage.md +8 -0
- package/docs/windows.md +23 -1
- package/docs/workflow-rail.md +7 -1
- package/examples/README.md +22 -0
- package/examples/context-packs/README.md +17 -0
- package/examples/context-packs/generic-workflow.md +9 -0
- package/examples/hooks/README.md +11 -0
- package/examples/hooks/prompt-only-codex.md +7 -0
- package/examples/mcp/README.md +17 -0
- package/examples/mcp/initialize.json +1 -0
- package/examples/mcp/resources-list.json +1 -0
- package/examples/mcp/resources-read-repo-map.json +1 -0
- package/examples/mcp/tools-list.json +1 -0
- package/examples/skills/README.md +13 -0
- package/examples/skills/bug-triage-skill.yml +26 -0
- package/examples/skills/code-review-skill.yml +28 -0
- package/examples/skills/java-student-helper-skill.yml +25 -0
- package/examples/skills/php-web-reviewer-skill.yml +27 -0
- package/examples/skills/release-manager-skill.yml +26 -0
- 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.
|
|
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
|
|
package/dist/commands/bench.d.ts
CHANGED
|
@@ -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;
|
package/dist/commands/bench.js
CHANGED
|
@@ -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: "
|
|
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: {
|
|
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("
|
|
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("
|
|
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("
|
|
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, "
|
|
436
|
-
await terminalResult(root, "
|
|
437
|
-
await terminalResult(root, "
|
|
438
|
-
await terminalResult(root, "
|
|
439
|
-
await terminalResult(root, "
|
|
440
|
-
await terminalResult(root, "
|
|
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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"}
|
package/dist/commands/dedupe.js
CHANGED
|
@@ -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
|
-
|
|
6
|
-
const
|
|
7
|
-
const
|
|
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
|
-
`
|
|
11
|
-
`
|
|
12
|
-
`
|
|
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,
|
|
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;
|