Skip to content

feat(ci): UAT / live-integration tier — scheduled + release gate - #234

Merged
hartsock merged 1 commit into
mainfrom
feat/192-uat-gate
Jul 27, 2026
Merged

feat(ci): UAT / live-integration tier — scheduled + release gate#234
hartsock merged 1 commit into
mainfrom
feat/192-uat-gate

Conversation

@hartsock

Copy link
Copy Markdown
Owner

Implements #192 (premises refreshed: the cited ignored tests became per-PR mocks in A1/A3; no self-hosted runner needed — ubuntu-latest carries the Xvfb+dbus harness). Two checked-in scripts shared by CI and local runs + uat.yml (nightly + release + manual, never per-PR; scheduled failures auto-comment on #192; install-smokes npm/pip/brew on release only).

Receipts: tui_drive.sh 9/9 locally · live_app_uat.sh 14/14 locally post-#233 — and this script's first run caught #232 (socket quit never terminated the process; pkill had masked it forever), fixed + verified in #233 before this gate even merged.

Fixes #192

Two checked-in drive scripts (CI and local runs share one
implementation) + the workflow:

- tests/uat/live_app_uat.sh — a REAL scrybe-app headless (Xvfb+dbus, the
  headless-ui-verify incantation) on an ISOLATED socket; asserts the live
  contract end-to-end: CLI read/edit/save round-trip with dirty-by-design
  disk semantics, tabs, MCP state/export_figures against the same app,
  figure PNG on disk + verified extract (B5), isError for bad paths (A4),
  and socket-only quit actually terminating the process (#232 — this
  script's first local run CAUGHT that bug).
- tests/uat/tui_drive.sh — the TUI wave's live drives codified on a
  dedicated tmux server: the #163 wrap acceptance (G reaches the true
  end, truthful indicator), the #164 syntect color check (distinct RGB
  foregrounds in a captured frame), the #162 scrybe view gates.
- .github/workflows/uat.yml — nightly + release-published + manual;
  NEVER per-PR (HOOK PARITY note: deliberately not mirrored — the
  expensive live tier per the repo's testing philosophy). Install-smoke
  jobs (npm/pip, brew cask on macOS) run on release only. Scheduled
  failures auto-comment on #192.

The issue's original premises updated by events: the #[ignore]d tests it
cites were ported to per-PR mocks (A1/A3), and no self-hosted runner is
needed — ubuntu-latest carries the Xvfb harness.

Fixes #192

Co-Authored-By: Claude Opus 4.8 (gnuc orchestrator) <[email protected]>
@hartsock
hartsock merged commit aa70150 into main Jul 27, 2026
14 checks passed
@hartsock
hartsock deleted the feat/192-uat-gate branch July 27, 2026 02:58
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.

ci: UAT / live-integration gate in GitHub Actions (scheduled + release, not per-PR) — target 0.6.x

1 participant