Repository navigation
2026-10-02 snapshot: SheetJS, ExcelJS, LibreOffice adapters; content-model mutation scoring; public-API perf run - #47
Merged
Conversation
…shot; score the mutation lane with the format content model - New adapters: SheetJS, ExcelJS, LibreOffice (xlsx lane). - Feature denominators count only features at least one adapter scored. - Mutation lane scores package meaning with the xlsx content model: equivalent rewrites preserve, edits are verified. - Recorded failures never embed host paths.
…y claims from current data
Contributor
There was a problem hiding this comment.
Copilot review overview
🟡 Changes recommended
XML encoding handling, dashboard denominators, and required architecture decision documentation remain unresolved.
Review effort: Balanced
Findings: 1
Open (3)
What changed in this PR
Adds three external-library adapters, semantic mutation scoring, remote Docker oracle transport, and publishes the 2026-10-02 benchmark snapshot.
Changes:
- Adds SheetJS, ExcelJS, and LibreOffice read/write/modify adapters.
- Replaces package-level mutation scoring with content-model comparison.
- Updates benchmark artifacts and public performance/fidelity claims.
| File | Description |
|---|---|
tools/external-oracles/sheetjs/README.md |
Documents SheetJS helper. |
tools/external-oracles/sheetjs/package.json |
Pins SheetJS dependency. |
tools/external-oracles/sheetjs/package-lock.json |
Locks SheetJS package. |
tools/external-oracles/remote/README.md |
Documents remote containers. |
tools/external-oracles/remote/docker_oracle.py |
Implements host transport. |
tools/external-oracles/remote/container_entry.py |
Implements container transport. |
tools/external-oracles/libreoffice/README.md |
Documents UNO adapter. |
tools/external-oracles/libreoffice/libreoffice_uno_adapter.py |
Launches headless UNO macro. |
tools/external-oracles/exceljs/README.md |
Documents ExcelJS adapter. |
tools/external-oracles/exceljs/exceljs-oracle.cjs |
Dispatches model operations. |
tools/external-oracles/excelize/Dockerfile |
Builds Excelize oracle image. |
tools/external-oracles/apache-poi/Dockerfile.dockerignore |
Excludes build artifacts. |
tools/external-oracles/apache-poi/Dockerfile |
Builds POI oracle image. |
tests/test_mutation_suite.py |
Tests semantic preservation. |
tests/test_env_fallback_contracts.py |
Updates mutation contracts. |
src/excelbench/results/renderer.py |
Revises WolfXL summary. |
src/excelbench/results/mutation_renderer.py |
Renders semantic verdicts. |
src/excelbench/results/html_dashboard.py |
Revises dashboard messaging. |
src/excelbench/modifiable.py |
Registers new mutation engines. |
src/excelbench/harness/mutation.py |
Implements content-model scoring. |
src/excelbench/harness/external_oracles.py |
Adds remote Docker configuration. |
src/excelbench/harness/adapters/sheetjs_adapter.py |
Adds SheetJS adapter. |
src/excelbench/harness/adapters/openpyxl_adapter.py |
Detects modern password hashes. |
src/excelbench/harness/adapters/libreoffice_adapter.py |
Adds LibreOffice adapter. |
src/excelbench/harness/adapters/json_model_adapter.py |
Adds shared JSON adapter base. |
src/excelbench/harness/adapters/exceljs_adapter.py |
Adds ExcelJS adapter. |
src/excelbench/harness/adapters/__init__.py |
Registers new adapters. |
src/excelbench/cli.py |
Updates mutation output. |
results/perf/README.md |
Marks old WolfXL results superseded. |
results-2026-10-02/xlsx/matrix.csv |
Publishes fidelity matrix. |
results-2026-10-02/xlsx/history.jsonl |
Records fidelity run. |
results-2026-10-02/xlsx/FIDELITY_DELTAS.md |
Initializes delta report. |
results-2026-10-02/README.md |
Summarizes snapshot. |
results-2026-10-02/perf/run.sh |
Records performance command. |
results-2026-10-02/perf/run-log.txt |
Records performance run. |
results-2026-10-02/perf/pip-freeze.txt |
Captures environment. |
results-2026-10-02/perf/pins.txt |
Records adapter versions. |
results-2026-10-02/perf/history.jsonl |
Records performance data. |
results-2026-10-02/mutation/README.md |
Publishes mutation results. |
results-2026-10-02/cross-language/WHY_FAILED.md |
Explains cross-language failures. |
results-2026-10-02/cross-language/matrix.csv |
Publishes cross-language matrix. |
results-2026-10-02/cross-language/history.jsonl |
Records cross-language run. |
results-2026-10-02/cross-language/FIDELITY_DELTAS.md |
Initializes delta report. |
results-2026-10-02/cross-language/CONTEXT.md |
Defines interpretation scope. |
results-2026-10-02/calc/results.json |
Publishes calculation results. |
results-2026-10-02/calc/README.md |
Documents calculation results. |
README.md |
Updates public benchmark claims. |
pyproject.toml |
Excludes vendored model checks. |
METHODOLOGY.md |
Documents semantic scoring. |
docs/public-reporting.md |
Adds snapshot citation guidance. |
docs-site/index.mdx |
Updates benchmark scope. |
docs-site/cli/perf.mdx |
Updates performance guidance. |
docs-site/adapters/wolfxl.mdx |
Corrects WolfXL claims. |
docs-site/adapters/overview.mdx |
Updates WolfXL API description. |
docs-site/adapters/openpyxl.mdx |
Updates comparison figures. |
.gitleaksignore |
Exempts public commit receipt. |
Files not reviewed (1)
- tools/external-oracles/sheetjs/package-lock.json: Generated file
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
wolfiesch
added a commit
that referenced
this pull request
Oct 2, 2026
Fix #47 review findings: custom XML decoding, decision record, dashboard denominators
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


Summary
results-2026-10-02/: xlsx, mutation, calc, cross-language, perf).pivot_tableswas counted while unscored).Verification
ruff check,mypy src,pytest.results-2026-10-02/perf/README.mdcarries the run receipt and maps the run's local source commit to its published equivalent by tree hash.Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.