repro-surgeon 0.1.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.1
4
+
5
+ - Clarify that reduction edits target copies and configured checks start in temporary directories; arbitrary commands retain filesystem and network access, including access to the original checkout. No built-in sandbox has been added.
6
+ - Include the execution boundary in CLI help, configuration guidance and each newly exported verifier's README. Distinguish npm-version probes and `init` from failure checks.
7
+ - Document running the workflow in Docker with a read-only source mount and separate writable output, including the remaining read, network and output risks.
8
+ - Add execution-boundary regression coverage for temporary command working directories and caller-owned paths outside them.
9
+
10
+ ## 0.2.0
11
+
12
+ - Run the bundled rounding demonstration directly from the installed package with `repro-surgeon demo`. It reduces the source, exports a reproduction and verifies it independently.
13
+ - Explore a public walkthrough built from actual reduction evidence, with a downloadable reproduction, checksum and offline report.
14
+ - Compare the syntax pass with treereduce on one frozen, independently authored fixture. Both preserve the failure; the documented size and timing results are deliberately scoped to that case.
15
+ - Read the tool version from package metadata so checkpoint and report identities stay correct across releases.
16
+ - Test the installed demo, immutable bundled source, standalone verifier and public demo build in CI.
17
+
3
18
  ## 0.1.0
4
19
 
5
20
  Initial public release of the complete local application-reduction workflow.
package/README.md CHANGED
@@ -3,41 +3,39 @@
3
3
  **Shrink the project. Keep the failure. Hand over something runnable.**
4
4
 
