Notes: rebuild the harness on Linux, and record round 15 - #219
Merged
Merged
Conversation
Pre-release verification, and the rig had to be rebuilt first: the old one was local-only on the Windows box and did not survive the move. The step-by-step for standing it up from nothing is now at the top of harness-baseline.md, Linux-shaped - databases from the Dapper suite's own docker compose, the SqlServerConnectionString env var, the local feed, and the .globalconfig severity downgrades without which DAP036/DAP037 stop the build outright. Round 15, net10.0: **729 passed / 800**, 41 failed, against a vanilla control of 770/800 on the same box. Scorecard: handled 432 of 736 enabled call-sites. All 41 divergences are known gaps at x2 providers - TypeHandler, Literal, Misc, Parameter, Async, plus scattered singles - so no new failure class, and the pass count is up on round 12's 677. The question this was run to answer: **the round-12 generator (b411eb4), packed and run against this same rig, also reads 432 of 736.** So #208-#217 changed interception not at all, and moved behaviour only upward. Recorded honestly rather than smoothed over: the 533/725 in round 12 is *not* reproducible here, and since the round-12 generator does not reproduce it either, the difference is rig configuration that no longer exists to inspect. DAP051 firing 244 times is the likely candidate but is a hypothesis. The durable lesson is in the note: absolute call-site counts are rig-specific, so compare within a rig, never across. Also corrected: the preamble still described round 14's [module: UseRuntimeTypeHandlers] as part of the setup, and that attribute does not exist - #206 was closed.
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.
Notes only. This is the pre-release verification run — the "has anything regressed?" check before shipping.
The answer: no
Scorecard:
handled 432 of 736 enabled call-sites (76 unsupported API, 203 refused with diagnostics, 25 skipped silently).The A/B that matters: the round-12 generator (
b411eb4) was packed and run against this same rig and also reads 432 of 736. So #208–#217 changed interception not at all, and moved behaviour only upward (677 → 729). The type-handler work, the DAP056 non-goal and the scorecard split cost no coverage.All 41 divergences are known gaps at ×2 providers —
TypeHandlerTests×4,LiteralTests×4,MiscTests×4,ParameterTests×3,AsyncTests×3, plusTransaction/DataReadersingles and one newDateTimeOnlyTestssince Dapper #2228. No new failure class.The rig had to be rebuilt
It was local-only on the Windows box and did not survive the move. The step-by-step is now at the top of
harness-baseline.mdand is Linux-shaped: databases from the Dapper suite's owndocker compose, theSqlServerConnectionStringenv var, the local feed and1.0.0-gpackage version, and — the part that is easy to lose a morning to — the.globalconfigseverity downgrades, without which DAP036/DAP037 stop the build outright on the scalar-result gaps (enum, char, TimeSpan, DateOnly, TimeOnly, dynamic). That they are errors at all, on shapes vanilla handles fine, is still a live severity question.Also needed:
-p:NoWarn=NU1902on every build, because the Dapper repo runs warnings-as-errors and a published advisory against a SourceLink dependency otherwise fails the restore. Nothing to do with us.One thing recorded rather than smoothed over
Round 12's 533/725 is not reproducible on this rig — and the round-12 generator does not reproduce it either, so it is not a regression, it is rig configuration that no longer exists to inspect. DAP051 (generic-by-containment) firing 244 times is the likeliest candidate, but that is a hypothesis and is written down as one.
The durable lesson is in the note: absolute call-site counts are rig-specific — compare within a rig, never across. That is exactly what the A/B above does, which is why it is trustworthy while the 533-vs-432 comparison is not.
Also corrected: the preamble still listed round 14's
[module: UseRuntimeTypeHandlers]as part of the setup. #206 was closed; the attribute does not exist.