test(conformance): enforce SPARKLINE's fixture coverage again - #773
Merged
Conversation
SPARKLINE was added to the pending-fixture-verification set to break a tie between two CI rules that deadlock for any new function: the coverage guard wants rows before the function, and the fixture/code separation job forbids landing both in one PR. Its 115 pipeline-verified rows have now landed, so the exemption has done its job. Removing it matters more than it looks. An entry left in this set is not a note-to-self; it is a permanent hole in the guard, and the function it names is the one nobody will notice losing coverage. QUERY is a genuine long-term entry -- its rows do not exist yet. SPARKLINE's did, and were three PRs away. The comment now describes the three-PR sequence as the general procedure so the next new function follows it deliberately rather than rediscovering the deadlock. Refs #766
Contributor
Test Coverage by Category
✓ = 100% passing · ⚠ = known deviation · The ~79,424 total counts formula evaluations (each conformance row and each property case = 1). GitHub Checks reports 3,732 Rust test functions: 2,897 unit + 159 property functions (shown as cases above) + 676 conformance/integration. |
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Third and last PR of the #766 sequence, after #770 (code) and #772 (rows).
Summary
Removes
SPARKLINEfrompending_fixture_verification, soevery_registered_function_has_conformance_coverageenforces it like any other function.Why this is not bookkeeping
An entry in that set is not a note-to-self — it is a permanent hole in the coverage guard, and the function it names is precisely the one nobody would notice losing coverage. Left in place, SPARKLINE would have been exempt from the guard forever, three PRs after the reason expired.
QUERYis a legitimate long-term entry: its rows genuinely do not exist yet. SPARKLINE's did, and were two PRs away.Why the exemption was needed at all
Two CI rules deadlock for any new function:
Check fixture / code separationrejects a PR touching both the canonical TSVs and codeSo code-first fails this test, and fixtures-first leaves rows for a function the engine does not have. The only way through is three PRs, with a temporary exemption spanning the middle one.
The comment now describes that sequence as the general procedure, so the next new function follows it deliberately instead of rediscovering the deadlock through a red CI run — which is how this one found it.
How to test
cargo test -p truecalc-core --test conformance every_registered_function_has_conformance_coveragePasses on this branch. That is the whole point: it proves SPARKLINE's 115 rows genuinely cover it, rather than the exemption having masked a gap. Before #772 landed, this same test failed with SPARKLINE removed — which is what forced the three-PR sequence.
Test plan
cargo test -p truecalc-core --test conformance every_registered_function_has_conformance_coverage— passesmain(both feat(google)!: SPARKLINE — parse and validate the in-cell chart #770 and fixtures(google): SPARKLINE conformance rows #772 present)Related
MIN's empty-array divergence, recorded inbugs.tsvby fixtures(google): SPARKLINE conformance rows #772🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need. Autofix is disabled.