[v2] Complete in-process lifecycle and platform reliability work
- Lingua principale
- Java
- Stelle
- 10.5k
- Fork
- 1.5k
- Merge medio
- 1g 11h
- PR unite (30g)
- 128
Descrizione
## Summary
Complete the remaining in-process runtime lifecycle and platform reliability work required for v2.
These are tracked jobs from #1934, not optional investigation topics. First establish what existing work has already completed, then implement the remainder. If new evidence shows an item no longer applies, document it and obtain maintainer confirmation before closing it without implementation.
## Original concerns
- Windows in-process CI legs for .NET and Rust were disabled because of a `napi-oop` cleanup race. The race was thought unlikely to affect real applications, but the CI legs still needed to be re-enabled and teardown shown to be robust after removing `napi-oop`.
- The underlying runtime did not close SQLite connections after `forceStop`, and possibly not after session disposal. This left locked files on Windows.
- Graceful SQLite shutdown was suspected of being slow. This was the leading hypothesis in #1934 for in-process CI legs taking approximately 25–50% longer than their out-of-process equivalents.
## Required outcomes
- The intended Windows in-process CI coverage is enabled and reliable across SDKs.
- Callback and teardown behavior remains robust after the `napi-oop` cleanup work.
- Force-stop and session disposal release SQLite connections and do not leave locked files on Windows.
- Graceful shutdown does not have unexplained material performance regressions relative to out-of-process operation.
- Any intentionally unsupported platform or test combination is explicitly justified and documented.
## Implementation preparation
- Establish what #1976, #1983, #1986, and #2272 already resolved.
- Reproduce and test any remaining lifecycle or shutdown failures.
- Confirm whether SQLite closure is SDK-owned or requires changes in `github/copilot-cli`, and link the required runtime work.
- Measure shutdown behavior sufficiently to confirm or reject the SQLite performance hypothesis.
- Escalate for maintainer direction if an external runtime defect cannot reasonably be completed for v2.
## Historical context
- #1934
- #1976
- #1983
- #1986
- #2272
## Completion
Deliver the required coverage, teardown, resource-release, and shutdown behavior with reliable regression tests. Any item not implemented requires documented contradictory evidence and explicit maintainer agreement.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Start by reading #1934 and determining what #1976, #1983, #1986, and #2272 already resolved. Reproduce the remaining Windows in-process CI, force-stop, session-disposal, and SQLite shutdown behavior, then measure graceful shutdown against out-of-process operation. Done means reliable SDK coverage, teardown and resource-release regression tests, justified unsupported combinations, and maintainer agreement for anything not implemented.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- rust, sqlite
- Ambito
- backend, databases, operating-systems, performance, testing-qa
- Tipo di issue
- Bug
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Attiva
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100