Repository navigation
test(duckshop): edge cases for every construct translation tools refuse - #1301
Merged
Merged
Conversation
… unit tests in CI
kvlonge
enabled auto-merge (squash)
November 2, 2026 11:31
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.
Why
DuckShop should exercise every construct that SQL translation tools refuse, guard or fail on, so the benchmark alone can measure translation coverage without any other project.
Changes
rpt_edge_case_model_keys,rpt_edge_case_array_model_keys) read the new models, so a refusal also reaches a downstream model.edge__supplier_noteswith its loader and staging model, a SQL table functionedge_basket_lines_for, and a JavaScript function created by a pre-hook.relations.pyalso checks and drops functions that SQL hooks create.sqb teston main: three core unit-test mocks now list columns in declared order (planning failed with S000 since the declared-columns change); core checksum updated (compiled tests only). A new e2e guard runssqb test --inspecton DuckShop so fixture errors fail CI.sqlbuild_local.toml.exampledescribe the new group. They also note that the edge connection setsdatabaseandschema, so unqualified calls resolve to the hook-created function.Verification
sqb compile: 0 errors, 0 warnings;sqb format --checkclean.test --inspectguard fails before the mock fix and passes after; DuckShop compile guards andbenchmarks/duckshop/testspass.edgetarget; a second capture left every file unchanged.sqb test --target edge --select tag:edge_case: 185 of 185 pass.make check-ci(verify hook), public-repository hygiene scan.