Agentic AI Atlasby a5c.ai
OverviewWikiGraphFor AgentsEdgesSearchWorkspace
/
GitHubDocsDiscord
iiRecord
Agentic AI Atlas · t3code upstream patch inventory (WP-T3-32 stage 1)
page:docs-specs-platform-gaps-phase0-t3code-patches-inventorya5c.ai
Search record views/
Record · tabs

Available views

II.Record viewspp. 1 - 1
overviewarticlejsongraph
III.Related pagespp. 1 - 1
II.
Page reference

page:docs-specs-platform-gaps-phase0-t3code-patches-inventory

Reading · 6 min

t3code upstream patch inventory (WP-T3-32 stage 1) reference

Source: the read-only t3code snapshot at commit de251fc2971a884cb5b1305ba4daf309dc8cccb0 (MIT, T3 Tools Inc. — intent D15), patches/ directory (23 files) as wired by pnpm-workspace.yaml patchedDependencies (lines 182–205 of the snapshot). Every patch was read hunk by hunk; the "purpose" column is derived from the hunks and the upstream comments they carry, not from commit messages. "Consumers" is the set of t3code workspaces whose package.json declares the package (transitive-only packages say so).

Pagewiki/docs/specs/platform-gaps/phase0/t3code-patches-inventory.mdOutgoing · 0Incoming · 1

t3code upstream patch inventory (WP-T3-32 stage 1)

Source: the read-only t3code snapshot at commit de251fc2971a884cb5b1305ba4daf309dc8cccb0 (MIT, T3 Tools Inc. — intent D15), patches/ directory (23 files) as wired by pnpm-workspace.yaml patchedDependencies (lines 182–205 of the snapshot). Every patch was read hunk by hunk; the "purpose" column is derived from the hunks and the upstream comments they carry, not from commit messages. "Consumers" is the set of t3code workspaces whose package.json declares the package (transitive-only packages say so).

Decision key:

  • **PORTED** — carried into fabric under patches/ (patch-package format) and applied on postinstall.
  • **DROPPED-mobile-only** — every consumer is t3:apps/mobile, which intent D13 excludes from adoption; nothing in fabric will ever install the package.
  • **DROPPED-toolchain** — the patch exists only to serve the pnpm/vite-plus toolchain that spec 10 §2 (B5 exclusion list) and WP-T3-32 stage 2 replace; porting it would break the package under fabric's stock toolchain.
  • **DEFERRED-stage-2** — the package is consumed by a unit that lands in a later WP (server, web, desktop); the patch is re-evaluated when that unit lands, against whatever version of the package is current then.

Counts

DecisionCount
PORTED1 (effect)
DROPPED-toolchain1 (@effect/vitest)
DROPPED-mobile-only**17**
DEFERRED-stage-24 (@ff-labs/fff-node, dbus-next, @legendapp/list, @pierre/diffs)
Total23

The WP-T3-32 brief says "19 mobile-only". Reading the consumers gives **17**: @legendapp/list and @pierre/diffs are declared by t3:apps/web as well as t3:apps/mobile (apps/web/package.json), and their hunks touch web-relevant entrypoints (react.js, react-native.web.js; dist/components/VirtualizedFile.js, dist/react/utils/useFileInstance.js), so they are not mobile-only and are deferred to the console-web landing (WP-T3-25) instead of dropped.

Inventory

#Upstream patch fileTargetConsumers (t3code)Purpose (from the hunks)Decision
1@clerk__expo@4.6.8.patch@clerk/expo@4.6.8apps/mobileiOS Swift: Clerk auth/profile native views take the theme page background, pre-glass solid nav bar, and pop the enclosing React Navigation route natively on backDROPPED-mobile-only (Clerk is also excluded outright, spec 10 §2 row 10)
2@effect__vitest@4.0.0-rc.115.patch@effect/vitest@4.0.0-rc.115every workspace (13)Rewrites every import … from "vitest" / export * from "vitest" in dist/ and src/ to vite-plus/test so the package runs under Voidzero's vite-plus test runner; no behavioural changeDROPPED-toolchain — fabric runs stock vitest, where the unpatched package's vitest imports are exactly right; scripts/ci/effect-baseline.test.mjs pins that the installed package imports vitest and never vite-plus (see docs/EFFECT-BASELINE.md §3)
3@expo__metro-config@57.0.12.patch@expo/metro-config@57.0.12transitive of expo (apps/mobile only)Metro source-map serializer: strip Hermes segments that reference generated lines Metro never emitted so @jridgewell/remapping does not throwDROPPED-mobile-only
4@ff-labs__fff-node@0.9.4.patch@ff-labs/fff-node@0.9.4apps/serverResolve the native binary through app.asar.unpacked when packaged in Electron; add require and reorder types in the exports mapDEFERRED-stage-2 (rides WP-T3-19 apps/environment; re-check against the then-current fff-node)
5@legendapp__list@3.3.5.patch@legendapp/list@3.3.5apps/mobile, apps/webLarge keyboard/inset rework of the virtualized list (useKeyboardChatComposerInset, contentInsetStartAdjustment, safe-area-net anchored blank, reanimated timing), 12 files incl. react.js and react-native.web.*DEFERRED-stage-2 (web consumer; evaluate at WP-T3-25)
6@pierre%2Fdiffs@1.3.0-beta.10.patch@pierre/diffs@1.3.0-beta.10apps/mobile, apps/webDiff renderer: applyDocumentChange(..., startLine) keeps unchanged wrapped-row heights, code-width change invalidates the layout cache, ResizeManager.onResize hook, token transformer on by default, worker cache eviction on file change, extra exports subpaths (./types, ./utils/*)DEFERRED-stage-2 (web consumer; evaluate at WP-T3-25)
7@react-native-ai__apple@0.12.0.patch@react-native-ai/apple@0.12.0apps/mobileiOS Swift transcription: locale support/asset-installation errors, invalid-audio rejection, temp-file cleanup, collected timed segmentsDROPPED-mobile-only
8@react-native-menu__menu@2.0.0.patch@react-native-menu/menu@2.0.0apps/mobileiOS menu: onMenuInteractionStart event on old and new architecture, nested sub-sub-actions, presented-guard flushDROPPED-mobile-only
9@react-navigation%2Fnative-stack@7.17.6.patch@react-navigation/native-stack@7.17.6apps/mobileEmit finishTransitioning to every route (modal dismiss), unstable_header{Center,Right,Toolbar}Items, mailSearchToolbar item type, header subtitle/navigation-item styleDROPPED-mobile-only
10dbus-next@0.10.2.patchdbus-next@0.10.2apps/desktopDrop the optional usocket dependency: connect to Unix path and abstract sockets with net.createConnection (no FD passing needed); deletes CHANGELOG.mdDEFERRED-stage-2 (rides WP-T3-26 console-desktop)
11effect@4.0.0-rc.115.patcheffect@4.0.0-rc.115every workspace(a) unstable/rpc/RpcClient: new RequestHooks service (onRequestStart/Chunk/Exit/Interrupt), ConnectionHooks.onPing/onPong/onPingTimeout, pinger tolerates 3 missed pongs before timeout, onPong becomes an Effect; (b) unstable/http/HttpClientResponse: cookies tolerates a headers object without getSetCookie (getSetCookie?.() ?? [], dist + src); (c) unstable/ai/McpServer: HTTP DELETE <path> ends the MCP session (400 no header / 404 unknown / 204) instead of 405**PORTED** → patches/effect+4.0.0-rc.115.patch (5 files, 23 hunks, bodies byte-identical to upstream; only the a//b/ prefixes gained node_modules/effect/)
12expo-audio@57.0.4.patchexpo-audio@57.0.4apps/mobileiOS: didFinish(successfully:) reports .error / hasError when the recorder fails instead of always "stopped"DROPPED-mobile-only
13expo-modules-core@57.0.14.patchexpo-modules-core@57.0.14transitive of expo (apps/mobile only)iOS: @synchronized around the permissions-requester mapsDROPPED-mobile-only
14expo-notifications@57.0.15.patchexpo-notifications@57.0.15apps/mobile (t3code)iOS: lock-protected delegate list and pending-response buffer so overlapping React runtimes do not lose notification responsesDROPPED-mobile-only. Note: fabric's root dependencies carries expo-notifications ^55.0.23 for its own packages/genty/mobile-* shells (spec 15 §3.2 retirement list); the t3code patch targets 57.0.15 and is not applicable to that line
15expo-sharing@57.0.17.patchexpo-sharing@57.0.17apps/mobileAndroid share-intent parser: text + stream payloads together, originalName from DISPLAY_NAME (blank stays null); types updatedDROPPED-mobile-only
16expo-widgets@57.0.15.patchexpo-widgets@57.0.15apps/mobileiOS WidgetKit: widgetRenderingMode and isLiquidGlassAvailable (iOS 26) in the environment, live-activity sections read the environment inside the rendered viewDROPPED-mobile-only
17react-native-gesture-handler@2.32.0.patchreact-native-gesture-handler@2.32.0apps/mobileSwipeable: failOffsetY, onSwipeableRelease (UI-thread full-swipe commit); iOS hover handler removes the pointer interaction before Fabric recycles the viewDROPPED-mobile-only
18react-native-keyboard-controller@1.21.13.patchreact-native-keyboard-controller@1.21.13apps/mobileKeyboardChatScrollView: report presentation height / effective bottom padding (onContentInsetChange, adjustedInsetCompensation, adjustedStartInsetCompensation) for virtualized-list scroll math on iOSDROPPED-mobile-only
19react-native-nitro-markdown@0.5.8.patchreact-native-nitro-markdown@0.5.8apps/mobilemd4c autolinks: single-label hosts (localhost), ports, wider path/query charset, trailing punctuation left outside the link (upstream comment in pnpm-workspace.yaml)DROPPED-mobile-only
20react-native-nitro-modules@0.35.9.patchreact-native-nitro-modules@0.35.9apps/mobilepackage.json codegen config: iOS modulesProvider entryDROPPED-mobile-only
21react-native-reanimated@4.5.5.patchreact-native-reanimated@4.5.5apps/mobileLayout animations: isExitingWhenSettled so a settled animation keeps its final frame unless the view is being removed (backport of software-mansion/react-native-reanimated#10171, per the upstream comment)DROPPED-mobile-only
22react-native-screens@4.26.2.patchreact-native-screens@4.26.2apps/mobileiOS 26 glass-chrome header props (bar-button items, menus, subtitle, navigation-item style) with Android no-op setters so codegen compiles; 12 files, 78 hunksDROPPED-mobile-only
23uniwind@1.11.0.patchuniwind@1.11.0apps/mobileTailwind-for-RN CSS processor: Tailwind ≥4.3.3 flat variant selectors, media queries surviving sibling-rule resets, data-* attribute variants; metro transformerDROPPED-mobile-only

Cross-checks

  • Names in this table are exactly the 23 keys of the snapshot's patchedDependencies block; scripts/ci/effect-baseline.test.mjs asserts every one of them appears here (test 4), so the inventory cannot drift from the upstream list without a reviewed edit.
  • t3:apps/web does not declare react-native, expo or any react-native-* package (grep -n react-native apps/web/package.json → none), which is what makes rows 3, 7–9, 12–13, 15–23 mobile-only.
  • Row 14 is the only upstream patch whose target package also exists in fabric today, on a different major (expo-notifications ^55 at the fabric root); it is not applied because the patch is written against 57.0.15 and the consumer is the retired mobile shell line.

Article source

The article body is owned directly by this record.

Related pages

No related wiki pages for this record.

Shortcuts

Open overview
Open JSON
Open graph