Repository navigation
Start W1 with internal async execution contracts and controllable tests - #147
Merged
Merged
Conversation
Add explicit internal async access, reader and deferred borrowed-command source capabilities. Validate arguments, lifecycle and capability before pre-cancellation, then dispatch directly without synchronous fallback or changing existing production provider paths. Add deterministic TUnit pause/failure fixtures and 29 contract cases covering cancellation, dispatch identity, borrowed ownership and deferred acquisition. Record 1,864 passing unit tests, clean core builds on .NET 8/9/10, the remaining W1 slices and the unresolved SQLite integration/release gates.
Stop background cleanup only for the stable-cache identity assertion, and cover a forced cleanup/publication overlap separately. Preserve the original CI failure and deterministic negative control; no production caching or SQLite pooling changes.
Preserve the first failed SQLite identity check and deterministic maintenance-overlap reproduction. Link the master-first test fix and merge-forward PR, record explicit Release unit verification and keep W0-F1 separate and open.
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
The accepted async design needs internal execution contracts and deterministic test infrastructure before production providers are connected. The user-approved W0-F1 exception allows this bounded work while EF Core reviews the SQLite pool correction.
Changes
All new core types are internal. Existing synchronous execution, public APIs, production providers, transaction guards, generators and package dependencies are unchanged. Deferred acquisition is not yet an async row enumerator; enumeration cleanup, combined tokens, owned string commands and failure composition remain later work. The fixture's reader-lifetime tests establish fixture capabilities, not native-provider acceptance.
Validation
85795c5bpassed 1,864/1,864; separate Release build had zero warnings/errors. These development checks are not strict release evidence; raw reports retain actual configurations and the preceding Windows CLI DLL-lock build failure.No packages published or native driver changes. W0-F1, SQLite integration acceptance, final provider feasibility/public API freeze and release approval remain blocked on verified corrected-package adoption and affected evidence. This PR starts W1; it does not complete the full W1 exit gate.
Predecessors #144, #145 and the merge-forward integration #146 are merged.
CI follow-up and dependency
The first committed CI run failed the pre-existing SQLite-file cached-reference identity assertion (primary-key equality/hash assertions passed). A deterministic cleanup/publication overlap reproduced the same condition. Master-first test fix #148 and merge-forward PR #149 both passed all required CI and are merged. The fix is now on v0.10; this W1 head includes the same integration ancestry.
The original failure/artifact, deterministic negative control, two 516/516 SQLite development passes and the limits of the diagnosis are preserved in #148 and the W1 implementation record. This is separate from W0-F1 and has not been waived under its exception. Fresh CI run 35235973869 passed all 12 jobs including the Latest required gate on
ae7c4bb2400537e47ee9bf0e3a0e02e80b346c76. The original failed run is not relabeled as passing. This PR is left open for review; the complete W1 exit gate remains later work.