* ci: use macos-26 for iOS simulator agent build
Ensures the prebuilt @tapsmith/agent-ios-simulator-* packages are
built against the iOS 26 SDK, matching users on Xcode 26.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: add extractSdkVersion() for xctestrun SDK detection
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: add auto-build cache to simulator xctestrun resolution order
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: add iOS simulator agent auto-build on SDK mismatch
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: use ensureSimulatorAgent() in CLI for auto-build on SDK mismatch
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: doctor reports iOS SDK version mismatch with auto-build hint
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: address PR review feedback for iOS auto-build
- Use process.arch for ARCHS instead of hardcoding arm64 (Intel Mac support)
- Include xcodebuild stdout tail in error on build failure
- Clean up stale xctestrun files in cache before copying new ones
- Use accurate progress message on ensureSimulatorAgent failure
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: add multi-SDK iOS simulator agent package design spec
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: add multi-SDK iOS simulator agent implementation plan
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* refactor: move getInstalledSimulatorSdkVersion to ios-device-resolve
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: SDK-aware xctestrun resolution from npm package subdirectories
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: update iOS agent package files to include sdk-*/ subdirectories
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* ci: build iOS simulator agent on two macOS versions for multi-SDK packages
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: correct eslint-disable placement in iOS simulator build tests
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* chore: remove superpowers docs from tracking (already gitignored)
* fix: address PR review feedback for multi-SDK resolution
- Pick newest xctestrun across all sdk-*/ subdirs (not first match)
- Guard against undefined stdout on xcodebuild spawn failure
- Verify cached xctestrun SDK matches before returning it
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* perf: cache getInstalledSimulatorSdkVersion and skip on non-macOS
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* chore: bump all packages to 0.1.3
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* chore: bump tapsmith-core to 0.1.3
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* chore: update benchmark lockfile to 0.1.3
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: clean up build dir after copy, auto-build when no prebuilt found
- Remove temporary DerivedData build directory after products are cached
- Try building from source before erroring when no xctestrun exists
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* chore: bump website footer version to 0.1.3
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: mock process.platform in SDK version tests for Linux CI
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: surface build error when auto-build from source fails
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: show xctestrun source in doctor (auto-build cache, npm package, DerivedData)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: use temp dir for xcodebuild, try/finally cleanup, silent build
- Use mkdtempSync for build dir to avoid collisions
- Wrap build + copy in try/finally to guarantee cleanup on failure
- Run xcodebuild silently, only surface output on failure
- Check Debug-iphonesimulator exists before copying
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: use os.machine() for Rosetta-proof arch detection, better spawn errors
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: skip stale auto-build cache when npm package has exact SDK match
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: delete .sdk-version before build to prevent stale cache on interruption
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: add npm README and homepage/bugs links to package.json
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: require .sdk-version marker for cache trust, add xcrun timeout
- Skip auto-build cache if .sdk-version marker is missing (interrupted build)
- Add 5s timeout to xcrun to prevent hang on pending Xcode license
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: remove duplicate installedSdk, add encoding to execFile, remove dead cache check
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: read .sdk-version file content instead of parsing xctestrun filename for cache
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: let ensureSimulatorAgent handle iOS xctestrun resolution in CI
The E2E workflow was manually resolving the xctestrun path and passing
it via TAPSMITH_IOS_XCTESTRUN, bypassing ensureSimulatorAgent() and
its SDK mismatch detection. Now the CI build artifact is staged into
the auto-build cache (~/.tapsmith/ios-simulator-agent/) with an SDK
version marker, and the resolver picks it up naturally.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Revert "fix: let ensureSimulatorAgent handle iOS xctestrun resolution in CI"
This reverts commit c25ef8aa460a03b64ab9196424a743ce6a882552.
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>