uv sync --extra devuv run excelbench generate --output fixtures/exceluv run excelbench benchmark --tests fixtures/excel --output results- Generator: Add a new generator in
src/excelbench/generator/features/. - Manifest: Register it in
src/excelbench/generator/features/__init__.pyandgenerate.py. - Harness: Add read/write logic in
src/excelbench/harness/runner.py. - Adapters: Ensure required adapter methods exist for the feature.
- Fixtures: Regenerate
fixtures/excel/.
- Implement the adapter in
src/excelbench/harness/adapters/. - Export it from
src/excelbench/harness/adapters/__init__.py. - Add to
get_all_adapters()if it should run by default. - Verify read/write capability flags.
- For unsupported feature surfaces, raise
UnsupportedAdapterOperationErrorviaself.unsupported_operation(...)rather than silent no-ops so the harness can classify capability gaps separately from regressions.
pytestruff check
mypymypy uses the target set in pyproject.toml ([tool.mypy].files). CI currently checks a
small, strictly-typed subset; expand it incrementally as typing coverage improves.