5
5
  [![CI](https://github.com/pavangupta352/repro-surgeon/actions/workflows/ci.yml/badge.svg)](https://github.com/pavangupta352/repro-surgeon/actions/workflows/ci.yml)
6
+ [![npm version](https://img.shields.io/npm/v/repro-surgeon?color=006a62)](https://www.npmjs.com/package/repro-surgeon)
6
7
  [![License: MIT](https://img.shields.io/badge/license-MIT-006a62)](LICENSE)
7
8
 
8
9
  “Can you provide a minimal reproduction?” is often the hardest part of a bug report.
9
10
 
10
- Repro Surgeon takes a failing npm application, removes source that isn't needed for your failure check, and exports a smaller project with its own verifier. It tests every accepted change and checks the export again with a fresh dependency installation. Your original project stays in place.
11
+ Repro Surgeon takes a failing npm application, removes source that isn't needed for your failure check, and exports a smaller project with its own verifier. It tests every accepted change and checks the export again with a fresh dependency installation. The reducer applies its edits to temporary copies, not your source checkout. Supplied commands retain your filesystem permissions; see [the execution boundary](#local-execution-plainly).
11
12
 
12
- No account. No telemetry. Source and reports stay local.
13
+ No account. Repro Surgeon has no telemetry or source-upload service.
13
14
 
14
- ![An actual rounding example reduced from 10 files to 5, with three independent verification runs](docs/assets/report.png)
15
+ [![An actual rounding example reduced from 10 files to 5, with three independent verification runs](https://raw.githubusercontent.com/pavangupta352/repro-surgeon/main/docs/assets/report.png)](https://pavangupta352.github.io/repro-surgeon/)
15
16
 
16
- *Actual bundled demonstration: 3,173 → 520 source bytes, 10 → 5 files, 115 evaluations. The assertion remains pinned. This is a small seeded example, not a framework benchmark. [Method and evidence](docs/validation.md).*
17
+ *Actual bundled demonstration: 3,173 → 520 source bytes, 10 → 5 files, 115 evaluations. The assertion remains pinned. This is a small seeded example, not a framework benchmark. [Replay the run and download its verified result](https://pavangupta352.github.io/repro-surgeon/) · [Method and evidence](docs/validation.md).*
17
18
 
18
19
  ## Try it
19
20
 
20
21
  Requires **Node.js 22.18+ and npm 10+**, on Linux or macOS.
21
22
 
22
23
  ```sh
23
- git clone https://github.com/pavangupta352/repro-surgeon.git
24
- cd repro-surgeon
25
- npm ci
26
- npm run build
27
-
28
- node dist/cli.js reduce examples/rounding --out /tmp/rounding-repro
29
- node /tmp/rounding-repro/repro/.repro/verify.mjs
24
+ npx repro-surgeon@0.2.1 demo --out ./rounding-repro
25
+ node ./rounding-repro/repro/.repro/verify.mjs
30
26
  ```
31
27
 
32
- Choose a new output directory for each run. Open `/tmp/rounding-repro/report.html` to inspect the result. The verifier exits successfully when the application's **expected failure** occurs; the original application command still exits with its configured failure code.
28
+ No clone or configuration needed. The first command reduces the bundled example, generates an offline report and verifies the export three times. The second runs the exported verifier independently.
29
+
30
+ Choose a new output directory for each run. Open `./rounding-repro/report.html` to inspect the result. The verifier exits successfully when the application's **expected failure** occurs; the original application command still exits with its configured failure code. You can also [explore the recorded walkthrough in your browser](https://pavangupta352.github.io/repro-surgeon/) before installing anything.
33
31
 
34
32
  Install the packaged release for your own projects:
35
33
 
36
34
  ```sh
37
- npm install --global repro-surgeon@0.1.0
35
+ npm install --global repro-surgeon@0.2.1
38
36
  ```
39
37
 
40
- The same package is available from the [versioned GitHub release](https://github.com/pavangupta352/repro-surgeon/releases/tag/v0.1.0), with a checksum. You can also run `npx repro-surgeon@0.1.0 --help`.
38
+ The same package is available from the [versioned GitHub release](https://github.com/pavangupta352/repro-surgeon/releases/tag/v0.2.1), with a checksum. You can also run `npx repro-surgeon@0.2.1 --help`.
41
39
 
42
40
  ## Reduce your application
43
41
 
@@ -82,8 +80,8 @@ my-app-repro/
82
80
  │ ├── README.md # Runtime, command and verification instructions
83
81
  │ ├── config.json
84
82
  │ ├── LICENSE # License for the generated verifier code
85
- │ ├── manifest.json # Source and metadata integrity records
86
- │ └── verify.mjs # Runs without Repro Surgeon installed
83
+ │ ├── manifest.json # Source and metadata integrity records
84
+ │ └── verify.mjs # Runs without Repro Surgeon installed
87
85
  ├── report.html # Offline, searchable evidence
88
86
  ├── report.json # Machine-readable report
89
87
  └── … private run state # Original snapshots and raw logs; keep private
@@ -128,16 +126,23 @@ npm workspaces, pnpm/Yarn lockfiles, shrinkwrap, local/Git/private dependencies,
128
126
 
129
127
  ## Local execution, plainly
130
128
 
131
- Commands execute with your host permissions. This is **not a security sandbox**. Run trusted source, or put the entire workflow inside your own isolated environment. Install scripts are disabled unless you enable them. Network access is required for uncached dependencies; your command may also use the network. Common credentials, environment files, generated output and symlinks are excluded. Only explicitly requested environment variables are inherited beyond operating-system essentials. [Security policy](SECURITY.md).
129
+ Every baseline, candidate and verification invocation of your configured command **starts with a temporary project copy as its working directory**. The reducer applies its source edits to those copies. That starting directory is **not a security sandbox**: a command can change directory, use `../` or absolute paths, and read or write any file its process permissions allow, including the original checkout. There is no automatic path rewriting or filesystem confinement. You control and must trust the command and its dependencies.
130
+
131
+ For an additional boundary, follow the [container recipe with source mounted read-only](docs/execution-container.md). It keeps the original mount unwritable through ordinary filesystem operations and gives the run a separate writable output directory. Read-only source is still readable; containers do not make arbitrary code harmless.
132
+
133
+ Install scripts are disabled unless you enable them. Network access is required for uncached dependencies; your command may also use the network. Common credentials, environment files, generated output and symlinks are excluded from source snapshots, not hidden from host processes. Configured checks and dependency installations inherit only operating-system essentials plus explicitly requested environment variables. `init` writes the requested configuration file; `doctor` inspects inputs and probes `npm --version` without running your configured command. [Security policy](SECURITY.md).
132
134
 
133
135
  ## Run the checks
134
136
 
135
- From the repository root:
137
+ To develop from source:
136
138
 
137
139
  ```sh
140
+ git clone https://github.com/pavangupta352/repro-surgeon.git
141
+ cd repro-surgeon
138
142
  npm ci
139
143
  npm run check
140
144
  npm run test:package
145
+ node dist/cli.js demo --out /tmp/rounding-repro
141
146
  ```
142
147
 
143
148
  The native suite does not fetch framework fixture dependencies. Run these optional integrations separately; they download public pinned packages and the Next.js checks take several minutes:
@@ -154,6 +159,8 @@ Choose new output directories. The scripts check fixed and different-error contr
154
159
 
155
160
  This builds on [delta debugging](https://www.st.cs.uni-saarland.de/papers/tse2002/) and shares the goal of property-preserving reduction with [treereduce](https://github.com/langston-barrett/treereduce). [Replay](https://www.replay.io/debugging) addresses recorded execution. Repro Surgeon focuses on the path from an application source tree to an independently installable, verified reproduction. No comparative superiority is claimed.
156
161
 
162
+ A frozen single-file comparison against treereduce is [published with inputs, controls and query counts](docs/comparison.md). From the same 938-byte authored example, treereduce produced 334 bytes in 2.956 seconds and Repro Surgeon produced 248 bytes in 4.080 seconds. Both passed three fresh checks. That mixed result describes this fixture only; it is not a full-application benchmark.
163
+
157
164
  Have a failure this cannot reduce reliably? A small licensed case with a precise failure check is especially useful. Read [CONTRIBUTING.md](CONTRIBUTING.md), open an [issue](https://github.com/pavangupta352/repro-surgeon/issues), or improve a reducer with a regression test.
158
165
 
159
166
  Maintained by [Pavan](https://github.com/pavangupta352). [MIT licensed](LICENSE).
package/SECURITY.md CHANGED
@@ -6,7 +6,13 @@ The latest published release receives security fixes. This is a small open-sourc
6
6
 
7
7
  ## Execution boundary
8
8
 
9
- Repro Surgeon runs the command you supply with your operating-system permissions. It is **not a security sandbox**. Use it only with projects and commands you trust, or run the whole workflow in your own appropriately isolated environment. A child process can access files and the network according to those host permissions even though the reducer itself never runs inside the original project.
9
+ Repro Surgeon runs the command you supply with your operating-system permissions. It is **not a security sandbox**. Each configured failure-check invocation starts in a temporary project copy, including baseline, candidate, export and standalone verification checks. The reducer applies its source edits to copies; this is a guarantee about the reducer's own file operations, not about arbitrary code it executes.
10
+
11
+ The command can change directory, follow paths it creates, use `../` or absolute paths, spawn children, and access files or the network according to its process permissions. It can therefore read or modify the original checkout or other host files. Paths are not rewritten or confined. Snapshot exclusions, a temporary home, disabled install scripts and process cleanup are not filesystem access controls. Trust the configured command and its dependencies, or provide a separate execution boundary.
12
+
13
+ The [container recipe](docs/execution-container.md) mounts source read-only and exposes a separate writable output directory. It documents mount and network limits. The mounted source remains readable, including files excluded from the reducer's snapshot. A successful check in a fresh directory on the same host does not prove that a command is independent of absolute host paths or external state.
14
+
15
+ `init` explicitly creates the requested configuration file, normally inside the project. `doctor` does not run the configured failure command; it inspects the project and probes the installed npm version. npm-version probes can run with the project as their working directory and inherit the caller's environment.
10
16
 
11
17
  Installation scripts are disabled by default. Enabling `execution.allowInstallScripts` permits package lifecycle code to run. Dependencies are fetched from the configured supported public registry locations. Repro Surgeon does not operate a source-upload service and includes no telemetry.
12
18
 
package/dist/cli.js CHANGED
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import { mkdir, readFile, writeFile } from 'node:fs/promises';
3
3
  import path from 'node:path';
4
+ import { fileURLToPath } from 'node:url';
4
5
  import { parseArgs, stripVTControlCharacters } from 'node:util';
5
6
  import { loadConfig, parseConfig } from "./config.js";
6
7
  import { runtimeInfo, validateNpmProject } from "./dependencies.js";
@@ -13,6 +14,7 @@ import { loadCheckpoint } from "./state.js";
13
14
  const help = `Repro Surgeon · smaller source, the failure intact
14
15
 
15
16
  Usage
17
+ repro-surgeon demo [--out <run-directory>] [--json]
16
18
  repro-surgeon init [project] --match "distinctive diagnostic" -- <command> [args]
17
19
  repro-surgeon doctor [project] [--json]
18
20
  repro-surgeon reduce [project] --out <run-directory> [--config <file>]
@@ -33,7 +35,9 @@ Options
33
35
  --version, -v Show the installed version
34
36
 
35
37
  Single-package npm projects · Node 22.18+ · Linux/macOS
36
- Commands execute locally with your permissions. Review remaining source before sharing.
38
+ Demo uses the bundled rounding example and saves a timestamped run in the current directory.
39
+ Failure checks start in temporary copies with your permissions, not a security sandbox.
40
+ Commands can still access host paths. Review source and commands before running or sharing.
37
41
  `;
38
42
  export function createRunReport(state, snapshot) {
39
43
  return sanitizeReport({
@@ -50,6 +54,26 @@ export function createRunReport(state, snapshot) {
50
54
  });
51
55
  }
52
56
  function terminal(message) { process.stderr.write(stripVTControlCharacters(message) + '\n'); }
57
+ async function installedVersion() {
58
+ try {
59
+ const metadata = JSON.parse(await readFile(new URL('../package.json', import.meta.url), 'utf8'));
60
+ if (metadata && typeof metadata === 'object' && 'version' in metadata && typeof metadata.version === 'string' && metadata.version.trim())
61
+ return metadata.version;
62
+ }
63
+ catch { /* Report the same actionable error for missing or invalid metadata. */ }
64
+ throw new Error('The installed package version could not be read. Reinstall repro-surgeon or restore its package.json.');
65
+ }
66
+ async function bundledDemo() {
67
+ const sourceRoot = fileURLToPath(new URL('../examples/rounding/', import.meta.url));
68
+ try {
69
+ const config = await loadConfig(path.join(sourceRoot, 'repro-surgeon.json'));
70
+ await Promise.all(['package.json', 'package-lock.json', 'check.mjs', 'src/totals.mjs', 'fixtures/invoice.json'].map(name => readFile(path.join(sourceRoot, name))));
71
+ return { sourceRoot, config };
72
+ }
73
+ catch {
74
+ throw new Error('The bundled rounding demo could not be loaded. Reinstall repro-surgeon or restore examples/rounding in a complete source checkout.');
75
+ }
76
+ }
53
77
  async function main(args) {
54
78
  const separator = args.indexOf('--');
55
79
  const invocation = separator < 0 ? [] : args.slice(separator + 1);
@@ -63,10 +87,13 @@ async function main(args) {
63
87
  return 0;
64
88
  }
65
89
  if (values.version) {
66
- process.stdout.write('0.1.0\n');
90
+ process.stdout.write(await installedVersion() + '\n');
67
91
  return 0;
68
92
  }
69
93
  const [command, target, ...extra] = positionals;
94
+ if (command === 'demo' && (target !== undefined || values.config !== undefined || values.match !== undefined || values.forbid !== undefined || values.exit !== undefined)) {
95
+ throw new Error('demo uses the bundled project and failure configuration. Use reduce for your own project or configuration; demo accepts --out, --json, --max-evaluations and --max-seconds.');
96
+ }
70
97
  if (extra.length)
71
98
  throw new Error('Too many positional arguments. See --help.');
72
99
  if (process.platform === 'win32')
@@ -121,21 +148,21 @@ async function main(args) {
121
148
  print(report, `Report: ${path.join(directory, 'report.html')}`);
122
149
  return 0;
123
150
  }
124
- if (command !== 'reduce' && command !== 'resume')
151
+ if (command !== 'reduce' && command !== 'resume' && command !== 'demo')
125
152
  throw new Error(`Unknown command: ${command ?? '(none)'}. See --help.`);
126
153
  if (command === 'resume' && !target)
127
154
  throw new Error('resume requires a run directory.');
128
155
  const onEvent = (event) => terminal(event.message);
129
156
  let result;
130
157
  let runRoot;
131
- if (command === 'reduce') {
132
- const config = await loadConfig(path.resolve(values.config ?? path.join(directory, 'repro-surgeon.json')));
158
+ if (command === 'reduce' || command === 'demo') {
159
+ const { sourceRoot, config } = command === 'demo' ? await bundledDemo() : { sourceRoot: directory, config: await loadConfig(path.resolve(values.config ?? path.join(directory, 'repro-surgeon.json'))) };
133
160
  if (values['max-evaluations'] !== undefined)
134
161
  config.budget.maxEvaluations = Number(values['max-evaluations']);
135
162
  if (values['max-seconds'] !== undefined)
136
163
  config.budget.maxSeconds = Number(values['max-seconds']);
137
- runRoot = path.resolve(values.out ?? path.join(path.dirname(directory), `${path.basename(directory)}-repro-${Date.now()}`));
138
- result = await reduceProject({ sourceRoot: directory, runRoot, config, signal: controller.signal, onEvent });
164
+ runRoot = path.resolve(values.out ?? (command === 'demo' ? path.join(process.cwd(), `repro-surgeon-demo-${Date.now()}`) : path.join(path.dirname(directory), `${path.basename(directory)}-repro-${Date.now()}`)));
165
+ result = await reduceProject({ sourceRoot, runRoot, config, signal: controller.signal, onEvent });
139
166
  }
140
167
  else {
141
168
  runRoot = directory;
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -232,6 +232,7 @@ export async function runtimeInfo(cwd, signal) {
232
232
  const npm = result.stdout.trim();
233
233
  if (Number(npm.split('.')[0]) < 10)
234
234
  throw new Error('npm 10 or newer is required.');
235
- return { node: process.version, npm, platform: process.platform, arch: process.arch, tool: '0.1.0' };
235
+ const { version } = JSON.parse(await readFile(new URL('../package.json', import.meta.url), 'utf8'));
236
+ return { node: process.version, npm, platform: process.platform, arch: process.arch, tool: version };
236
237
  }
237
238
  //# sourceMappingURL=dependencies.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../src/dependencies.ts"],"names":[],"mappings":"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"}
package/dist/export.js CHANGED
@@ -181,7 +181,7 @@ async function runtimeModule(name) {
181
181
  }).outputText;
182
182
  }
183
183
  function readme(config) {
184
- return `# ${config.name}\n\nThis directory is a reduced reproduction. Review its source before sharing it.\n\n## Verify\n\n1. Use Node.js 22.18 or newer and npm 10 or newer.\n2. Run \`node .repro/verify.mjs\`.\n\nThe verifier checks every exported source file, copies the export to an isolated temporary directory, installs its locked dependencies there, and runs this argv command without a shell:\n\n\`\`\`json\n${JSON.stringify(config.command, null, 2)}\n\`\`\`\n\nThe original command is expected to exit with code ${config.oracle.exitCode}. The verifier exits successfully only when that failure also contains every required fragment and no forbidden fragment. This establishes the configured observation, not semantic root-cause identity or global minimality.\n`;
184
+ return `# ${config.name}\n\nThis directory is a reduced reproduction. Review its source before sharing it.\n\n## Verify\n\n1. Use Node.js 22.18 or newer and npm 10 or newer.\n2. Run \`node .repro/verify.mjs\`.\n\nThe verifier checks every exported source file, copies the export to a separate temporary directory, installs its locked dependencies there, and starts this argv command there without a shell:\n\n\`\`\`json\n${JSON.stringify(config.command, null, 2)}\n\`\`\`\n\nThe original command is expected to exit with code ${config.oracle.exitCode}. The verifier exits successfully only when that failure also contains every required fragment and no forbidden fragment. This establishes the configured observation, not semantic root-cause identity or global minimality.\n\n## Execution boundary\n\nThe temporary working directory is not a security sandbox. The command can change directory and use ../ or absolute paths with your process permissions, including reads or writes to the original checkout or other host files. Paths are not rewritten or confined. Review and trust the source, command and dependencies, or run the entire verification inside your own container or virtual machine. A fresh directory on the same host does not prove independence from external files or network state.\n`;
185
185
  }
186
186
  const STANDALONE_VERIFIER = String.raw `#!/usr/bin/env node
187
187
  import { createHash } from 'node:crypto';
@@ -1 +1 @@
1
- {"version":3,"file":"export.js","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"export.js","sourceRoot":"","sources":["../src/export.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ The default release targets deterministic command and Next.js build failures on
11
11
  ## Lifecycle
12
12
 
13
13
  1. `init` writes a versioned JSON configuration from an explicit command and target text. It never guesses the user's failure silently.
14
- 2. `doctor` inventories a project, identifies its adapter, and reports unsupported dependencies or environmental requirements without executing project code.
14
+ 2. `doctor` inventories a project, identifies its adapter, and reports unsupported dependencies or environmental requirements without running the configured failure command.
15
15
  3. `reduce` snapshots the input into a new run directory, provisions dependencies, and calibrates three uncached baseline runs.
16
16
  4. Hierarchical file reductions and syntax/data transformations are evaluated in disposable working directories. Two uncached confirmations are required before a candidate becomes the accepted state.
17
17
  5. Each decision is checkpointed atomically. `resume` validates the saved state and runtime, recalibrates the accepted snapshot, and continues with the remaining or explicitly expanded budget.
@@ -46,17 +46,17 @@ Required positive fragments cannot be empty. Broad phrases such as “failed”
46
46
 
47
47
  Baseline and final checks require three runs; acceptance requires two. Repetition is not a statistical guarantee of determinism. A failed calibration stops the run. Candidate caches skip previously rejected snapshots; they never supply confirmation or final verification.
48
48
 
49
- Commands are argv arrays and use no implicit shell. The working directory, temporary home, installation configuration and build outputs are owned by the run. The environment inherits only operating-system essentials plus explicitly named variables. Logs are bounded and private to the run; report data contains summaries, not raw source/log dumps. Terminal control sequences are removed from displayed excerpts.
49
+ Configured commands are argv arrays and use no implicit shell. Each baseline, candidate and verification invocation starts in a temporary project copy. Dependency installations also use temporary workspaces. The tool provisions the initial working directory, temporary home and installation configuration; arbitrary commands can write outside them. For these checks and installations, the environment inherits only operating-system essentials plus explicitly named variables. Logs are bounded and private to the run; report data contains summaries, not raw source/log dumps. Terminal control sequences are removed from displayed excerpts.
50
50
 
51
- Local execution is not a security sandbox. Only run projects and commands you trust. npm installation scripts are disabled by default and can be enabled explicitly when required. Network access is needed for uncached packages and may also be used by the supplied command. Repro Surgeon has no telemetry or source-upload service.
51
+ Local execution is not a security sandbox. The command may change directory, use `../` or absolute paths and access the original checkout or other files with its process permissions. Paths are not rewritten or confined. Only run projects and commands you trust, or provide an external boundary such as the [documented container with read-only source](execution-container.md). npm installation scripts are disabled by default and can be enabled explicitly when required. Network access is needed for uncached packages and may also be used by the supplied command. Repro Surgeon has no telemetry or source-upload service.
52
52
 
53
53
  ## Source and dependency integrity
54
54
 
55
- The original project is read into an immutable snapshot. Git history, installed dependencies, generated output, environment files and known credential files are excluded. Ordinary untracked files are included; ignore rules and explicit overrides are visible in the inventory. Symlinks are rejected or excluded without following them. Export and state paths must not overlap the source. No command executes inside the original project.
55
+ The original project is read into an immutable snapshot. The reducer applies source transformations to copies, not the original checkout. Git history, installed dependencies, generated output, environment files and known credential files are excluded from snapshots; these exclusions do not restrict a running command's host access. Ordinary untracked files are included; ignore rules and explicit overrides are visible in the inventory. Symlinks are rejected or excluded without following them. Export and state paths must not overlap the source. `init` writes its requested configuration file. `doctor` does not run the configured failure command. npm-version probes may use the source directory and caller environment; this is separate from the temporary cwd and environment used for failure checks.
56
56
 
57
57
  Package manifests, lockfiles, licenses and notices are protected from generic file deletion. The package manager owns dependency reconciliation. Source candidates share only a tool-provisioned dependency installation for the same manifest/lock hash; they never link to the user's `node_modules`. Each candidate restores accepted source and clears build artifacts. Dependency changes use a new installation and cannot resolve removed dependencies from a stale tree. Retained package versions and integrity fields must not drift during lock reconciliation.
58
58
 
59
- Projects with workspace, local file/link dependencies or private registry requirements are diagnosed explicitly. A portable export cannot quietly depend on the original checkout or developer credentials. Required environment variable names are reported; values are not copied into exported configuration.
59
+ Projects with workspace, local file/link dependencies or private registry requirements are diagnosed explicitly. These checks reject unsupported dependency declarations; they cannot rule out reads from absolute host paths, credentials or other external state in arbitrary code. Review such dependencies and verify in another environment before claiming portability. Required environment variable names are reported; values are not copied into exported configuration.
60
60
 
61
61
  ## Search
62
62
 
@@ -78,7 +78,7 @@ Review findings include likely secrets, absolute local paths, private package re
78
78
 
79
79
  - Each CLI command has meaningful success and failure-path coverage.
80
80
  - Oracle controls reject a different error, timeout, signal and missing executable.
81
- - Source hashes remain unchanged after success, failure and cancellation.
81
+ - Trusted regression fixtures retain their source hashes after success, failure and cancellation. Separate execution-boundary tests show that caller-supplied code can access host paths outside its initial temporary working directory.
82
82
  - File grouping, JavaScript/TypeScript/JSX, JSON, dependency integrity, checkpoint corruption, resume and export have executed regression cases.
83
83
  - Packaged installation runs the complete example and independent exported verifier.
84
84
  - Pinned App Router and Pages Router examples run through the real Next.js build command.
@@ -0,0 +1,55 @@
1
+ # Single-file reducer comparison
2
+
3
+ On one independently authored JavaScript fixture, Repro Surgeon produced a smaller result and treereduce finished faster. Both outputs preserved the same precisely checked behavior in three fresh directories. This is a reproducible, narrow comparison, not evidence that either tool is generally better.
4
+
5
+ ## Observed result
6
+
7
+ Measured once per tool on September 6, 2026, with treereduce first. The original editable file was **938 bytes**. Both tools stopped without reaching the 120-second ceiling.
8
+
9
+ | Tool | Result bytes | Bytes removed | Oracle calls during search | Distinct source hashes checked | Observed search time | Fresh checks |
10
+ | --- | ---: | ---: | ---: | ---: | ---: | --- |
11
+ | treereduce-javascript 0.4.1 | 334 | 64.39% | 120 | 82 | 2.956 s | 3/3 |
12
+ | Repro Surgeon 0.2.0, syntax only | 248 | 73.56% | 95 | 78 | 4.080 s | 3/3 |
13
+
14
+ The common fresh checks took a further 0.701 seconds for treereduce's output and 0.530 seconds for Repro Surgeon's output. Search times exclude those checks and tool installation. They include each tool's native setup and checking overhead; they are single observations, not timing averages. The machine was an Apple M4 with 10 logical CPUs, macOS Darwin 25.5.0, Node 24.7.0, and npm 11.5.1. Other development work was not isolated from this machine, so small timing differences should not be treated as stable performance rankings.
15
+
16
+ [Machine-readable evidence](evidence/comparison.json) contains exact elapsed times, output text and SHA-256 hashes, tool/runtime versions, controls, and fresh-check observations. The [frozen protocol](../examples/comparison/freeze.json) records the fixture, driver, and built reducer module hashes before either search began. The measured Repro Surgeon build was the 0.2.0 workspace build identified by those hashes.
17
+
18
+ ## Fixture and oracle
19
+
20
+ The [owned fixture](../examples/comparison/subject.cjs) contains score-reporting helpers and a sorting mistake: `Array.sort()` without a numeric comparator. It was authored for this experiment; it is not a reconstructed public bug or an independently submitted maintainer case. No third-party fixture source was copied.
21
+
22
+ The immutable [checker](../examples/comparison/check.cjs) invokes the exported sorting function on `[2, 10, 3]`, `[4, 12, 11]`, and `[]`. It emits exit code 1 and a distinctive diagnostic only when the serialized results are exactly `[[10,2,3],[11,12,4],[]]`. Other outputs exit 0; parse errors, timeouts inside the VM, and other exceptions exit 2. Candidate execution in the checker has a 500-millisecond VM limit, and each external check has a two-second process limit. This VM is a convenience for the authored fixture, not a security sandbox.
23
+
24
+ Before search, the driver checked four controls. The original reproduced the target. Adding the numeric comparator, throwing a different error, and introducing a syntax error all failed to reproduce it. Thus an arbitrary crash is not a successful reduction.
25
+
26
+ Repro Surgeon requires exit 1 plus the full distinctive diagnostic and rejects the two other checker diagnostics. treereduce is configured with `--interesting-exit-code 1`. These predicates are equivalent for this fixed checker: only the exact target branch emits exit 1. The checker is outside treereduce's editable file and explicitly preserved in Repro Surgeon's snapshot.
27
+
28
+ ## Comparable scope and remaining differences
29
+
30
+ Both tools may change **only `subject.cjs`**. The checker, package metadata, lockfile, and configuration are fixed. Repro Surgeon's file, JSON, and dependency passes are disabled; only its syntax pass is enabled. treereduce uses its native JavaScript syntax-tree reductions. Both tools run serially with a 120-second outer ceiling, and both are allowed to continue until their enabled search finds no further reduction. treereduce uses `--stable --min-reduction 1`; Repro Surgeon's evaluation ceiling is 1,000,000, high enough that time is the effective budget. Neither ceiling was reached here.
31
+
32
+ The transformation sets and native repetition policies differ. Repro Surgeon made three baseline checks and requires two checks for each accepted candidate. Its 95 checker calls comprise three baseline calls and 92 candidate evaluations, with 15 accepted transformations. treereduce made 120 checker calls across its native search. These counts include repeated checks; the separate distinct-hash column exposes that difference. They exclude the shared preliminary controls and the three final checks per tool.
33
+
34
+ After search, the driver copied each result, unchanged checker, and zero-dependency npm metadata into three new OS-temporary directories. Every directory received its own `npm ci --ignore-scripts --no-audit --no-fund`, followed by the exact same checker and Repro Surgeon oracle evaluation. All six final checks reproduced the target. There were no dependency downloads for this fixture. The usual Repro Surgeon export/report stage is outside this comparison; this measures the syntax reducer under a fixed single-file task.
35
+
36
+ Repro Surgeon's result retains the normalizing and sorting functions and exports only `sortScores`. treereduce's result additionally retains empty reporting functions and their exports. Both results contain removable whitespace. Neither result is claimed to be globally minimal.
37
+
38
+ ## Reproduce
39
+
40
+ Use a repository checkout containing this protocol, with supported Node/npm and Rust/Cargo installed. The [official treereduce installation documentation](https://langston-barrett.github.io/treereduce/install.html) supports installing its language-specific crate. This experiment pinned the released [treereduce-javascript 0.4.1 crate](https://crates.io/crates/treereduce-javascript/0.4.1) with locked dependencies; its origin is the [treereduce repository](https://github.com/langston-barrett/treereduce). The crate SHA-256 is recorded in the protocol. Consult the [official usage documentation](https://langston-barrett.github.io/treereduce/usage.html) for its command-line options.
41
+
42
+ ```sh
43
+ npm ci
44
+ npm run build
45
+ cargo install treereduce-javascript --version 0.4.1 --locked
46
+ node scripts/compare-reducers.mjs --out /tmp/repro-comparison-new
47
+ ```
48
+
49
+ The output directory must not already exist. If the binary is not on `PATH`, add `--treereduce /absolute/path/to/treereduce-javascript`. The driver verifies the frozen hashes before and after measurement; a different implementation requires a separately identified experiment rather than overwriting this evidence. Generated logs and candidate state remain in the requested output directory. Tool installation and build time are not part of the search measurement.
50
+
51
+ The fixture, oracle, order, parameters, and implementation hashes were frozen at 13:03:01.862 UTC; both searches and verification finished at 13:03:10.626 UTC. There was one measured run per tool, no fixture or parameter tuning after seeing the results, and no selected best-of-many timing.
52
+
53
+ ## What this does not establish
54
+
55
+ One seeded file cannot establish typical reduction quality, performance across machines, handling of real application dependencies, success on Next.js failures, maintainer adoption, or superiority over reducers generally. This comparison does not evaluate another tool's whole-application capabilities. A broader claim needs a preregistered corpus of independent failures, repeated measurements, and the appropriate task-specific configuration for each tool.
@@ -31,7 +31,9 @@
31
31
 
32
32
  ## Command and oracle
33
33
 
34
- `command` is an argv array, run from a disposable copy of the project. There is no implicit shell, so redirection, pipes, globs and shell substitutions are literal arguments. Put a multi-step check in a script and name that script explicitly. Prefer portable executable names such as `node` and `npm`; absolute paths may not work for a recipient.
34
+ `command` is an argv array. Each baseline, candidate and verification invocation starts with a disposable project copy as its working directory. There is no implicit shell, so redirection, pipes, globs and shell substitutions are literal arguments. Put a multi-step check in a script and name that script explicitly. Prefer portable executable names such as `node` and `npm`; absolute paths may not work for a recipient.
35
+
36
+ The working directory is a starting location, not an access boundary. The command can change it and use `../` or absolute paths with normal process permissions, including writes to the original checkout. Those paths are not automatically rewritten or blocked. The reducer edits its copies; it cannot promise that caller-supplied code leaves host files unchanged. Use trusted commands or the [read-only-source container recipe](execution-container.md). Review external paths and state even when same-host verification passes.
35
37
 
36
38
  The oracle matches combined stdout/stderr after terminal-control normalization. `exitCode` is an integer from 0 through 255. `allOf` must contain at least one non-empty, case-sensitive literal fragment. Every required fragment must occur, and no `noneOf` fragment may occur. These are literals, not regular expressions. A normal nonmatching exit is `absent`; execution/setup failures are `invalid`.
37
39
 
@@ -53,7 +55,7 @@ All limits must be positive safe integers. Baseline and final repetition counts
53
55
 
54
56
  `include`, `exclude`, and `preserve` accept project-relative paths, directory prefixes and glob patterns using `/` separators. Ordinary `.gitignore` rules, including nested rules, apply. `include` can override an ignore rule; explicit `exclude` wins. Neither can reintroduce hard-excluded material such as `.env` (including `.env.example`), `.npmrc`, credential keys, `node_modules`, `.git`, `.next`, `dist`, `build`, `.repro` or symbolic links.
55
57
 
56
- `preserve` prevents eligible source from being deleted or rewritten; it does not include a file excluded from the initial inventory. Pinning either `package.json` or `package-lock.json` disables dependency reduction. Package metadata and license/notice files receive default protection from generic reductions.
58
+ `preserve` prevents the reducer from deleting or rewriting eligible source; it does not restrict writes performed by your command or include a file excluded from the initial inventory. Pinning either `package.json` or `package-lock.json` disables dependency reduction. Package metadata and license/notice files receive default protection from generic reductions.
57
59
 
58
60
  `adapter` is `auto`, `next` or `generic`. Next.js detection records router and entrypoints, protects framework paths conservatively and guides file proposals. Protection of an entrypoint's path does not pin its contents; use `preserve` if its contents must remain unchanged. Heuristics never replace execution checks.
59
61
 
@@ -64,7 +66,7 @@ The snapshot limit is 128 MiB of included source. Installed dependencies are exc
64
66
  | Command | Purpose |
65
67
  |---|---|
66
68
  | `init [project] --match TEXT -- COMMAND ARGS` | Write configuration without overwriting an existing file |
67
- | `doctor [project] [--config FILE] [--json]` | Inventory and runtime/dependency diagnosis; no project code execution |
69
+ | `doctor [project] [--config FILE] [--json]` | Inventory and runtime/dependency diagnosis; does not run the configured failure command |
68
70
  | `reduce [project] --out DIRECTORY [--config FILE]` | Start a new run outside the source tree |
69
71
  | `resume DIRECTORY [--max-evaluations N] [--max-seconds N]` | Continue an accepted checkpoint with total-budget overrides |
70
72
  | `verify EXPORTED_DIRECTORY [--json]` | Independently check the exported source |
@@ -0,0 +1,208 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "measuredAt": "2026-09-06T13:03:10.626Z",
4
+ "protocol": {
5
+ "schemaVersion": 1,
6
+ "frozenAt": "2026-09-06T13:03:01.862Z",
7
+ "fixture": "Independently authored seeded CommonJS numeric-sort example; not a third-party bug",
8
+ "editableFiles": [
9
+ "subject.cjs"
10
+ ],
11
+ "oracle": "Immutable checker exits 1 only when the three observed results exactly equal [[10,2,3],[11,12,4],[]]; other results exit 0, invalid programs and other failures exit 2",
12
+ "searchSeconds": 120,
13
+ "perOracleTimeoutSeconds": 2,
14
+ "finalRuns": 3,
15
+ "jobs": 1,
16
+ "order": [
17
+ "treereduce-javascript",
18
+ "Repro Surgeon"
19
+ ],
20
+ "reproSurgeonVersion": "0.2.0",
21
+ "treereduceVersion": "0.4.1",
22
+ "treereduceOrigin": "https://github.com/langston-barrett/treereduce",
23
+ "treereduceRegistry": "https://crates.io/crates/treereduce-javascript/0.4.1",
24
+ "treereduceCrateSha256": "6b0dadb6a9467ee639d1b5109e4a175e885180f89977487fe199b8d7171a330d",
25
+ "treereduceInstall": "cargo install treereduce-javascript --version 0.4.1 --locked",
26
+ "treereduceSettings": {
27
+ "stable": true,
28
+ "minReduction": 1,
29
+ "onParseError": "error",
30
+ "interestingExitCode": 1
31
+ },
32
+ "reproSurgeonSettings": {
33
+ "files": false,
34
+ "syntax": true,
35
+ "json": false,
36
+ "dependencies": false,
37
+ "maxEvaluations": 1000000,
38
+ "baselineRuns": 3,
39
+ "candidateRuns": 2
40
+ },
41
+ "measurement": "One measured run per tool; native oracle calls including repeated checks; fresh terminal checks timed separately. No normal export stage. Only editable source bytes count toward size.",
42
+ "sha256": {
43
+ "scripts/compare-reducers.mjs": "3df37ff7c5ec17c080d2d30bd30b96b5a0c0f006ec1a51832cc9db188edef861",
44
+ "examples/comparison/subject.cjs": "dc27a2d5a19b5587ec506afebff965e7d430e49198e3d239c2b626a381d23c97",
45
+ "examples/comparison/check.cjs": "41f8e145568095753bdc9674f827dfaa82eeedf8c41731fb81a07c89c0bdc86e",
46
+ "examples/comparison/package.json": "7d10cf0b8bce7e51c3c75b348a825d41d93d22173b3219511da6ee58dd365780",
47
+ "examples/comparison/package-lock.json": "c643d3e47ed45ed3624eb37e1d32050eb0cbab3959c5f79a9dded25f74ffd318",
48
+ "examples/comparison/repro-surgeon.json": "51de08aed02bccf72acd31e2ec43df0c9d1452cbcdf84d1315a21781ddf2a5de",
49
+ "examples/comparison/README.md": "491b597b69e41baa2997efab34f7aa08359f9ed0310e0a2719e0833fb3dfa576",
50
+ "dist/config.js": "d3ac57c01e2846460d8414fa2ccf1f61484a94c810560380ce7ca5b95ee27058",
51
+ "dist/dependencies.js": "be5fd585720fe44ae7a3ddd20ff7254467e6123eafe80d46191a62b7a6a32147",
52
+ "dist/engine.js": "fc7f18c51446bb41ac87856f26bae7033e370d9f822fb8f4676d0a153a110c4e",
53
+ "dist/graph.js": "2dc1f20950c30a7f52eb52e0e18f2ceaf34e416d943411c4762cd8c3051cad3d",
54
+ "dist/oracle.js": "a6cd95ce095e9eac6a181fed0143843399ad5bbaf1db188b43c7506bfd5636d8",
55
+ "dist/protection.js": "6b1ab323f0416761f52857a4ac4f0b08b53510d5cc2dc97784aaf80cd5447113",
56
+ "dist/runner.js": "d4ad42e31ce0d3ff77ae6afeeb9841b3e629fa10ed305875af752d26e72343f3",
57
+ "dist/snapshot.js": "9194a5b9e627b0c615b1e7193b085970e81e90dc034527dd1d937cb6f5c1400d",
58
+ "dist/state.js": "e41f07fb3915cb80580728ef613580b1ddf8a1db93163fc606d51408baa89964",
59
+ "dist/transforms.js": "db1e44e20399b1d709601eac0bf7036dfbc916dc8c7442c01a5d5ed6e8a423b2",
60
+ "dist/types.js": "01ae2a5b120382f9a648ced7ee8507493a134f216d100fc61600c6c9738235d2"
61
+ }
62
+ },
63
+ "runtime": {
64
+ "node": "v24.7.0",
65
+ "npm": "11.5.1",
66
+ "platform": "darwin",
67
+ "arch": "arm64",
68
+ "osRelease": "25.5.0",
69
+ "cpuModel": "Apple M4",
70
+ "logicalCpus": 10
71
+ },
72
+ "implementationHashes": {
73
+ "engine": "fc7f18c51446bb41ac87856f26bae7033e370d9f822fb8f4676d0a153a110c4e",
74
+ "transforms": "db1e44e20399b1d709601eac0bf7036dfbc916dc8c7442c01a5d5ed6e8a423b2",
75
+ "runner": "d4ad42e31ce0d3ff77ae6afeeb9841b3e629fa10ed305875af752d26e72343f3",
76
+ "oracle": "a6cd95ce095e9eac6a181fed0143843399ad5bbaf1db188b43c7506bfd5636d8",
77
+ "dependencies": "be5fd585720fe44ae7a3ddd20ff7254467e6123eafe80d46191a62b7a6a32147",
78
+ "snapshot": "9194a5b9e627b0c615b1e7193b085970e81e90dc034527dd1d937cb6f5c1400d"
79
+ },
80
+ "originalBytes": 938,
81
+ "controls": [
82
+ {
83
+ "label": "original",
84
+ "exitCode": 1,
85
+ "oracle": "reproduced",
86
+ "timedOut": false,
87
+ "aborted": false,
88
+ "diagnostics": [
89
+ "COMPARISON_NUMERIC_SORT: observed [[10,2,3],[11,12,4],[]]"
90
+ ]
91
+ },
92
+ {
93
+ "label": "fixed-numeric-comparator",
94
+ "exitCode": 0,
95
+ "oracle": "absent",
96
+ "timedOut": false,
97
+ "aborted": false,
98
+ "diagnostics": [
99
+ "COMPARISON_TARGET_ABSENT"
100
+ ]
101
+ },
102
+ {
103
+ "label": "different-failure",
104
+ "exitCode": 2,
105
+ "oracle": "absent",
106
+ "timedOut": false,
107
+ "aborted": false,
108
+ "diagnostics": [
109
+ "COMPARISON_OTHER_FAILURE"
110
+ ]
111
+ },
112
+ {
113
+ "label": "syntax-error",
114
+ "exitCode": 2,
115
+ "oracle": "absent",
116
+ "timedOut": false,
117
+ "aborted": false,
118
+ "diagnostics": [
119
+ "COMPARISON_OTHER_FAILURE"
120
+ ]
121
+ }
122
+ ],
123
+ "results": [
124
+ {
125
+ "tool": "treereduce-javascript",
126
+ "version": "0.4.1",
127
+ "searchMs": 2955.568625,
128
+ "processExitCode": 0,
129
+ "budgetExpired": false,
130
+ "usedOriginalAfterDeadline": false,
131
+ "stop": "stable search completed",
132
+ "queries": {
133
+ "calls": 120,
134
+ "uniqueSubjectHashes": 82,
135
+ "target": 10,
136
+ "absent": 12,
137
+ "other": 98
138
+ },
139
+ "reducedBytes": 334,
140
+ "sha256": "3707b7f25cd1e2029561baccfe8bfabfd543b48390227e76da71df3ecc290326",
141
+ "reducedSource": "\n\n\n\n\n\nfunction normalizeScores(scores) {\n return scores.map(Number).filter(Number.isFinite);\n}\n\nfunction sortScores(scores) {\n const numeric = normalizeScores(scores);\n return numeric.sort();\n}\n\nfunction scoreSummary() {\n \n \n \n}\n\nfunction formatReport() {\n \n \n}\n\nmodule.exports = { sortScores, scoreSummary, formatReport, };\n",
142
+ "finalVerification": {
143
+ "runs": [
144
+ {
145
+ "exitCode": 1,
146
+ "oracle": "reproduced"
147
+ },
148
+ {
149
+ "exitCode": 1,
150
+ "oracle": "reproduced"
151
+ },
152
+ {
153
+ "exitCode": 1,
154
+ "oracle": "reproduced"
155
+ }
156
+ ],
157
+ "elapsedMs": 700.5920830000005,
158
+ "freshInstallationPerRun": true
159
+ }
160
+ },
161
+ {
162
+ "tool": "Repro Surgeon",
163
+ "version": "0.2.0",
164
+ "searchMs": 4079.862,
165
+ "engineRecordedMs": 3966.120166999999,
166
+ "budgetExpired": false,
167
+ "stop": "No further reduction found by the enabled passes",
168
+ "candidateEvaluations": 92,
169
+ "baselineCalls": 3,
170
+ "acceptedTrials": 15,
171
+ "queries": {
172
+ "calls": 95,
173
+ "uniqueSubjectHashes": 78,
174
+ "target": 33,
175
+ "absent": 11,
176
+ "other": 51
177
+ },
178
+ "reducedBytes": 248,
179
+ "sha256": "972dae1de94c1da33be0dbc8657926556c2d649df6cc4af673afacc0379275cc",
180
+ "reducedSource": "'use strict';\n\n\n\n\n\nfunction normalizeScores(scores) {\n return scores.map(Number).filter(Number.isFinite);\n}\n\nfunction sortScores(scores) {\n const numeric = normalizeScores(scores);\n return numeric.sort();\n}\n\n\n\n\n\nmodule.exports = { sortScores };\n",
181
+ "finalVerification": {
182
+ "runs": [
183
+ {
184
+ "exitCode": 1,
185
+ "oracle": "reproduced"
186
+ },
187
+ {
188
+ "exitCode": 1,
189
+ "oracle": "reproduced"
190
+ },
191
+ {
192
+ "exitCode": 1,
193
+ "oracle": "reproduced"
194
+ }
195
+ ],
196
+ "elapsedMs": 529.5023339999989,
197
+ "freshInstallationPerRun": true
198
+ }
199
+ }
200
+ ],
201
+ "limitations": [
202
+ "One seeded, independently authored single-file fixture; one measured run per tool, treereduce first.",
203
+ "Same editable subject and precise property, different native transformation sets and repeated-check policies.",
204
+ "Repro Surgeon includes three baseline runs and two confirmations per accepted candidate; treereduce uses its native checks. Query counts include all native checks during search.",
205
+ "Search times are end-to-end observed tool calls under equal 120-second ceilings. Separate common fresh checks are reported separately; normal Repro Surgeon export generation is not timed.",
206
+ "No whole-application, typical-case, independent-maintainer, or general superiority claim."
207
+ ]
208
+ }
@@ -0,0 +1,105 @@
1
+ # Run a reduction in a Docker containment boundary
2
+
3
+ Repro Surgeon runs the configured command. A container can reduce which host files that command can reach or change. This recipe mounts the original project read-only and exposes one separate output directory as the only writable host path.
4
+
5
+ This is an extra operating boundary, not a built-in Repro Surgeon sandbox. Review the limitations below before using it with unfamiliar code.
6
+
7
+ ## Prepare the paths and configuration
8
+
9
+ Install Docker with Linux-container support. The commands use the official `node:22.18.0-bookworm-slim` image and `repro-surgeon@0.2.1`.
10
+
11
+ Create `repro-surgeon.json` before starting the container. `repro-surgeon init` writes that file, so it cannot create it after the project is mounted read-only. Review the command and oracle in the configuration.
12
+
13
+ Set canonical source and output paths. The output must be a new directory that neither contains the source nor sits inside it. Use paths without commas because Docker's `--mount` syntax uses commas as separators.
14
+
15
+ ```sh
16
+ export REPRO_SOURCE="$(cd /absolute/path/to/project && pwd -P)"
17
+ mkdir /absolute/path/to/repro-output || exit 1
18
+ export REPRO_OUTPUT="$(cd /absolute/path/to/repro-output && pwd -P)"
19
+
20
+ case "$REPRO_OUTPUT/" in
21
+ "$REPRO_SOURCE/"*) echo "Output must be outside the source" >&2; exit 1 ;;
22
+ esac
23
+ case "$REPRO_SOURCE/" in
24
+ "$REPRO_OUTPUT/"*) echo "Output must not contain the source" >&2; exit 1 ;;
25
+ esac
26
+ test ! -e "$REPRO_OUTPUT/run" || {
27
+ echo "Choose an output directory without a run entry" >&2
28
+ exit 1
29
+ }
30
+ ```
31
+
32
+ If the configuration must remain outside the project, set an absolute `REPRO_CONFIG` path, add this mount to the reduction command:
33
+
34
+ ```sh
35
+ --mount "type=bind,source=$REPRO_CONFIG,target=/config/repro-surgeon.json,readonly"
36
+ ```
37
+
38
+ and add `--config /config/repro-surgeon.json` after `reduce /input`.
39
+
40
+ ## Install and run inside the container
41
+
42
+ ```sh
43
+ docker run --rm --init \
44
+ --read-only \
45
+ --cap-drop=ALL \
46
+ --security-opt=no-new-privileges \
47
+ --user "$(id -u):$(id -g)" \
48
+ --network=bridge \
49
+ --tmpfs /tmp:rw,exec,nosuid,nodev,mode=1777,size=2g \
50
+ --env HOME=/tmp/home \
51
+ --env TMPDIR=/tmp \
52
+ --env npm_config_cache=/tmp/npm-cache \
53
+ --env npm_config_update_notifier=false \
54
+ --mount "type=bind,source=$REPRO_SOURCE,target=/input,readonly,bind-recursive=disabled" \
55
+ --mount "type=bind,source=$REPRO_OUTPUT,target=/output" \
56
+ --workdir /input \
57
+ node:22.18.0-bookworm-slim \
58
+ sh -eu -c '
59
+ mkdir -p "$HOME"
60
+ npm install --prefix /tmp/tool --ignore-scripts --no-audit --no-fund repro-surgeon@0.2.1
61
+ exec /tmp/tool/node_modules/.bin/repro-surgeon \
62
+ reduce /input --out /output/run
63
+ '
64
+ ```
65
+
66
+ The container root is read-only. `/tmp` is a disposable in-memory filesystem used for the installed CLI, dependency binaries, and execution workspaces. The explicit `exec` option is necessary because npm scripts and application builds commonly invoke executables from `node_modules/.bin`. On the host, only `REPRO_OUTPUT` is writable by the container.
67
+
68
+ The source bind uses `bind-recursive=disabled`. Nested mounts inside the source are not exposed to the container, avoiding a writable nested mount beneath an otherwise read-only bind. A project that relies on nested mounts needs a reviewed plain-directory copy instead. Docker documents the behavior of [read-only bind mounts and recursive bind options](https://docs.docker.com/engine/storage/bind-mounts/).
69
+
70
+ The normal Docker bridge network is intentional. Installing Repro Surgeon and uncached project dependencies requires registry access, and the configured command may also use the network. This recipe does not claim network isolation.
71
+
72
+ ## Verify the exported reproduction
73
+
74
+ Run the standalone verifier in a fresh second container. The exported source is read-only and no writable host directory is mounted for this step.
75
+
76
+ ```sh
77
+ export REPRO_EXPORT="$(cd "$REPRO_OUTPUT/run/repro" && pwd -P)"
78
+
79
+ docker run --rm --init \
80
+ --read-only \
81
+ --cap-drop=ALL \
82
+ --security-opt=no-new-privileges \
83
+ --user "$(id -u):$(id -g)" \
84
+ --network=bridge \
85
+ --tmpfs /tmp:rw,exec,nosuid,nodev,mode=1777,size=2g \
86
+ --env HOME=/tmp/home \
87
+ --env TMPDIR=/tmp \
88
+ --env npm_config_cache=/tmp/npm-cache \
89
+ --env npm_config_update_notifier=false \
90
+ --mount "type=bind,source=$REPRO_EXPORT,target=/repro,readonly,bind-recursive=disabled" \
91
+ --workdir /repro \
92
+ node:22.18.0-bookworm-slim \
93
+ node .repro/verify.mjs
94
+ ```
95
+
96
+ The verifier exits successfully when the configured failure is reproduced. Its fresh `npm ci` may need the same registry network access.
97
+
98
+ ## Boundary and limitations
99
+
100
+ - `/input` remains readable. The configured command can read every mounted file, including `.git`, environment files, credentials, and files Repro Surgeon excludes from its snapshot. With network access, it can transmit what it reads. For unknown code, make a minimal reviewed source copy with no secrets before mounting it, and use stronger network or virtual-machine controls where needed.
101
+ - `/output` is deliberately writable and must be treated as untrusted. The command can create, replace, or delete anything beneath that directory. Inspect the generated reproduction before running or sharing it.
102
+ - The recipe mounts neither the host home directory nor the Docker socket. Adding either mount materially expands host access; mounting the Docker socket effectively grants control of the Docker daemon.
103
+ - Dropping all Linux capabilities, setting `no-new-privileges`, using a read-only container root, and running as the invoking user reduce authority inside the container. They do not eliminate container-runtime or kernel risk. Docker describes these controls in the [`docker run` reference](https://docs.docker.com/reference/cli/docker/container/run/).
104
+ - Absolute paths and `../` traversal can still move around the container filesystem. They cannot make the read-only `/input` bind writable. They can reach `/output`, because that is the explicit handoff boundary.
105
+ - Do not use `--privileged`, host PID/network namespaces, host devices, the Docker socket, or broad host-directory mounts with this recipe.
@@ -0,0 +1,18 @@
1
+ # Public walkthrough
2
+
3
+ The [public walkthrough](https://pavangupta352.github.io/repro-surgeon/) is generated from the installed CLI's bundled rounding example. Its replay is a condensed sequence of recorded accepted changes, not a browser execution or a simulated reduction. The full report preserves rejected and invalid trials.
4
+
5
+ Build it from a repository checkout:
6
+
7
+ ```sh
8
+ npm ci
9
+ npm run build:site
10
+ ```
11
+
12
+ This runs `demo` in a temporary directory, requires three successful fresh export checks, and writes `site/dist/`. Serve that directory with any static HTTP server. No account, external fonts, analytics or browser source upload is involved.
13
+
14
+ The build copies an allowlisted evidence record, the sanitized HTML/JSON reports, and the verified reproduction. The downloadable archive excludes macOS metadata and includes its own verifier, license and integrity manifest. `SHA256SUMS` identifies the exact downloadable bytes. Private snapshots and raw logs are not published. Because recording timestamps vary, rebuilding produces a new archive and checksum.
15
+
16
+ GitHub Actions builds and deploys the site to GitHub Pages when a release is published, or when the Public demo workflow is run manually. The workflow uses Node 22.18 and pinned action revisions. The CI matrix also builds the site once on Linux before a release.
17
+
18
+ The page uses the same paper, ink and signal colors as the offline report. Stage controls, replay and copy actions support keyboard input; reduced-motion preferences disable smooth scrolling. Without a recording, the source download and report links remain available. With JavaScript disabled, the page explains that the walkthrough cannot play.
@@ -4,10 +4,12 @@ These are executed checks of a specific release and environment, not promises of
4
4
 
5
5
  ## Automated and packaged checks
6
6
 
7
- The native suite covers configuration, actual child processes, failure discrimination, bounded output, descendant cleanup, cancellation, source inventory, ignore precedence, dependency isolation, lock integrity, structural reductions, checkpoint corruption, resume, export ownership, standalone verification, and report escaping/privacy/evidence. The release candidate passed **107 tests**, type checking and the JavaScript build on macOS ARM64 with Node **24.7.0**, npm **11.5.1**.
7
+ The native suite covers configuration, actual child processes, failure discrimination, bounded output, descendant cleanup, cancellation, source inventory, ignore precedence, dependency isolation, lock integrity, structural reductions, checkpoint corruption, resume, export ownership, standalone verification, and report escaping/privacy/evidence. The **0.1.0** release candidate passed **107 tests**, type checking and the JavaScript build on macOS ARM64 with Node **24.7.0**, npm **11.5.1**.
8
8
 
9
9
  The same 107-test suite, build and packaged-install workflow passed in a Linux ARM64 container with Node **22.18.0**. The container used the official `node:22.18.0-bookworm-slim` image, digest `sha256:752ea8a2f758c34002a0461bd9f1cee4f9a3c36d48494586f60ffce1fc708e0e`, with an init process for child reaping. GitHub CI additionally checks Ubuntu/macOS on Node 22.18 and 24; use the linked [workflow history](https://github.com/pavangupta352/repro-surgeon/actions/workflows/ci.yml) for the exact commit's outcome.
10
10
 
11
+ The **0.2.0** update passed **112 tests**, type checking and the build on the same macOS runtime. Its installed-package smoke runs the new `demo` command, checks that bundled source remains byte-identical, removes the installed tool and verifies the exported reproduction. The [public walkthrough build](public-demo.md) also runs a real demo and requires three fresh export checks. Its downloadable archive was extracted outside the checkout and independently verified; macOS metadata is stripped for portable extraction. The earlier framework records below retain their original versions and timestamps. A separate [frozen comparison with treereduce](comparison.md) records the new version's single-file experiment.
12
+
11
13
  `npm run test:package` builds a tarball, installs it in a fresh prefix, invokes the installed executable, reduces the installed rounding example, checks that the original source is unchanged, and runs the generated verifier without installing Repro Surgeon in the exported project. It also checks that private build records are absent from the package.
12
14
 
13
15
  ## Seeded example and file-only comparison
@@ -0,0 +1,9 @@
1
+ # Owned single-file comparison fixture
2
+
3
+ This is an independently authored, seeded JavaScript example for a narrow reducer comparison. It is not a public bug report, a Next.js benchmark, or evidence of typical maintainer work.
4
+
5
+ The score-sorting function mistakenly uses JavaScript's default lexicographic sort. The fixed checker requires exact outputs on two numeric inputs and an empty input. It emits exit 1 and a distinctive diagnostic only for that configured behavior; different outputs exit 0 and invalid programs or other failures exit 2. The checker executes authored candidates in a bounded Node VM; this is a test convenience, not a security sandbox.
6
+
7
+ Only `subject.cjs` is editable. Package metadata, the checker, and the experiment protocol are held fixed for both tools. Repro Surgeon's file, JSON, and dependency passes are disabled. treereduce uses its JavaScript tree transformations. The transformation sets are not identical; they share the same editable input and observable property.
8
+
9
+ `freeze.json` records the input/checker/config hashes and parameters before measurement. See [the comparison method](../../docs/comparison.md) and run `node scripts/compare-reducers.mjs --help` from the repository root for the experiment entry point. Do not edit the frozen fixture to improve either tool's result.
@@ -0,0 +1,39 @@
1
+ 'use strict';
2
+
3
+ const { readFileSync, appendFileSync } = require('node:fs');
4
+ const { resolve } = require('node:path');
5
+ const { createHash } = require('node:crypto');
6
+ const vm = require('node:vm');
7
+
8
+ const target = 'COMPARISON_NUMERIC_SORT: observed [[10,2,3],[11,12,4],[]]';
9
+ let status = 'other';
10
+ let exitCode = 2;
11
+ let sourceHash = '';
12
+ try {
13
+ const source = readFileSync(resolve(process.argv[2] || 'subject.cjs'), 'utf8');
14
+ sourceHash = createHash('sha256').update(source).digest('hex');
15
+ const context = vm.createContext({ module: { exports: {} } });
16
+ const program = new vm.Script(source + `
17
+ ;globalThis.__comparisonResult = JSON.stringify([
18
+ module.exports.sortScores([2, 10, 3]),
19
+ module.exports.sortScores([4, 12, 11]),
20
+ module.exports.sortScores([]),
21
+ ]);`, { filename: 'subject.cjs' });
22
+ program.runInContext(context, { timeout: 500 });
23
+ if (context.__comparisonResult === '[[10,2,3],[11,12,4],[]]') {
24
+ status = 'target';
25
+ exitCode = 1;
26
+ process.stderr.write(target + '\n');
27
+ } else {
28
+ status = 'absent';
29
+ exitCode = 0;
30
+ process.stderr.write('COMPARISON_TARGET_ABSENT\n');
31
+ }
32
+ } catch {
33
+ process.stderr.write('COMPARISON_OTHER_FAILURE\n');
34
+ }
35
+
36
+ if (process.env.COMPARISON_LOG) {
37
+ appendFileSync(process.env.COMPARISON_LOG, JSON.stringify({ sourceHash, status, exitCode }) + '\n');
38
+ }
39
+ process.exitCode = exitCode;
@@ -0,0 +1,59 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "frozenAt": "2026-09-06T13:03:01.862Z",
4
+ "fixture": "Independently authored seeded CommonJS numeric-sort example; not a third-party bug",
5
+ "editableFiles": [
6
+ "subject.cjs"
7
+ ],
8
+ "oracle": "Immutable checker exits 1 only when the three observed results exactly equal [[10,2,3],[11,12,4],[]]; other results exit 0, invalid programs and other failures exit 2",
9
+ "searchSeconds": 120,
10
+ "perOracleTimeoutSeconds": 2,
11
+ "finalRuns": 3,
12
+ "jobs": 1,
13
+ "order": [
14
+ "treereduce-javascript",
15
+ "Repro Surgeon"
16
+ ],
17
+ "reproSurgeonVersion": "0.2.0",
18
+ "treereduceVersion": "0.4.1",
19
+ "treereduceOrigin": "https://github.com/langston-barrett/treereduce",
20
+ "treereduceRegistry": "https://crates.io/crates/treereduce-javascript/0.4.1",
21
+ "treereduceCrateSha256": "6b0dadb6a9467ee639d1b5109e4a175e885180f89977487fe199b8d7171a330d",
22
+ "treereduceInstall": "cargo install treereduce-javascript --version 0.4.1 --locked",
23
+ "treereduceSettings": {
24
+ "stable": true,
25
+ "minReduction": 1,
26
+ "onParseError": "error",
27
+ "interestingExitCode": 1
28
+ },
29
+ "reproSurgeonSettings": {
30
+ "files": false,
31
+ "syntax": true,
32
+ "json": false,
33
+ "dependencies": false,
34
+ "maxEvaluations": 1000000,
35
+ "baselineRuns": 3,
36
+ "candidateRuns": 2
37
+ },
38
+ "measurement": "One measured run per tool; native oracle calls including repeated checks; fresh terminal checks timed separately. No normal export stage. Only editable source bytes count toward size.",
39
+ "sha256": {
40
+ "scripts/compare-reducers.mjs": "3df37ff7c5ec17c080d2d30bd30b96b5a0c0f006ec1a51832cc9db188edef861",
41
+ "examples/comparison/subject.cjs": "dc27a2d5a19b5587ec506afebff965e7d430e49198e3d239c2b626a381d23c97",
42
+ "examples/comparison/check.cjs": "41f8e145568095753bdc9674f827dfaa82eeedf8c41731fb81a07c89c0bdc86e",
43
+ "examples/comparison/package.json": "7d10cf0b8bce7e51c3c75b348a825d41d93d22173b3219511da6ee58dd365780",
44
+ "examples/comparison/package-lock.json": "c643d3e47ed45ed3624eb37e1d32050eb0cbab3959c5f79a9dded25f74ffd318",
45
+ "examples/comparison/repro-surgeon.json": "51de08aed02bccf72acd31e2ec43df0c9d1452cbcdf84d1315a21781ddf2a5de",
46
+ "examples/comparison/README.md": "491b597b69e41baa2997efab34f7aa08359f9ed0310e0a2719e0833fb3dfa576",
47
+ "dist/config.js": "d3ac57c01e2846460d8414fa2ccf1f61484a94c810560380ce7ca5b95ee27058",
48
+ "dist/dependencies.js": "be5fd585720fe44ae7a3ddd20ff7254467e6123eafe80d46191a62b7a6a32147",
49
+ "dist/engine.js": "fc7f18c51446bb41ac87856f26bae7033e370d9f822fb8f4676d0a153a110c4e",
50
+ "dist/graph.js": "2dc1f20950c30a7f52eb52e0e18f2ceaf34e416d943411c4762cd8c3051cad3d",
51
+ "dist/oracle.js": "a6cd95ce095e9eac6a181fed0143843399ad5bbaf1db188b43c7506bfd5636d8",
52
+ "dist/protection.js": "6b1ab323f0416761f52857a4ac4f0b08b53510d5cc2dc97784aaf80cd5447113",
53
+ "dist/runner.js": "d4ad42e31ce0d3ff77ae6afeeb9841b3e629fa10ed305875af752d26e72343f3",
54
+ "dist/snapshot.js": "9194a5b9e627b0c615b1e7193b085970e81e90dc034527dd1d937cb6f5c1400d",
55
+ "dist/state.js": "e41f07fb3915cb80580728ef613580b1ddf8a1db93163fc606d51408baa89964",
56
+ "dist/transforms.js": "db1e44e20399b1d709601eac0bf7036dfbc916dc8c7442c01a5d5ed6e8a423b2",
57
+ "dist/types.js": "01ae2a5b120382f9a648ced7ee8507493a134f216d100fc61600c6c9738235d2"
58
+ }
59
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "repro-surgeon-owned-comparison",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "repro-surgeon-owned-comparison",
9
+ "version": "1.0.0",
10
+ "license": "MIT"
11
+ }
12
+ }
13
+ }
@@ -0,0 +1,6 @@
1
+ {
2
+ "name": "repro-surgeon-owned-comparison",
3
+ "version": "1.0.0",
4
+ "private": true,
5
+ "license": "MIT"
6
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "version": 1,
3
+ "name": "Single-file numeric-sort comparison",
4
+ "command": ["node", "check.cjs"],
5
+ "oracle": {
6
+ "exitCode": 1,
7
+ "allOf": ["COMPARISON_NUMERIC_SORT: observed [[10,2,3],[11,12,4],[]]"],
8
+ "noneOf": ["COMPARISON_OTHER_FAILURE", "COMPARISON_TARGET_ABSENT"]
9
+ },
10
+ "adapter": "generic",
11
+ "preserve": ["check.cjs", "package.json", "package-lock.json", "repro-surgeon.json", "README.md", "freeze.json"],
12
+ "reduce": { "files": false, "syntax": true, "json": false, "dependencies": false },
13
+ "budget": { "maxEvaluations": 1000000, "maxSeconds": 120 },
14
+ "execution": { "timeoutMs": 2000, "maxOutputBytes": 65536, "env": ["COMPARISON_LOG"] }
15
+ }
@@ -0,0 +1,39 @@
1
+ 'use strict';
2
+
3
+ const displayOptions = {
4
+ heading: 'Weekly score report',
5
+ separator: ' | ',
6
+ decimals: 2,
7
+ };
8
+
9
+ const limits = { minimum: 0, maximum: 1000, pageSize: 25 };
10
+
11
+ function normalizeScores(scores) {
12
+ return scores.map(Number).filter(Number.isFinite);
13
+ }
14
+
15
+ function sortScores(scores) {
16
+ const numeric = normalizeScores(scores);
17
+ return numeric.sort();
18
+ }
19
+
20
+ function scoreSummary(scores) {
21
+ const numeric = normalizeScores(scores);
22
+ const total = numeric.reduce((sum, score) => sum + score, 0);
23
+ return {
24
+ count: numeric.length,
25
+ total,
26
+ average: numeric.length ? total / numeric.length : 0,
27
+ };
28
+ }
29
+
30
+ function formatReport(scores) {
31
+ const summary = scoreSummary(scores);
32
+ return [
33
+ displayOptions.heading,
34
+ `Count: ${summary.count}`,
35
+ `Average: ${summary.average.toFixed(displayOptions.decimals)}`,
36
+ ].join(displayOptions.separator);
37
+ }
38
+
39
+ module.exports = { sortScores, scoreSummary, formatReport, limits };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "repro-surgeon",
3
- "version": "0.1.0",
3
+ "version": "0.2.1",
4
4
  "description": "Shrink a failing application into an independently verified reproduction.",
5
5
  "type": "module",
6
6
  "bin": { "repro-surgeon": "dist/cli.js" },
@@ -11,6 +11,7 @@
11
11
  "engines": { "node": ">=22.18.0", "npm": ">=10" },
12
12
  "scripts": {
13
13
  "build": "tsc -p tsconfig.json",
14
+ "build:site": "npm run build && node scripts/build-site.mjs",
14
15
  "typecheck": "tsc -p tsconfig.json --noEmit",
15
16
  "test": "node --test tests/*.test.ts",
16
17
  "check": "npm run typecheck && npm test && npm run build",
@@ -24,6 +25,6 @@
24
25
  "author": "Pavan <pavan.gupta.352@gmail.com>",
25
26
  "repository": { "type": "git", "url": "https://github.com/pavangupta352/repro-surgeon.git" },
26
27
  "bugs": { "url": "https://github.com/pavangupta352/repro-surgeon/issues" },
27
- "homepage": "https://github.com/pavangupta352/repro-surgeon#readme",
28
+ "homepage": "https://pavangupta352.github.io/repro-surgeon/",
28
29
  "keywords": ["reproduction", "delta-debugging", "nextjs", "debugging", "test-case-reduction", "typescript"]
29
30
  }