Skip to content

docs: every engine change we carry, with its upstream PR - #144

Merged
jayleaton merged 1 commit into
mainfrom
chore/upstream-engine-patches
Oct 31, 2026
Merged

jayleaton merged 1 commit into
mainfrom
chore/upstream-engine-patches

Conversation

@jayleaton

Copy link
Copy Markdown
Owner

Summary

Every engine-level change LocalRouter carries against the TensorFold engines now has an upstream pull request, or a recorded reason why it has none. docs/dev/UPSTREAM.md is the standing list. A new rule in CONTRIBUTING.md says any new engine-level patch gets an entry there and an upstream PR.

docs/dev/UPSTREAM.md   new: the audit and its status table (11 entries)
CONTRIBUTING.md        + "Upstream engine changes": entry + upstream PR for every new engine-level change
Change we carry Upstream PR Tested
Drama 3 voice prefix cache, CUDA full model (patches/engine/) ashhart/TensorFold#1745 Host tests over a fake lane. Linux CUDA host and macOS Metal builds pass. No CUDA run (none here); the PR cites our DGX-01 numbers for the earlier patch.
Drama 3 voice prefix cache, CUDA NVFP4 (patches/engine-nvfp4/) already proposed by someone else: plotarmordev/TensorFold#4 none opened (it would duplicate #4)
Launchers: --external-admission, plus --reserve-gib on the Linux launcher plotarmordev/drama-tensorfold#35 Unit and macOS smoke tests, and the real NVFP4 Metal engine on this Mac: main refused at 47.7 GiB free, the branch was ready in 5.6 s and served speech.
macOS launcher: --parent-pid plotarmordev/drama-tensorfold#36 Smoke tests with a real orphaning parent, and the real engine: it stopped cleanly when its supervisor exited.
Launchers under python3 -I plotarmordev/drama-tensorfold#37 Fails on main, passes on the branch; the real engine ran under -I.
Streamed reasoning_content trailing newline (a qualification exception) ashhart/TensorFold#1743 Qwen3.8-27B on Metal on this Mac: the stream went from 599 to 598 bytes (and 352 to 351), equal to the whole reply.
graph.endCapture leaves the capture scope open (caller-side captureEnd) ashhart/TensorFold#1744 A fake-driver test fails on main. Linux build passes. No CUDA run.
CLIP Lowercase normalizer not opened: no upstream model uses it (dead code by their rules) none
Chat pinned to 1.1.1 on GB10 none: a pin choice, no code none
cuBLASLt and driver identity (G1/G3) not upstreamable: our attestation policy none
NVFP4 kernels from v0.6.1 not upstreamable: unmodified copies of a frozen line none

Upstream's own series, pinned by hash in pins.json (59 patches) and pins-macos.json (5), are drama-tensorfold's own files. All 64 sha256s match upstream, so they are skipped, as is apps/mobile's react-native patch.

Evidence

  • Before: no list of what we carry against upstream, and no upstream PR for any of it.
    After: six upstream PRs open and linked above, and each entry in docs/dev/UPSTREAM.md cites the LocalRouter commit and PR that added the change.
  • Upstream CI runs the zig suites on the three TensorFold PRs. drama-tensorfold has no CI; its PRs list the tests run.

Merge Danger

Door: two-way. Docs only.

Blast Radius: docs. No code or pins change. Our patches stay until each upstream PR merges and our pins move past it; UPSTREAM.md says what to drop when.

🤖 Generated with Claude Code

… PR; CONTRIBUTING requires one for each new change

Audit of every patch, scripted upstream edit, upstream-bug workaround and vendored upstream code against
TensorFold, drama-tensorfold and plotarmordev's TensorFold fork, checked against their latest default branches,
with the upstream pull request each one now has (ashhart/TensorFold #1743, #1744, #1745;
plotarmordev/drama-tensorfold #35, #36, #37) or why it has none.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jayleaton
jayleaton marked this pull request as ready for review October 31, 2026 12:18
@jayleaton
jayleaton merged commit 6acc089 into main Oct 31, 2026
8 checks passed
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