Skip to content

Fix strict typing of unified benchmark reports - #106

Closed
MatthiasLew wants to merge 1 commit into
mainfrom
fix/benchmark-report-types
Closed

MatthiasLew wants to merge 1 commit into
mainfrom
fix/benchmark-report-types

Conversation

@MatthiasLew

@MatthiasLew MatthiasLew commented Oct 18, 2026 •

Copy link
Copy Markdown
Owner

Superseded by #108 at the maintainer's request. Closed without merging; track reproduction, proposed remediation and acceptance criteria in that issue.


The required python scripts/dev.py --check gate stops at mypy with eight errors in scripts/unified_benchmark.py on current main. The benchmark result was typed as dict[str, object], so consumers could not index metadata or iterate benchmark rows, and two ignores were both unused and ineffective.

Add TypedDict contracts for benchmark entries, metadata and the report, annotate the construction and return value, and express the existing sized-index expectation through a type cast. Remove the ineffective ignores. This change preserves the runtime report and table format.

Validation: the required python -m mypy src tests scripts now reports no issues in all 197 source files; repository-wide Ruff and git diff --check pass. This fixes the pre-existing validation blocker discovered while checking the independent nested-untracked-file fix in PR #105. No benchmark workload was run against user data.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant