# Native evidence continuation for issue 24459

Status at 2026-10-24T23:27:40.419982+00:00: no native UI evidence captured. This is a build-attempt report, not a native verification pass.

Source head 7a347b85feac4d17da80b8e1ed7b760988307f9b; base eea989536849e5b5049987ee24318b5a77326542. Head worktree /home/ubuntu/wt/issue-24459 remains clean. No code edit, push, PR, merge, forge comment, real agent turn, or live-userdata access occurred.

Read the full eas-simulator skill and run-your-app reference. Used npx --yes eas-cli@latest. Availability true for pingdotgg; authenticated robot account. No compatible existing dev build was assumed. No arbitrary release app was installed.

## Actual build work

An external copy made with git archive HEAD at /tmp/issue-24459-native-build received only a build-profile configuration: issue24459-sim extends development, developmentClient true inherited, ios.simulator true, environment development. EAS_NO_VCS=1 EAS_PROJECT_ROOT=/tmp/issue-24459-native-build ensured the full monorepo archive. No source implementation changed. First incomplete submission was interrupted before build creation to correct its archive root.

[First build](https://expo.dev/accounts/pingdotgg/projects/t3-code/builds/e843d1ba-8eb5-4d13-b5c4-93570870d01e) failed with XCODE_BUILD_ERROR. Xcode requested arm64 and x86_64 simulator architectures, but the vendored GhosttyKit has only an arm64 simulator slice. CocoaPods reported no matching slice; Swift then failed to resolve GhosttyKit in T3TerminalNative. The framework and 24 MB simulator archive are present in both the checkout and submitted source copy; this is not an LFS-pointer or missing-file assumption. First fingerprint: 05aee2006aff391c5bbfe1e0703d4f9730dd3ea2.

[Arm64 retry](https://expo.dev/accounts/pingdotgg/projects/t3-code/builds/cf21ef7a-f30e-4b94-a117-9e78642dc736) adds only GYM_XCARGS=ARCHS=arm64 ONLY_ACTIVE_ARCH=YES to that external build profile. The same flags appear in scripts/mobile-showcase.ts. Fastlane's detected xcargs and actual xcodebuild command confirm they were applied. Retry uses EAS_SKIP_AUTO_FINGERPRINT=1; no matching fingerprint claim is made for it. Last observed status: **IN_PROGRESS**, updated 2026-10-24T23:20:10.565Z. The remote build is deliberately retained to finish, with no watcher/poller left running. Check/reuse this build rather than submitting duplicate native work.

## Native rows

| Row | Requested proof | Outcome |
|---|---|---|
| V4 | Cold new-task before thread creation; existing composer; model select/options/lock; paired base/head light/dark | UNVERIFIED |
| V5 | Project A to B to A; existing root/worktree isolation; paired themes/revisions | UNVERIFIED |
| V6 | Manage hidden in new-task and existing owners; hide, omission, unhide, restoration, B absence, lock | UNVERIFIED |
| Capture | Four native recordings; UTC steps; three raw settled stills per checkpoint | NOT CAPTURED |
| Metrics | Adjacent diff0 and threshold; paired base/head comparison | NOT RUN: no native stills |
| Size | Prefer 390 logical points, otherwise disclose actual dimensions | UNVERIFIED: no device allocated |

## Runtime preparation and cleanup

Owned backend session 48230 ran T3CODE_PORT_OFFSET=17 vp run dev against the worktree's isolated .t3: backend 13790, web 5750. Owned Metro session 13967 used APP_VARIANT=development EXPO_UNSTABLE_TUNNEL_V2=1 npx expo start --dev-client --tunnel --port 8087. The Expo on.expo.app transport was verified in the manifest. Head iOS bundle compiled successfully (4477 modules, 80937 ms initial compile). No dev client connected, so this is bundle-preparation evidence only.

A base Metro preparation on 8088 (session 72795) failed with ENOSPC due to the host inotify watch limit. It exited. No global watch-limit changes were made. Head/base native config, mobile package.json, lockfile, native directory, and native modules have no diff, but no paired native run occurred.

Stopped owned head Metro and backend by Ctrl+C in their captured sessions; both exited 130. Confirmed ports 5750, 13790, 8087 and 8088 are closed. Existing port 3773 and unrelated OpenCode process were untouched. No EAS simulator session was allocated, no egress client started, and no session dotenv was created. No native fixture thread was created. No live userdata was opened. Pairing credentials and tunnel/controller details are excluded from this public package.

## FRICTION

- First build failed on the actual GhosttyKit architecture mismatch; arm64 retry still needs completion and native launch verification.
- Both EAS uploads reported metadata HTTP 400, while source archives uploaded and builds were accepted.
- Initial EAS no-VCS archive root needed correction; interrupted before build submission.
- Concurrent base Metro hit ENOSPC; future capture should run Metro sequentially.
- A final status query from repository root failed because it was not the Expo project directory and generated an empty root app.json. That generated file was inspected and removed; final git status is clean. Retry from apps/mobile succeeded.
- Build time consumed the capture budget. Missing client was treated as a build step, and two remote builds were actually submitted. No native pass or performance claim is made.
