# Follow-up proof freshness audit — PASS (local source and scoped host evidence)

Independent read-only audit of [#24263](https://git.cafe/pingdotgg/t3code/pulls/24263), local head [b860b56](https://github.com/pingdotgg/t3code/commit/b860b56a99d41f071561af98de60228280283d09), prior measured head [6fc097e](https://github.com/pingdotgg/t3code/commit/6fc097e420b550849c74c780e746b6c0624b6a56), supplied baseline [26c3625](https://github.com/pingdotgg/t3code/commit/26c3625f484eadd4d5b6ca5a3dd1f8f8bd5533b4). No confirmed source blocker found in the follow-up delta. This is evidence applicability approval, not merge authorization or native release validation.

## Revision identity and publication caveat

Local HEAD is exactly `b860b56a99d41f071561af98de60228280283d09`; the checkout was clean before and after checks. The supplied baseline is an ancestor and is the merge base with the locally cached origin/main. The entire Git tree delta from the measured revision contains exactly one file: `apps/mobile/scripts/test-enriched-markdown-native.mjs` (10 inserted / 5 removed lines). Thus production markdownDocument, EnrichedMarkdownText, native patch, dependency archive, package/lock/workspace configuration, native harness body and all tests are byte-identical. Explicit file hashes are in follow-up-source-checks.json.

**Live forge freshness differs from local source freshness.** During this audit, `cafe pr view` reported head `6fc097e420b550849c74c780e746b6c0624b6a56` and observed base `26c3625f484eadd4d5b6ca5a3dd1f8f8bd5533b4`. `git ls-remote origin` independently reported the branch at that same older head, and remote main at [5b55036](https://git.cafe/pingdotgg/t3code/commit/5b55036f8cf6090c83f835348525248e1f14b3b9). Therefore b860b56 was not the published origin tip at observation; do not label older green CI as b860b56 validation. The supplied baseline is correct for the archived comparison, but is no longer live main. No fetch, integration with that newer main, or latest-main merge-readiness claim was made. Parent must reconcile publication/base state separately.

## Why the prior evidence still applies

Downloaded the published synthetic evidence bundle and verified **1,043 SHA-256 entries**, all **15 source-manifest entries against Git objects**, baseline/current markdown modules, and installed native cache/coordinator source bytes against the archived dependency sources. Reconstructed both archived portable C++ test inputs from the pinned header bodies and original harness templates, including the current native cache test body. The complete HTML normalization implementation still matches the supplied baseline; the production file-link regex module is unchanged.

The earlier 40,225 comparisons are archived evidence, not newly replayed comparisons here: 4,574 + 6,176 + 29,475, with zero recorded differences. Source identity makes those results applicable to production at b860b56. Raw recorded stream samples independently agree with the reported medians: 27 updates, 81→54 parser passes, 2,896.152→1,632.552 ms. These are retained host measurements, not fresh timings, phone latency, or a performance guarantee. The changed developer wrapper does not participate in those production paths or benchmark transforms. No unchanged full benchmark was rerun.

## Fresh independent verification

- **29 focused tests passed**, across markdownInlineFileLinks, markdownHtml and markdownTableBreaks, using the bundle's isolated focused Vite config. No source changes or timing assertion tests were added. Reviewed the focused tests/native harness for wall-clock/sleep assertions; none found.
- **13 wrapper argument cases passed** against the actual current wrapper text in a VM with HostProcess/filesystem/compiler/executable stubs. Six valid combinations cover default/custom dependency with all/cache/coordinator; six invalid combinations reject duplicate modes, unknown explicit mode and excess arguments before compiler invocation; a relative sole dependency path is resolved correctly. Assertions check selected dependency, executable mode forwarding, compiler dispatch and cleanup. Only import declarations and import.meta.url are adapted for the VM. This proves wrapper routing with stubs; it does **not** compile or execute Foundation/ObjC++.
- **4,872 fresh exact-output comparisons, zero differences**, comparing current production preprocessing against the actual supplied-baseline old pipeline. Ten quote/list/tab container prefixes × LF/CRLF/CR × three cells (plain, file link and escaped-pipe file link), including every UTF-16 streaming prefix. These are generated narrow fixtures, not exhaustive grammar coverage.
- **45 actual table AST positions checked**, with computed line starts matching source line boundaries. Other generated cases do not parse as tables and are still covered by output comparison.

The bot's tab-column objection is false for the installed micromark **4.0.2**. Its lib/create-tokenizer.js consume branch increments both column and offset for real codes, while code `-1` (virtual space) increments neither; CRLF consumes two offsets and resets column. Actual installed unified/remark AST results: `>\tIntro\n>\t| a | b |...` table starts at line 2, column 3, offset 10, yielding lineStart 8. Nested `>\t>\t` starts at line 2, column 5, offset 14, yielding lineStart 10. Both equal the real line boundary. Current and baseline output match for the generated tab fixtures above. No proposed column adjustment is warranted for this finding.

## Limits retained explicitly

**UNVERIFIED:** iOS native cache/Objective-C++ harness execution, Foundation runtime, device rendering/layout/native memory, and Android rendering. This Linux audit launched no browser, server, emulator or device.

The earlier cache evidence is a **narrow portable C++ host proof** of actual extracted cache methods, with CGFloat replaced by double and private state exposed: 269,246,464→8,388,288 accounted key bytes, 512→8 entries. It is not iOS heap/RSS or device proof. Pending queue evidence remains **HOST MODEL ONLY**, not native execution: burst modeled captured source bytes 134,479,872→524,288, final revision 512 applies. Completed main-queue apply captures may accumulate when the main queue stalls; there is **no global two-revision bound**. Archived JS logical stage-byte counts likewise are not physical heap/liveness measurements.

## Reproduction and friction

All new artifacts are outside Git under `/tmp/takeover-24263`: `follow-up-proof.mjs`, `follow-up-proof-results.json`, `follow-up-source-proof.py`, `follow-up-source-checks.json`, and this addendum. Run the scripts from the source checkout with Node/Python; the synthetic bundle must be extracted into `evidence/`. Test command: `vp test run --config /tmp/takeover-24263/evidence/focused.config.mjs` from apps/mobile. The proof script writes only scratch module copies and result JSON; the source proof reads Git/source/evidence only.

FRICTION: remote main advanced and the published branch still lagged local HEAD; these limit publication/merge claims, not the demonstrated production byte identity. The VM initially rejected import.meta outside module context; replacing only that URL expression allowed the stub verification to run. No native facilities were available or invoked. No edits, commits, pushes, comments, merges, subagents, userdata access, or full benchmark rerun. PR registration in this T3 thread and read-only forge/ref queries were the only app/forge interactions. Parent owns uploads and PR body updates.

Audited by gpt-6.1-sol through the Codex harness in T3 Code.

## Parent final integration check

After this independent audit, the lead merged main [d31269e](https://git.cafe/pingdotgg/t3code/commit/d31269e46b) by merge commit [42a0cf3](https://git.cafe/pingdotgg/t3code/commit/42a0cf350f568e431e8884b9440a158df21875c9). The merge was conflict-free. `git diff b860b56a99d41f071561af98de60228280283d09 HEAD -- apps/mobile patches pnpm-lock.yaml pnpm-workspace.yaml` is empty: all PR production code, tests, native sources and dependency configuration remain byte-identical to the reviewed follow-up. Changes inherited from main concern server/browser and shared thread state. This integration check is by the parent, not an additional independent audit.
