Close native formula coverage gaps and measure the frozen corpus - #85
Merged
Merged
Conversation
tcballard
marked this pull request as ready for review
September 11, 2026 10:15
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.
OmaSheets’ native formula coverage was 89.26% on the frozen 1,000-workbook corpus. This PR closes ordinary syntax and function gaps and records a fresh before/after measurement without changing the sample, tolerance, or denominator.
It adds bounded array constants for aggregates and lookups, sheet-qualified defined names, known modern function prefixes, qualified/deleted range endpoints, and eight financial/statistical function names. The registry now contains 104 names. Tests cover reference values, errors, cached XLSX values, recalculation, and stable bindings through sorting and reopening.
ecf003612d1c8cThat is 4,513 more compiled formulas and 4,505 more stored-value matches. The eight additional mismatches remain reported. Aggregate results cannot establish that every previously matched formula is unchanged.
The new workflow builds baseline and candidate in separate directories and scores them sequentially on one runner. It retains aggregate evidence and fixed token-class diagnostics only. The frozen corpus comparison passed; summary and delta are committed under
corpus/sources/with the scored engine revision. An earlier workflow revision incorrectly reused the baseline binary; its candidate result is superseded and is not used in the committed evidence.All 12 implementation CI jobs passed, including 151 Rust tests, workspace clippy with warnings denied, Qt checks and both Arch installation/acceptance jobs. The final commit changes documentation and aggregate evidence only; its six evidence-validation tests passed locally, and GitHub has started the automatic checks again.
The remaining 94,706 refusals include 47,007 external workbook references and 21,737 proprietary add-in calls. Parsing farther also exposes
OFFSETand invalid-reference failures that were previously classified as syntax/name errors. These counts remain in raw coverage. The 97% release gate is unchanged and is not marked passed.