[v2] Complete in-process lifecycle and platform reliability work
- 主要言語
- Java
- スター
- 10.5k
- フォーク
- 1.5k
- 平均マージ
- 1日 11時間
- マージ済み PR(30日)
- 127
説明
## 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.
コントリビューションガイド
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- rust, sqlite
- 領域
- backend, databases, operating-systems, performance, testing-qa
- issue の種類
- バグ
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 活発
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100