Final-head addendum: reviewed head is [7a5fcf45e1](https://git.cafe/pingdotgg/t3code/commit/7a5fcf45e1f6df8fd5b1b1c42545ed76c9135b2f), against [4619c0bca6](https://git.cafe/pingdotgg/t3code/commit/4619c0bca6a385e53f3479e4e52a9cdf2d12ff62). The final correction retries the guarded late-directory seed after repository lookup completes (success, error, or cancellation). N7 must include config arriving during lookup, with untouched and edited destinations. Both final code reviewers returned MERGE. Native N0–N9 remain unverified with zero captures/assertions: cannot-verify ios-swift. Earlier head references below are historical audit provenance; no native proof was delivered for either head.

# Issue 16507 — evidence index

Issue: [#16507](https://git.cafe/pingdotgg/t3code/issues/16507).
Worktree: `/home/ubuntu/wt/issue-16507`.
Final head: [d3be7b9378](https://git.cafe/pingdotgg/t3code/commit/d3be7b93785ccd1227374f6daf6f2222e8dcf896).
Base: `origin/t3code/rebuild-mobile-app-swift`, [4619c0bca6](https://git.cafe/pingdotgg/t3code/commit/4619c0bca6).
Environment: Linux 6.1.102 x86_64; neither `swift` nor `xcodebuild` is on PATH; no usable iOS simulator. Native device/iOS version, viewport, theme and native build identity: unavailable. Budget ceiling: 120 minutes; impossible native paths stopped immediately.

## Evidence boundary

Native captures: **0**. Native executable assertions: **0**. All N0–N9 rows remain **UNVERIFIED — cannot-verify ios-swift**. No screenshot, recording, native build success, visual result or native interaction is claimed. Expected behavior below is source-derived only. No RN/EAS substitute was used.

The user's explicit Swift exception allows a PR carrying `cannot-verify ios-swift`; it does not establish native acceptance. This evidence step made no source changes, ran no tests, started no servers or browsers, and made no PR writes. No fixture or native seeding was committed or executed: native fixtures still need preparation on authorized macOS/iOS infrastructure. No private data is included in the newly uploaded artifacts.

## Artifact index and provenance

- [Pre-final proof matrix](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/d33c48f32410f970/16507-matrix.md): detailed fixtures and N0–N9 capture requirements. It audits the first commit, so its N7 timing concern and old head/budget are superseded here; it is not final-head execution proof.
- [Existing host/server transcript](https://gh-file-drop-api-prod-mi5fy3sowv63ufte.pinglabs.workers.dev/f/df1d2d919c96e972/16507-runtime.log): supplied by the lead, attributed to main [b5a226e49c](https://git.cafe/pingdotgg/t3code/commit/b5a226e49c). The log contains no embedded revision/time stamp. It shows the configured absolute setting, home browse and configured-directory browse only. It does not prove this Swift head, automatic path selection, child navigation, clone behavior, environment switching or delayed config.
- Native-check log: `/tmp/16507-native-check.log`; exact content: `[swift-ios-ci] error: missing required command: xcodebuild`. Its public URL is returned alongside this index. This is a prerequisite failure, not a compilation result.

## Row-by-row status

| Row | Scope / source-derived expectation | Captures | Status |
|---|---|---:|---|
| S0 | Existing server log exposes the config key and two browse results; server semantics unchanged by this patch. | 0 native; existing text log only | Reviewed, limited server-only evidence on main; not native-head proof. |
| N0 | Optional settings decoding and per-environment mapping preserve the value; legacy/missing/null remain compatible. | 0 | UNVERIFIED — cannot-verify ios-swift; no executable assertions. |
| N1 | Folder starts at trimmed configured base with directory slash semantics; navigation selects the chosen folder. | 0 | UNVERIFIED — cannot-verify ios-swift. |
| N2 | Missing/null/empty/whitespace settings fall back to home in Folder and Clone. | 0 | UNVERIFIED — cannot-verify ios-swift. |
| N3 | Clone derives destination from configured/current base as repository input changes. | 0 | UNVERIFIED — cannot-verify ios-swift. |
| N4 | Preseeded clonePrompt input derives its destination during sheet reset. | 0 | UNVERIFIED — cannot-verify ios-swift. |
| N5 | Manual paths survive suggestions and late config; explicit browsing ends automatic reseeding. | 0 | UNVERIFIED — cannot-verify ios-swift. |
| N6 | Environment switching resets to that environment's base; stale browse results remain isolated. | 0 | UNVERIFIED — cannot-verify ios-swift. |
| N7 | Final commit follows late same-environment config only while seeded paths remain untouched and no clone/submission is active. | 0 | UNVERIFIED — cannot-verify ios-swift; final correction source-reviewed, timing/retention not executed. |
| N8 | Sidebar, NewTask, palette, empty-project and clonePrompt routes share the native sheet. | 0 | UNVERIFIED — cannot-verify ios-swift. |
| N9 | Missing configured directory exposes browse error/recovery; New remains based on newProjectsRoot. | 0 | UNVERIFIED — cannot-verify ios-swift. |

## Final second-commit correction

The first commit [371bb822b0](https://git.cafe/pingdotgg/t3code/commit/371bb822b06546f970c82ab28d37c787f8da4bd0) seeded the configured base. The final second commit [d3be7b9378](https://git.cafe/pingdotgg/t3code/commit/d3be7b93785ccd1227374f6daf6f2222e8dcf896) addresses late config by tracking the seed's environment ID and path, observing changes to the derived configured base, and reseeding only when localPath still equals that seed, destination is unedited, and no submission/clone is active. Explicit browse selection clears the seed. It also recalculates the clone suffix and requests the new directory without selecting it.

This explains the intended fix for the matrix's N7 concern, as read in [AddProjectView.swift at final head](https://git.cafe/pingdotgg/t3code/blob/d3be7b93785ccd1227374f6daf6f2222e8dcf896/apps/swift-ios/Features/Workspace/AddProjectView.swift). It is not proof of compilation, race ordering, edit retention or visible behavior. Continuous native recordings and the N0 executable checks remain outstanding.

## FRICTION

| category | concrete limitation | consequence / next proof |
|---|---|---|
| platform | Linux lacks Swift, xcodebuild and a usable iOS simulator; native-check stops at missing xcodebuild. | cannot-verify ios-swift for N0–N9; run on authorized macOS/iOS infrastructure. No RN/EAS substitution. |
| proof provenance | Existing server log is attributed to main by the brief and has no embedded revision/time stamp. | Keep server evidence separate from Swift-head acceptance; stamp future runtime evidence. |
| timing coverage | Final late-config guard is source-reviewed only. | Record config arrival, unedited reseed and edited-path retention continuously for N7, plus N5/N6 ordering. |
| fixture readiness | No native fixture/seeding execution or committed fixture exists. | Prepare isolated disposable A/B environments before native verification; never use live userdata. |
| operational brief | `/home/ubuntu/t3code-ops/docs/EVIDENCE.md` is absent. | No external category vocabulary could be validated; retain the matrix's existing applicable FRICTION categories and explicitly identify fixture readiness. |
