Skip to content

[v2] Complete in-process lifecycle and platform reliability work #2525

Description

@SteveSandersonMS

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 [Tracking] In-process (FFI) items to be cleaned up #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

Historical context

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    sdk-v2Work planned for Copilot SDK v2

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions