Skip to content

feat(compat): add finite AI CLI compatibility harness - #31

Merged
decode2 merged 2 commits into
masterfrom
feat/ai-cli-compat-harness
Jul 18, 2026
Merged

feat(compat): add finite AI CLI compatibility harness#31
decode2 merged 2 commits into
masterfrom
feat/ai-cli-compat-harness

Conversation

@decode2

@decode2 decode2 commented Jul 18, 2026

Copy link
Copy Markdown
Owner

Linked issue

Closes #30

  • 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

  • Add the finite, evidence-based compatibility harness for the seven fixed AI CLI and fallback descriptors.
  • Report deterministic command discovery and semantic probe evidence in human and JSON forms without promoting unsupported compatibility tiers.
  • Wire the focused splice-compat package suite into CI as PR1 of the 15-PR stacked-to-main delivery chain.

Changes

Area or file Change
crates/splice-compat/ Add fixed descriptors, platform-aware command discovery, semantic probes, report rendering, and native/Windows matrix tests.
Cargo.toml, Cargo.lock Register and lock the compatibility harness workspace crate.
.github/workflows/ci.yml Run the focused compatibility package tests in CI.

Test plan

  • Ran the focused automated checks: cargo test -p splice-compat (3 passed), cargo fmt --all -- --check (passed), cargo clippy -p splice-compat --all-targets -- -D warnings (passed), and locked metadata (passed).
  • Exercised the affected terminal, AI CLI, or desktop workflow: deterministic fixture discovery, startup/input/interrupt/liveness evidence, fallback behavior, and human/JSON rendering all passed.
  • Verified relevant Windows, Linux, or WSL behavior, or documented why it is not applicable: native Linux tests passed; the complete Windows GNU matrix ran under Wine with 3 passed, including PATHEXT and direct .CMD discovery. WSL-specific integration is intentionally deferred beyond PR1.

Differential baseline and warnings

  • cargo test --workspace exits 101 on both this candidate and exact base eab3555003d84dd2ddc721eaf661fe11a38e0842, with the same missing desktop icon and unavailable Arc<PtySession>::close failures. These failures are pre-existing in untouched desktop/PTY paths and are not introduced or worsened by PR1.
  • Review findings R3-001 and R3-002 remain informational: caller-supplied evidence is reused per discovered CLI, and false semantic probes render as skipped. Neither behavior promotes tiers or invalidates the PR1 scenarios.
  • Native review lineage review-2b2b0b65ee634889 approved candidate tree fbeb78d43bebd5a589b4b0fe7457f676bd2bb2fc with no blockers or critical findings.

Chained pull request context

  • Strategy: stacked PRs to master
  • Chain position: PR1 of 15
  • Dependency: master -> PR1 [current] -> PR2 (planned) -> ... -> PR15 (planned)
  • Previous PR: Not applicable; this is the independently mergeable foundation slice.
  • Next PR: PR2, planned scope only; it will target master independently after PR1 delivery.
  • Review this PR first: the finite descriptor matrix, platform command discovery, semantic evidence model, renderers, and focused CI boundary.
  • Intentionally out of scope: PTY implementation changes, platform adapters, desktop/UI integration, packaging, broader documentation/marketing claims, WSL-specific integration, and all PR2-PR15 work.
  • Review budget: 398 additions + 1 deletion = 399 changed lines, within the 400-line limit.
  • Rollback: revert this one commit to remove crates/splice-compat/, its workspace/lock registration, and the focused CI command without removing unrelated 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.
  • I updated documentation when behavior or compatibility changed, or documented why broader documentation is deferred beyond this harness-only slice.
  • My commits follow Conventional Commits.
  • My commits contain no AI attribution, including Co-Authored-By trailers.

@decode2 decode2 added the type:feature Adds or improves functionality label Jul 18, 2026
@decode2
decode2 merged commit 1c02999 into master Jul 18, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:feature Adds or improves functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(compat): add finite AI CLI compatibility harness

1 participant