Skip to content

ci: distinguish synthetic SDK lifecycle - #137

Merged
wiresock merged 1 commit into
mainfrom
codex/hosted-sdk-synthetic-lifecycle
Aug 12, 2026
Merged

ci: distinguish synthetic SDK lifecycle#137
wiresock merged 1 commit into
mainfrom
codex/hosted-sdk-synthetic-lifecycle

Conversation

@wiresock

Copy link
Copy Markdown
Owner

Summary

  • add an explicit synthetic SDK lifecycle mode for the GitHub-hosted TEST-NET experiment
  • keep the protected real-profile SDK integration mode strict about connected state
  • continue treating native active/state query errors and all cleanup failures as fatal
  • document the hosted experiment's connectivity and ephemeral cleanup boundaries

Why

Hosted run https://github.com/wiresock/WireSockUI/actions/runs/31588766251 proved that the disposable Windows runner can install the audited WireSock SDK, build and install the WireSockUI MSI, and create/start/query/stop/drop an SDK tunnel. It failed only because the synthetic profile intentionally points at an unreachable IANA TEST-NET endpoint, so it cannot honestly assert a connected tunnel.

Validation

  • focused SDK tests: 12 passed
  • workflow security fixtures passed
  • production workflow contracts passed
  • PowerShell parser validation passed
  • git diff --check passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces a distinct “synthetic” SDK lifecycle mode intended for the GitHub-hosted TEST-NET experiment, so hosted runs can validate the real SDK lifecycle/cleanup behavior without requiring an externally connected tunnel, while keeping the protected “real profile” SDK integration mode strict about tunnel active/connected state.

Changes:

  • Added a new --sdk-synthetic-integration switch to the test runner and made --sdk-integration and --sdk-synthetic-integration mutually exclusive.
  • Plumbed a requireActiveTunnel flag through the SDK smoke path so synthetic mode permits GetTunnelActive == false (but still treats native query errors and cleanup failures as fatal).
  • Updated the hosted experiment script and README wording to reflect the synthetic connectivity boundary.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
WireSockUI.Tests/Program.cs Adds a synthetic SDK integration mode, adjusts smoke assertions to allow inactive tunnels when requested, and adds a targeted fake-API regression test.
scripts/Invoke-HostedSdkExperiment.ps1 Switches the hosted experiment to call the new synthetic SDK integration mode and updates the step summary text accordingly.
README.md Documents the hosted experiment’s synthetic lifecycle scope and explicitly distinguishes it from the strict self-hosted connected integration.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@wiresock
wiresock merged commit 578050e into main Aug 12, 2026
24 checks passed
@wiresock
wiresock deleted the codex/hosted-sdk-synthetic-lifecycle branch August 12, 2026 11:26
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.

2 participants