Skip to content

test(platform): add WSL runtime receipts - #49

Merged
decode2 merged 1 commit into
masterfrom
test/wsl-runtime-receipts
Jul 19, 2026
Merged

test(platform): add WSL runtime receipts#49
decode2 merged 1 commit into
masterfrom
test/wsl-runtime-receipts

Conversation

@decode2

@decode2 decode2 commented Jul 19, 2026

Copy link
Copy Markdown
Owner

Linked issue

Closes #48

  • The linked issue has the status:approved label.

Pull request type

Select exactly one option and apply the matching type:* label.

  • Bug fix (type:bug)
  • New feature (type:feature)
  • Documentation (type:docs)
  • Refactor (type:refactor)
  • Maintenance or tooling (type:chore)
  • Breaking change (type:breaking-change)

Summary

  • Adds deterministic WSL2/WSLg environment classification and machine-readable PTY runtime receipts.
  • Adds a guarded authoritative workflow for a real labeled self-hosted Ubuntu WSL2/WSLg runner; required mode fails rather than treating a skip as success.
  • Makes no WSL support claim: a successful real receipt is required before support may be declared.

Changes

Area or file Change
.github/workflows/ci.yml Adds the manual authoritative receipt lane, fail-closed prerequisites, required mode, and receipt upload.
.github/actionlint.yaml Declares the custom wsl2 and wslg runner labels.
crates/splice-pty/tests/wsl_runtime_receipt.rs Verifies classification, authority policy, workflow contract, and runtime receipt behavior.
crates/splice-pty/tests/wsl_runtime_support.rs Implements the WSL model, PTY probes, named skips, and JSON receipt emission.

Review budget: 359 additions + 2 deletions = 361 changed lines across exactly 4 paths.

Test plan

  • Ran focused automated checks: local skip receipt passed; required skip wrote a receipt then failed as intended; WSL receipt tests passed 4/4; full splice-pty passed.
  • Exercised the affected terminal workflow: deterministic PTY receipt covers startup, UTF-8, input, resize, interrupt, process-group teardown, liveness, and idempotent close.
  • Verified relevant platform behavior: platform authority passed 2/2; Windows GNU cross-target check passed; generic Linux emits a named skip and cannot establish WSL support.
  • Ran standard checks: actionlint, rustfmt, frontend tests (203), typecheck, lint, and production build passed.
  • Run the authoritative self-hosted WSL2/WSLg job. No eligible runner is registered, so this manual job was not dispatched.

Verification warnings

SDD verification passed with non-blocking warnings:

  • A failure before the harness can leave no receipt for the always-upload step.
  • Workflow concurrency can cancel a manual receipt on the same ref.
  • The WSL job does not independently run rustfmt; rustfmt passed in precommit verification.
  • The mutable self-hosted runner does not install or comprehensively receipt all native Tauri prerequisites.
  • Platform authority emits two pre-existing splice-clipboard dead-code warnings.

Chained pull request context

This is PR 9 of 16 in the terminal AI platform expansion chain.

#47 PR8 native runtime matrix
  |
  +-- PR9 WSL runtime receipts (this PR) 📍
        |
        +-- PR10 planned follow-up scope
  • Previous PR: test(platform): add native runtime matrix #47
  • Next PR: PR10/16, planned follow-up scope from the SDD chain
  • Review this PR first: required/local skip semantics, self-hosted workflow guard, and the four-path receipt boundary
  • Intentionally out of scope: product support declaration, workspace/UI/packaging/docs changes, and later SDD tasks

Rollback

Revert commit 451b751 to remove the manual WSL receipt lane, custom runner metadata, and both receipt test files without affecting PR8 native runtime coverage or unrelated platform behavior.

Contributor checklist

  • I searched for duplicate issues and pull requests before starting.
  • I linked an approved issue using Closes, Fixes, or Resolves.
  • I selected exactly one pull request type and applied exactly one matching type:* label.
  • I completed every relevant template field and included reproducible test evidence.
  • Documentation is not changed because this infrastructure makes no compatibility or support claim.
  • My commits follow Conventional Commits.
  • My commits contain no AI attribution, including Co-Authored-By trailers.

@decode2 decode2 added the type:chore Updates maintenance, tooling, or infrastructure label Jul 19, 2026
@decode2
decode2 merged commit 8f8bdf8 into master Jul 19, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:chore Updates maintenance, tooling, or infrastructure

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(platform): add WSL runtime receipt infrastructure

1 participant