Skip to content

feat(server): validate Riftri storage against updated T3 - #2

Open
Kinfe123 wants to merge 2 commits into
verify/upstream-30cc7889from
test/riftri-upstream-compatibility
Open

Kinfe123 wants to merge 2 commits into
verify/upstream-30cc7889from
test/riftri-upstream-compatibility

Conversation

@Kinfe123

@Kinfe123 Kinfe123 commented Oct 8, 2026 •

Copy link
Copy Markdown
Member

Purpose

Fork-only verification of the Riftri integration against T3 revision 30cc788975500a8c00d32a50f348174d1ce578d1. This PR targets farming-labs/t3code:verify/upstream-30cc7889, not the upstream repository or this fork's main. The separate base keeps the comparison focused on Riftri instead of including 76 unrelated upstream commits.

The earlier integration was merged in this fork's #1. Its green CI does not prove compatibility with this newer base; this PR reruns the complete checks and artifact tests.

Changes

  • T3's shared Git driver automatically calls bundled riftri@0.6.3 for supported worktree creation. Agents receive ordinary Git linked worktrees; no prompt, skill, shell hook, or global Git replacement is required. Independently executed terminal Git commands are unchanged.
  • Keep auto, explicit git, and strict riftri storage modes. Ordinary-Git fallback is allowed only before mutation for supported policy refusals or remote-branch guessing. Failed or uncertain native mutations remain fail-closed.
  • Preserve native ownership, dirty-file protection, journaled removal/prune, and Linux startup mount recovery with workspace-scoped blocking.
  • Preserve this T3 revision's Windows Git long-path configuration and its protection for untracked files hidden by status.showUntrackedFiles=no. Add the hidden-file regression to the real native lifecycle test too.
  • Keep legacy GitManager fixtures on ordinary Git so their temporary-directory cleanup does not delete immutable native bases. Dedicated native fixtures exercise the actual Riftri lifecycle and garbage collection.
  • Keep published native dependencies on disk in Node, standalone CLI, and desktop archives.
  • Isolate fork runner substitutions in a separate CI commit. Add GitManager coverage to both real-filesystem jobs. Publishing/deployment workflows remain disabled.

Verification before opening

Local checks on integration commit 9d28a278e9a787564e3022ca2ff42722dec871ee passed:

  • 137 Git driver tests; 119 GitManager tests and 12 project-contract tests.
  • Released-binary lifecycle, branch/reference compatibility, hidden-untracked-file and dirty-worktree protection, startup/workspace/provider/terminal guards, and packaged resolver checks.
  • Targeted typechecking and formatting. Lint has no errors; existing warnings remain.
  • A fresh physical-allocation benchmark through the real T3 driver on a dedicated APFS image, including the cold immutable base, clean Git state, exact HEAD, private-write isolation, removal, and GC.

The fixture is three worktrees containing a 32 MiB incompressible payload plus 257 text files. Ordinary Git allocated 107,487,232 bytes; Riftri allocated 36,171,776 bytes: 66.35% less physical storage. These are tracked-file savings, not shared dependency installs or build caches.

Creation was slower, not faster: Git took 308/280/323 ms versus Riftri 927/636/645 ms for cold/cached/cached creation. These are single-run measurements, not latency guarantees.

Verified CI evidence

All 19 jobs passed on the exact PR head 06d16d94dd91cee4802efc52358a0420d1ceab57: CI run. No repository-wide checks were run locally.

  • Full lint, typechecking, web tests, all six server shards, workspace tests, Rust, mobile static analysis, release smoke, transfer-report validation, and the required aggregate check passed.
  • Both real-filesystem jobs passed 164 tests, including all 119 GitManager tests. The complete-archive case is skipped in those jobs and runs separately in the Build job against the actual archive.
  • The previously unavailable local dependency-closure check passed with the canonical CI pnpm installation: all 20 cli-external-packages tests passed.
  • The complete unsigned Linux desktop archive built without publishing; Electron loaded its server and executed its own unpacked Riftri dependency outside the checkout.
  • The standalone Linux CLI archive built and started in a disposable home with Node absent from PATH. Its version check and HTTP startup smoke test passed. No live T3 userdata was used.
  • APFS and OverlayFS allocation reports are uploaded as artifacts on the linked run. Native checks cover clean Git state, exact HEAD, private-write isolation, dirty/hidden-file refusal, cleanup, and GC; Linux also exercises mount recovery and unsafe-workspace isolation.

Fresh CI measurements use the same three-view fixture, including the cold base:

Backend Ordinary Git bytes Riftri bytes Less physical allocation
APFS 107,433,984 36,212,736 66.29%
OverlayFS 107,216,896 36,036,608 66.39%

Creation remained slower. APFS Git/Riftri times were 192/183/182 ms versus 611/332/357 ms; Linux times were 89/71/69 ms versus 366/291/203 ms. These are single-run diagnostics, not speedup claims.

The real-filesystem integration matrix covers APFS and OverlayFS, not a T3-on-ReFS end-to-end claim. The verified product/source tree matches feat/riftri-upstream-ready; the verification branch differs only in its CI workflow. No upstream PR or merge is requested here.

Model: GPT-5. Harness: Codex.

Kinfe123 and others added 2 commits October 8, 2026 02:02
Use native copy-on-write worktrees with fail-closed lifecycle handling, workspace-scoped Linux recovery, published Riftri packaging, and real-filesystem and artifact verification.
@Kinfe123
Kinfe123 marked this pull request as ready for review October 8, 2026 09:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant