Skip to content

fix: harden test infrastructure and iOS device QA#2264

Merged
16francej merged 14 commits into
garrytan:mainfrom
time-attack:time-attack/wave-test-infra-isolated-review
Jul 15, 2026
Merged

fix: harden test infrastructure and iOS device QA#2264
16francej merged 14 commits into
garrytan:mainfrom
time-attack:time-attack/wave-test-infra-isolated-review

Conversation

@time-attack

@time-attack time-attack commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

What this does

This PR combines a set of small test-infrastructure and iPhone-testing fixes that were reviewed together.

In simple terms, it:

  • makes the test runner safer by sending arguments directly instead of building a shell command;
  • measures the real time to the first response;
  • rejects bad --limit values instead of silently doing something surprising;
  • correctly reads nested gbrain filters and cleans up remote URLs;
  • validates host configuration and credential-action safety rules;
  • makes careful mode catch disguised destructive delete commands;
  • fixes generated Swift package files so they build on the first try;
  • makes iPhone taps, controls, screenshots, state access, and app relaunch recovery testable on a real device.

Original PRs covered

This PR replaces or completes the useful parts of:

It intentionally does not include workflow-policy changes, model overlays, version bumps, changelog edits, promotional copy, or unrelated cleanup.

Testing

  • Live before/after checks passed in 5 real consumer/control repositories.
  • Focused regression suite: 159 passed, 0 failed, 496 assertions.
  • Final focused + expanded suite: 187 passed, 0 failed, 648 assertions (1 duplicate device path skipped because it was run separately).
  • Final physical iPhone run: 4 passed, 0 failed, 88 assertions, including signed build/install/launch and app-relaunch recovery.
  • bun run build: passed.
  • git diff --check: passed.
  • Full bun test: exited successfully and all wave-related suites passed. Its output reported five failures in a newly upstreamed gbrain install test caused by that test's Bun PATH fixture; this branch changes neither implicated file.
  • GitHub's build-image check is red because fork PR credentials are not allowed to push ghcr.io/garrytan/gstack/ci; the image itself built successfully, then the registry rejected the push. Windows tests, generated-doc freshness, and workflow lint passed.

Post-review fixes

  • Release safety: the Objective-C touch bridge is now compiled out in Release. A test builds the final Release iOS app and proves its executable contains none of the private touch APIs or DebugBridge symbols.
  • Safety hook: commands are parsed as JSON first. Escaped quotes, multiline commands, malformed JSON, and non-string payloads can no longer bypass the warning.
  • License: KIF attribution now correctly says Apache-2.0 and preserves the upstream copyright/license notice.

After these fixes: 190 focused tests passed with 665 assertions, the repository-wide suite exited successfully, the build passed, and the physical iPhone suite passed 4/4 with 86 assertions.

Remaining limits

Review result

MERGE-WITH-CHANGES: merge this reconstructed branch, not the old combined wave branch.

Closes #553
Closes #789
Closes #1684
Closes #1688
Closes #1762
Closes #1766
Closes #1896
Closes #1919
Closes #1936
Closes #2025
Closes #2040

@trunk-io

trunk-io Bot commented Jul 14, 2026

Copy link
Copy Markdown

Merging to main in this repository is managed by Trunk.

  • To merge this pull request, check the box to the left or comment /trunk merge below.

After your PR is submitted to the merge queue, this comment will be automatically updated with its status. If the PR fails, failure details will also be posted here

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.

3 participants