Skip to content

test: prove launcher startup tree cleanup - #57

Merged
Blind-Striker merged 4 commits into
masterfrom
codex/live-coverage
Sep 7, 2026
Merged

Blind-Striker merged 4 commits into
masterfrom
codex/live-coverage

Conversation

@Blind-Striker

@Blind-Striker Blind-Striker commented Sep 5, 2026 •

Copy link
Copy Markdown
Collaborator

Launcher startup failures and caller cancellation gain real-process tests that observe an owned root/child tree before the trigger, then assert both have exited when startup returns. Independent authenticated control connections preserve fixture ownership through these assertions and provide cooperative fallback cleanup without signalling by PID. Windows observations retain their native process handles before acknowledgement. Rejected-handshake and controlled-lease cases exercise cleanup, and healthy disposal is repeated.

This branch also carries the reviewed RPC/plugin operation names: Rpc.CallAsync, Plugins.AwaitPluginActivationAsync, Plugins.CheckPluginUpdatesAsync, and Plugins.UpdatePluginsAsync, with generated route members, callers, API baseline, and migration notes.

Validation on the earlier 240b3a4 tree:

  • Windows: 4,538/4,538 passed, no skips.
  • macOS: 3,583/3,583 passed, no skips.
  • Linux: 3,581/3,583 passed, no skips. The readiness-timeout child-exit assertion failed on net8 and net9; net10 passed.
  • Local focused lifecycle: 36/36 across all Windows target frameworks; slopwatch, Release build and whitespace/style passed.

The final review's process-identity and static-I/O findings are repaired at 2de3fb7, with a clean scoped re-review. Exact-source Windows lifecycle tests pass 40/40; slopwatch analyzed 1,766 files with zero issues, Release build has zero warnings/errors, and both formatting gates pass. Linux process-state diagnostics preserve the immediate observations without retrying or relaxing them.

Exact 2de3fb7 CI completed: Windows 4,542/4,542 and macOS 3,586/3,586 passed; Linux 3,582/3,586 passed, with four immediate child-exit assertions failing (net8 cancellation/invalid-line; net10 timeout/invalid-line). No skips. Diagnostics still found the same child identity after the parent had exited in two failures; two others were absent by the later snapshot. This proves the immediate completion acceptance fails, without establishing a persistent orphan.

Draft and parked for a maintainer contract decision. .NET's parent exit wait does not guarantee that every descendant has exited, so the current test acceptance is stronger than the primitive used by the launcher. No retry window, skip, weakened assertion, production change or second final fix wave has been applied. The source findings are closed; the execution/contract gate is not. Current CI: https://github.com/Blind-Striker/opencode-sdk-dotnet/actions/runs/34000072847

@Blind-Striker
Blind-Striker merged commit acfd313 into master Sep 7, 2026
3 of 4 checks passed
@Blind-Striker
Blind-Striker deleted the codex/live-coverage branch September 14, 2026 12:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant