Release Minimize Tools 0.1.0
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
# Minimize Tools
|
||||
|
||||
Reduce a failing input while repeatedly proving that the selected failure still
|
||||
occurs. Minimize Tools is a local-first delta-debugging module in the add·ideas
|
||||
Toolbox.
|
||||
|
||||
## v0.1.0 capabilities
|
||||
|
||||
- Minimize plain text by lines, lexical tokens, and Unicode code points
|
||||
- Apply structure-aware reductions before textual delta debugging for bounded
|
||||
JSON and XML inputs
|
||||
- Preserve a literal marker, invalid JSON/XML state, an isolated regular
|
||||
expression match or time threshold, a focused JSON Schema failure, a local
|
||||
XSLT exception, or a marker in XSLT output
|
||||
- Preserve the first JSON Schema failing path and rule by default, preventing a
|
||||
reduction from silently changing to an easier unrelated violation
|
||||
- Run regular expressions in a disposable same-origin worker with a hard safety
|
||||
timeout; cancel any run and retain the last complete result
|
||||
- Enforce explicit predicate-test and wall-time budgets and show every accepted
|
||||
size reduction
|
||||
- Export the minimized case and a deterministic report containing the predicate,
|
||||
engine version, limits, and reduction trace
|
||||
|
||||
## Honest scope
|
||||
|
||||
The JSON Schema predicate implements a documented focused subset: common types,
|
||||
properties, required/additional properties, items, enum/const, size, and numeric
|
||||
bounds. Unsupported keywords fail closed; remote references and formats are not
|
||||
silently approximated. The XSLT predicate uses the browser's XSLT 1.0 processor
|
||||
when available and rejects imports, includes, href targets, DOCTYPE declarations,
|
||||
and external-resource XPath functions. XSLT tests are additionally capped at 200.
|
||||
|
||||
Minimization finds a locally minimal case under the attempted transformations
|
||||
and budget, not a mathematically globally shortest input. Regex timing depends on
|
||||
the browser and device. Inputs are capped at 2 MiB, runs at 2,000 tests and 30
|
||||
seconds, regex worker execution at one second, and stylesheets at 128 KiB.
|
||||
|
||||
## Development
|
||||
|
||||
```sh
|
||||
npm ci
|
||||
npm run check
|
||||
npm run test:browser
|
||||
```
|
||||
|
||||
`npm run release:artifact` creates a deterministic release ZIP and SHA-256
|
||||
sidecar after all checks pass.
|
||||
|
||||
## License
|
||||
|
||||
GPL-3.0-or-later. See [LICENSE](LICENSE).
|
||||
Reference in New Issue
Block a user