— INVENTION LEDGER

271 candidate world-firsts · 11 categories · 87 high / 145 med / 39 low confidence · every entry carries an in-repo basis + an honest caveat

Docs Source
// Color scheme

>_CANDIDATE WORLD-FIRSTS

271
candidates
12
categories
87
high conf
145
med conf
39
low conf

OVERVIEW

the whole MenkeTechnologies stack: fusevm foundation, eighteen languages, shared substrates, and the domains on top

Candidate "world's first" capabilities across the stack. The bar: a genuinely novel capability (not a faster dup) and a real implementation. Every entry states the claim, its basis (in-repo evidence), and an honest caveat — a web search is never exhaustive, so "no prior art found" is recorded as that, not as a proven absolute. A confidence tag (high / med / low) reflects how solid the implementation is and how defensible the "first" framing is.

Claims are owned by MenkeTechnologies; this ledger keeps them honest and falsifiable. It was assembled by sweeping every repo in the monorepo (documented firsts and novel capabilities inferred from source), so some entries are recorded ahead of a formal prior-art survey. Where a capability is WIP, aspirational, or only design-doc deep, the caveat says so.

Reading the confidence tag

  • high — implemented and verified in-repo (often test- or build-verified); the "first" may still be author-asserted.
  • med — implemented but partial, or the "first/novel" framing is the softer part.
  • low — early/WIP, design-doc-only, or a known-category tool whose novelty is the combination/packaging.

Total: 271 candidates — 207 numeric entries (numbered through 213; 87, 88 and 90–93 are unused) plus 64 lettered sub-entries (4a, 11a–11n, 12a, 13a, 28a, 40a–40f, 89a, 104a, 105a–105n, 114a, 120a–120s, 144a, 168a, 169a, 170a). By confidence: 87 high, 145 med, 39 low. The six original ledger entries, zvcs (#173) and zshrs's value-lineage builtin (#40f) are flagged ; five of them (#1, #64, #65, #173, #40f) carry a deep prior-art analysis in the appendix — #66, #67, #68 do not.

CATEGORIES

I. Execution engine & language runtimes — fusevm + eighteen frontends

fusevm: eighteen language frontends lower to one bytecode, run by an interpreter, a 3-tier Cranelift JIT, and an AOT compiler fusevm tracing JIT: record a hot loop, lower to native via Cranelift with an mmap+PROT_EXEC cache and side-traces, deopt back to the interpreter editors dissolved: elisprs, vimlrs, awkrs - each language extracted from its host tool onto fusevm fusevm AOT: whole-program to a relocatable .o reusing the interpreter's exec_op, over a behavior-transparent native-code disk cache across all three tiers
1

Solo-authored from-scratch JIT VM hosting eighteen production language frontends

MED

One person built the whole execution engine — a bytecode VM plus a 3-tier (linear/block/tracing) Cranelift JIT emitting native machine code at runtime, and an AOT object compiler — and eighteen independent language frontends (strykelang/Perl 5, zshrs/zsh, awkrs/AWK, vimlrs/VimL, elisprs/Emacs Lisp, rubylang/Ruby, pythonrs/Python, phplang/PHP, node-js/JavaScript, rlang/R, go-rs/Go, javars/Java, kotlinrs/Kotlin, scalars/Scala, groovyrs/Groovy, tclrs/Tcl, texrs/TeX, and the original pipeline-UI language arb) each targeting the same fusevm bytecode. Every one ships a standalone binary, --lsp and --dap servers, shell completions, man pages, generated reference.html, --dump-tokens/--dump-ast/--disasm introspection, and the --tiers execution-tier report (#11n), and every one takes inline Rust FFI — texrs, the newest, was the last to close those two gaps. The novelty is the combination: solo author + from-scratch VM with a genuine machine-code JIT + 17 production frontends. Basis: fusevm/src/jit.rs builds a cranelift_jit::JITModule, transmutes finalized functions to native fn pointers, with an mmap+PROT_EXEC disk cache; fusevm/src/aot.rs emits a relocatable .o via cranelift_object; eighteen crates already depend on fusevm and emit fusevm::Chunk/Op (arb's compute core — its calc / expression layer — lowers to a fusevm::Chunk via arb/src/expr.rs and runs on the VM, while its widget / layout construction stays a native ratatui interpreter). fusevm/src/op.rs (~235 ops), host.rs/awk_host.rs host-trait injection seam. Caveat: "None found", not proven — the deep search (see analysis) found no project meeting all three criteria but cannot cover private/defunct work; the nearest near-miss (Deegen) is contestable. JIT is opt-in behind Cargo features; interpreter is the default fallback.

2

AOT native compiler that reuses the interpreter's own per-op step as single source of truth

MED

Whole-program AOT lowers each bytecode op to a native basic block that calls back into the same VM::exec_op the interpreter uses (via an extern "C" shim), so AOT and interpreter semantics can never diverge. Basis: fusevm/src/aot.rs fusevm_aot_exec_opVM::aot_exec_opVM::exec_op; compile_object emits a .o exporting fusevm_aot_entry + serialized chunk; staticlib crate-type. Caveat: for unspecialized ops this is threaded-code AOT (native dispatch + shared per-op call) more than maximal native lowering; the win is removing the dispatch loop and forbidding a semantic fork.

3

Multi-phase tracing JIT with cross-frame deopt state materialization

MED

A from-scratch tracing JIT inlines calls (incl. bounded self-recursion), traces branches across caller and inlined-callee frames, stitches side traces at hot side-exits, and on deopt reconstructs full interpreter state (synthetic frames + live stack) to resume mid-callee. Basis: fusevm/src/jit.rs (DeoptInfo/DeoptFrame; the JitConfig fields max_inline_recursion / max_trace_chain :359-361, both defaulting to 4 :377-378); fusevm/src/vm.rs materialize_deopt_frames(). Caveat: speculative tracing JITs with deopt/side-traces are well-trodden (LuaJIT, PyPy, TraceMonkey) — novelty is implementation, not concept; hard bounds make it narrower than production tracers. Not a categorical first.

4

Behavior-transparent persistent native-code disk cache across all three JIT tiers

MED

An on-disk cache (on by default with the jit-disk-cache feature; FUSEVM_JIT_CACHE_DIR=off disables it) persists compiled native code for linear, block, and tracing tiers across process restarts, keyed by chunk op-hash (tracing also by anchor IP + content hash), with a conservative relocation loader that falls back to in-memory JIT on any unknown relocation — so it only removes codegen time, never changing results or tier selection. Basis: jit-disk-cache feature in fusevm/Cargo.toml; fusevm/src/jit.rs SCHEMA_VERSION, FNV reloc IDs, Apple-Silicon W^X handling, atomic temp+rename; fusevm/benches/jit_disk_cache.rs. Caveat: persistent JIT caches exist; the notable combination is covering a tracing tier in a hand-written VM. W^X/reloc correctness not independently tested here.

4a

One native-code cache shared by eighteen language frontends — compounding across languages, processes, and an editor's plugins

MED

The disk cache of #4 is not namespaced per language, per binary, or per process: blobs are keyed only by chunk op-hash + tier tag ({op_hash:016x}.{sub:016x}.{tag}.fjit) in one shared directory, so every fusevm frontend reads and writes the same store. All eighteen frontends enable it, so the cache compounds — native code paid for once by any language, in any process, is streamed back by all of them, and the store keeps filling as the stack is used. The concrete consequence inside zmax: sourced Vimscript and Emacs Lisp — a .vimrc, an init.el, and the plugin files they :source / load / require — execute on the same JIT-enabled VM as the standalone CLI runtimes, so an editor plugin's hot loops persist their compiled machine code to ~/.cache/fusevm-jit on first run and skip Cranelift codegen on every later boot. Legacy plugin code gets tiered native execution with no plugin-side change and no per-editor cache. Basis: cache-dir resolution fusevm/src/jit.rs:3389-3403 ($FUSEVM_JIT_CACHE_DIR$XDG_CACHE_HOME/fusevm-jit~/.cache/fusevm-jit); on by default with the feature, =off to disable (:3378-3386); un-namespaced blob name :3893; all three tiers persisted — try_load_or_build :4142, try_load_or_build_block :4162, try_load_or_build_trace :4187 with KIND_LINEAR/BLOCK/TRACE :3191-3193, MAGIC FJITNAT3 + SCHEMA_VERSION = 16 :3199-3219, 256 MiB default cap evicting oldest-first to 80% (:3940, eviction prune :4031). Eighteen frontends declare features = [… "jit-disk-cache" …] on fusevm (arb, awkrs, elisprs, go-rs, groovyrs, javars, kotlinrs, node-js, phplang, pythonrs, rlang, rubylang, scalars, strykelang, vimlrs, zshrs Cargo.toml; tclrs Cargo.toml:105). Editor path: zmax/zmax-term/src/commands/scripting/mod.rs load_init_scriptsvimlrs::fusevm_bridge::eval_file (:1092) → vimlrs/src/fusevm_bridge.rs:7089 (rkyv bytecode cache) + enable_tracing_jit :6106; elisp load/requireelisprs/src/host.rs:6336 intrinsic_loadrun_top_forms (elisprs/src/lib.rs:113) → run_chunk (elisprs/src/host.rs:7013, enable_tracing_jit :6993). Caveat: persistent native/AOT caches exist (JVM AppCDS/JWarmup, .NET ReadyToRun, V8 code cache); the claimed novelty is a single un-namespaced one serving eighteen distinct language frontends and an editor's plugin runtimes, not caching per se, and the survey behind "first" is non-exhaustive. Cross-language reuse only lands where two frontends emit byte-identical op sequences; a chunk carrying frontend-registered extension helpers misses safely and recompiles (fusevm/src/jit.rs:3224-3230). The cache removes codegen only — parse/lower still runs each boot unless the frontend has its own bytecode cache (vimlrs does, ~/.cache/vimlrs/scripts.rkyv; elisp load does not, it calls run_top_forms directly). vimlrs suppresses the JIT in the tolerant per-statement fallback used when a config file fails to parse whole (fusevm_bridge.rs:6063), so those files get no cached native code. No cold-vs-warm plugin-load timing is recorded here.

5

JIT-compiled Emacs Lisp running with no Emacs process

HIGH

.el programs run as standalone CLI processes that trace-compile hot loops to native machine code via the shared Cranelift JIT — Emacs Lisp with a JIT and no Emacs anywhere. Basis: elisprs/src/compiler.rs lowers all special forms to fusevm::Chunk; src/host.rs:3713 run_chunk calls vm.enable_tracing_jit() (:3720); 323 native subrs + 712 prelude defuns. Build-verified: a 1,000,000-iteration while JIT-ran to the correct sum; mapcar over a lambda returned (1 4 9 16). Caveat: "Milestone 1 · early"; many open BUGS.md items; a large subset of Emacs Lisp, not the editor environment.

6

AOT-compiled standalone native Emacs Lisp binary

HIGH

elisprs AOT-compiles a .el file into a self-contained native Mach-O executable that runs with no interpreter and no Emacs present. Basis: elisprs/src/aot.rs compile_executablefusevm::aot::compile_object, embeds the elisp heap image into chunk.names, links libelisprs.a + C main; src/aot_runtime.rs rebuilds the heap. Build-verified: the arm64 binary correctly handled a user defun + symbol-name. Caveat: full constant reification for runtime-constructed constants is WIP; the whole prelude (~73k objects) is embedded per binary.

7

Standalone JIT-compiled Vim script outside any editor

HIGH

vimlrs runs ordinary .vim scripts as standalone programs with a tracing JIT that compiles hot numeric loops to native code — Vimscript outside a Vim/Neovim host with real JIT acceleration. Basis: vimlrs/src/fusevm_bridge.rs:3836 enable_tracing_jit(); src/compile_viml.rs; 17 trace-JIT proof tests assert loop bodies lower to Op::GetSlot/SetSlot/NumLt/Add with no CallBuiltin; for i in range(N) lowers to a native counter loop with no list materialized. Caveat: self-described "early"; only numeric/float/bitwise loops trace; builtin surface ~113 of Neovim's funcs.c; :command/:autocmd unimplemented.

8

Vim script AOT-compiled to a standalone native executable

HIGH

A .vim script AOT-compiles to a self-contained native binary with no Vim, no interpreter, nothing re-interpreted at startup. Basis: vimlrs/src/aot.rs:312 build_native()fusevm::aot::compile_object() → C entry stub → link libvimlrs.a. Build-verified: file reports Mach-O 64-bit executable arm64, ran standalone. Caveat: native path rejects scripts defining :function today — covers function-free top-level scripts only.

9

AWK script AOT-compiled to a standalone native binary

HIGH

awkrs AOT-compiles a BEGIN-only AWK program to native machine code and links it into a self-contained executable shipping no AWK interpreter. Basis: awkrs/src/aot.rs build_nativecompile_begin_onlyfusevm::aot::compile_object → link libawkrs.a; --aot (src/cli.rs:79). Caveat: limited to BEGIN-only programs (per-record rules and END rejected); no end-to-end test of the linked binary found. AWK JIT itself is not first — frawk/zawk precede it.

10

Two-tier persistent cache (bytecode + machine code) for AWK

MED

awkrs persists compiled AWK bytecode to disk and reloads it on later runs, and separately persists fusevm-emitted machine code across processes — two-tier persistence the README's survey of BWK/gawk/mawk/goawk/frawk/zawk finds in none. Basis: awkrs/src/script_cache.rs (rkyv shard ~/.awkrs/scripts.rkyv, flock-atomic); machine-code tier from fusevm jit-disk-cache. Caveat: "first" is a self-conducted survey; the machine-code tier engages only for JIT-eligible numeric chunks.

11

Seventeen-language DAP debuggers on one shared VM

HIGH

Seventeen of the eighteen fusevm frontends (Perl-like stryke, zsh, AWK, VimL, Emacs Lisp, Ruby, arb, Python, PHP, JavaScript, Go, Java, Kotlin, Scala, Groovy, Tcl, TeX) ship a real Debug Adapter Protocol server (--dap over stdio or TCP) wrapping a shared line-stop / step / breakpoint / function-breakpoint / expression-evaluate debugger state machine — source-level interactive debugging for seventeen languages on a single VM substrate, including classic languages (AWK, VimL, zsh) that historically have no DAP debugger. Basis: strykelang/.../dap.rs (1997 L, the original the others were ported from); zshrs/src/extensions/dap.rs (1245 L) + tests/dap_integration.rs; awkrs/src/dap.rs (1090 L) + debugger.rs; arb/src/dap.rs (675 L); elisprs/src/dap.rs (665 L); pythonrs/src/dap.rs (629 L); node-js/src/dap.rs (619 L); phplang/src/dap.rs (610 L); rubylang/src/dap.rs (606 L) + tests/dap.rs; tclrs/src/dap.rs (593 L) + tests/dap_session.rs; javars/src/dap.rs (574 L); kotlinrs/src/dap.rs (573 L); go-rs/src/dap.rs (572 L); vimlrs/src/dap.rs (560 L); groovyrs/src/dap.rs (536 L); texrs/src/dap.rs (524 L) + tests/dap_integration.rs; scalars/src/dap.rs (523 L); line tracking via debug-only markers. Caveat: the debuggers share design (ported from stryke's), not a single fusevm op — line tracking is per-frontend; variable drill-down depth varies by value model (awk = scalars + flat assoc only). Of the remaining frontend, rlang/R ships only a handshake + run-to-completion adapter (rlang/src/dap.rs, 166 L), which is the frontend's own recorded position, not an outside reading — rlang/BUGS.md states "The DAP adapter does not step" and that breakpoints and stepping are not wired to the fusevm line table. It is therefore not counted. Editor-side clients are partial, not per-language: IntelliJ DAP clients exist for stryke, zshrs, elisprs and vimlrs (editors/intellij/.../dap/), VS Code debug adapters for stryke, zshrs, awkrs and vimlrs (vscode-*/package.json "debuggers"); the rest are driven by any generic DAP client. Python/Ruby/PHP/JavaScript/Go/Java/Kotlin/Scala/Groovy already have mature DAP debuggers elsewhere, so the world-first leg is the classic-language debuggers (AWK/VimL/zsh) plus running all seventeen on one shared VM substrate — not DAP for those mainstream languages, and not for Tcl either, which has TclProDebug.

11a

Fused superinstructions collapsing whole counted/append loops into one dispatch

HIGH

The opcode set includes macro-op superinstructions (AccumSumLoop, SlotIncLtIntJumpBack, ConcatConstLoop, PushIntRangeLoop) that execute an entire counted-sum, loop-backedge, string-append, or array-push loop in a single VM dispatch. Basis: 11 fused ops in fusevm/src/op.rs; bench sum(1..1M) via AccumSumLoop at 142 ns vs 31 ms unfused (fusevm/benches/classic.rs); the block JIT register-allocates AccumSumLoop with block params. Caveat: superinstruction fusion is a classic interpreter technique; the distinctiveness is degree / the specific loop-shaped fusions, and gains are workload-specific.

11b

First AWK with aspect-oriented before/after/around intercepts

HIGH

Aspect-oriented programming for AWK — register before / after / around advice on user-function calls by glob pattern, with intercept_proceed() to run the original and reuse its value, intercept_list / intercept_remove(id) / intercept_clear, and the AOP context surfaced to advice as ordinary awk globals (INTERCEPT_NAME/ARGS/CMD/MS/US) — ported from zshrs's intercept engine onto the awk funcname(args) join point. Basis: awkrs/src/intercepts.rs (230 L; AdviceKind::{Before,After,Around}, intercept_matches glob engine, InterceptProceed state); dispatch hooks in awkrs/src/vm.rs + vm_builtins.rs. Test-verified: awkrs/tests/intercept_integration.rs — 14 tests pass (before/after ordering, around+proceed value reuse, around-without-proceed suppression, glob matching, timing context, remove/clear). Caveat: advice runs in-interpreter (no fork); the glob matcher is a hand-rolled */?/char-class/all matcher, not full POSIX ERE. "First for AWK" rests on non-exhaustive prior-art absence — no POSIX-awk or gawk counterpart found.

11c

First Vim script with aspect-oriented before/after/around intercepts

HIGH

Aspect-oriented programming for Vim script — :Intercept before|after|around {pat} { code } (and the intercept() / intercept_proceed() builtins) weaves advice around user-function/command calls by glob pattern, with intercept_list / intercept_remove / intercept_clear and the AOP context exposed as g:INTERCEPT_NAME/ARGS/CMD/MS/US — ported from zshrs's intercept engine, which Vim/Neovim have no analog for. Basis: vimlrs/src/intercepts.rs (301 L; AdviceKind::{Before,After,Around}, register/list/ remove/clear, intercept_matches) + fusevm_bridge.rs typval/VM glue. Test-verified: vimlrs/tests/intercepts.rs — 6 tests pass (before/after ordering, around+proceed value reuse, around-without-proceed suppression, glob matching, context vars). Caveat: advice is VimL evaluated in the current interpreter (no subprocess); the glob matcher is a hand-rolled */?/char-class/all matcher, not full regex. "First for VimL" rests on non-exhaustive prior-art absence — no Vim or Neovim counterpart found.

11d

First Ruby lowered onto a shared multi-language JIT VM's bytecode (rubylang) — the first compiled standalone Ruby runtime in Rust

MED

rubylang is the sixth fusevm frontend: it lexes and parses Ruby to an AST, lowers it to fusevm bytecode on a RubyHost object heap, and runs it on the shared three-tier Cranelift JIT + native-AOT engine — with no bespoke VM or JIT of its own. Arithmetic/comparison operators lower to native VM ops so the JIT can trace hot loops; Ruby-specific behavior (method dispatch, blocks / yield / closures, object construction) is served by a thread-local runtime host. Implemented: classes with initialize/attr_*/single inheritance/super, modules + include mixins, class methods (def self.m), exceptions (begin/rescue/ensure, method-body and modifier rescue, typed exception classes), splat params, &:sym block-pass, parallel assignment, default args, the standalone ruby binary + REPL, the rkyv bytecode cache, an AOP method-intercept registry, and an LSP server. Basis: rubylang/src/{lexer,parser,compiler,host,cache,intercepts,lsp,dap,aot}.rs (~6,989 L); Cargo.toml fusevm = "0.26.0" with jit/jit-disk-cache/aot; a differential parity harness (cargo run --bin parity) diffs a 35-snippet corpus live against the reference ruby, and tests/parity.rs replays the frozen outputs in CI with no ruby installed. Caveat: mruby already compiles Ruby to bytecode (in C, since 2012) and Artichoke is a Ruby-in-Rust interpreter, while TruffleRuby JIT-compiles Ruby but on the JVM/GraalVM — so the defensible "first" is the narrower combination: Ruby lowered onto a shared multi-frontend fusevm bytecode + Cranelift JIT + native AOT, authored in Rust, not "first compiled Ruby" outright. Early: DAP is partial (handshake + run-to-completion, stepping pending); extend/prepend, keyword params, regex, and bignum are planned (BUGS.md). "First" rests on a non-exhaustive prior-art sweep. MIT.

11g

First Python lowered onto a shared multi-language JIT VM's bytecode (pythonrs) — the first compiled standalone Python runtime in Rust

MED

pythonrs is the eighth fusevm frontend: it lexes and parses Python to an AST, lowers it to fusevm bytecode on a PyHost object heap, and runs it on the shared three-tier Cranelift JIT + native-AOT engine — with no bespoke VM or JIT of its own. Arithmetic/comparison operators lower to native VM ops so the JIT can trace hot loops; Python-specific behavior (attribute access, container operations, object construction) is served by a thread-local runtime host. Implemented: the standalone python binary + REPL, the core builtin surface (print/len/range/int/str/list/dict/sorted/ enumerate/zip/map/filter and more), the transparent rkyv bytecode cache on every run, AOT compilation to a standalone native executable, an AOP method-intercept registry, a DAP debug server, and an LSP server. Basis: pythonrs/src/{lexer,parser,compiler,host,cache,intercepts,lsp,dap,aot}.rs (~5,999 L); Cargo.toml fusevm = "0.26.0" with jit/jit-disk-cache/aot; a differential parity harness (cargo run --bin parity, src/bin/parity.rs) diffs the example corpus live against the reference python3. Caveat: CPython already compiles Python to bytecode (in C, on its own VM) and PyPy JIT-compiles Python on RPython's own tracing JIT, while RustPython is a Python-in-Rust interpreter — so the defensible "first" is the narrower combination: Python lowered onto a shared multi-frontend fusevm bytecode + Cranelift JIT + native AOT, authored in Rust, not "first compiled Python" outright. Early: generators / yield are rejected at call time, async/await is parsed but await is a no-op (no event loop), and **kwargs / keyword-only params are planned (BUGS.md). "First" rests on a non-exhaustive prior-art sweep. MIT.

11h

First R lowered onto a shared multi-language JIT VM's bytecode (rlang) — R compiled to native machine code with no JVM

MED

rlang is the fifteenth fusevm frontend: it lexes and parses R to an AST, lowers it to fusevm bytecode on an RHost vector heap, and runs it on the shared three-tier Cranelift JIT — with no bespoke VM or JIT of its own. GNU R's own "JIT" (compiler::enableJIT, default level 3 since R 3.4.0) compiles closures to R bytecode that a C interpreter loop then walks; rlang instead lowers for / while / repeat / if / && / || to native fusevm jumps with native integer loop counters, so the tracing JIT sees ordinary loops and emits machine code. R's value model is preserved: everything is a vector (no scalars), values carry names/dim/class attributes, every operator recycles and propagates NA, and copy-on-modify semantics hold for complex assignment targets (l$v[2] <- 9, names(x) <- v). Implemented: the standalone Rscript binary + REPL, the primitive library, S3 dispatch, the rkyv bytecode cache, an AOP call-intercept registry, an LSP server, a DAP adapter, and --dump-tokens / --dump-ast / --disasm introspection. Distilled, a single unified VM core yields a ten-part R platform: (1) the first R engine in Rust (memory-safe lexer / parser / compiler); (2) fusevm's slot-indexed, stack-based VM runtime; (3) its three-tier Cranelift JIT with native loop lowering; (4) AOT compilation two ways — --build warms the rkyv/bincode bytecode cache (~/.rlang/scripts.rkyv), and --aot links the emitted fusevm object against the rlang runtime staticlib into a standalone native .fvm executable with the R closures embedded in the chunk name table (aot.rs, aot_runtime.rs); (5) the AOP call-intercept telemetry registry; (6) fusevm's zero-cost inline-Rust FFI bridge exposed to R via .rust(code) (compile a self-contained Rust block to a cached cdylib) and R's own .Call(name, …) verb (invoke its exports, marshalling length-1 vectors to i64/f64/string and back), behind fusevm's ffi feature (ffi.rs, builtins.rs); (7) an interactive --disasm bytecode disassembler; (8) --dump-tokens lexical-stream tracing; (9) --dump-ast structural rendering; and (10) a wasm32-unknown-unknown build — the same crate on the bare fusevm interpreter (Cranelift/ffi/LSP/DAP target-gated off), R output routed through a capture buffer, exporting rlang_eval / rlang_alloc / rlang_free for a web-worker host (wasm.rs). Basis: rlang/src/{lexer,parser,compiler,host,builtins,ffi,cache,intercepts,lsp,dap,repl,aot,aot_runtime,wasm}.rs; Cargo.toml native fusevm = { version = "0.17.0", features = ["jit", "jit-disk-cache", "aot", "ffi"] } with the wasm target on the bare interpreter, and crate-type = ["rlib", "staticlib"] (the wasm cdylib emitted on demand via cargo rustc --crate-type cdylib --target wasm32-unknown-unknown); a differential parity harness (cargo run --bin parity, src/bin/parity.rs) diffs a 48-snippet corpus (tests/data/parity_corpus.R) live against the system R, and tests/parity.rs replays the frozen outputs in CI with no R installed; man/Rscript.1, completions/_Rscript, docs/ + generated reference.html. Caveat: R-to-native-code is not itself a first — Renjin compiles R to JVM machine code and FastR/TruffleR JIT-compiles R on GraalVM — so the defensible claim is the narrower combination: R lowered onto a shared multi-frontend bytecode VM with a Cranelift JIT, in Rust, with no JVM/GraalVM and no GNU R runtime linked. Early: arguments evaluate eagerly rather than as promises, so substitute() / quote() / NSE are unavailable; tryCatch and the condition system, data frames, factors, complex numbers, and apply over matrix margins are not implemented (BUGS.md); the DAP adapter is handshake + run-to-completion (stepping pending). "First" rests on a non-exhaustive prior-art sweep. MIT.

11i

First Go lowered onto a shared multi-language JIT VM's bytecode (go-rs) — Go run with no go toolchain, no gc, no goroutine runtime

MED

go-rs is the sixteenth fusevm frontend and a pure frontend: it lexes Go (including the language's automatic semicolon insertion), parses it, and lowers the AST straight to fusevm::Chunk bytecode — there is no bespoke interpreter loop, so execution and codegen are the shared three-tier Cranelift JIT. Go's + string-concatenation overload and string ordering dispatch through fusevm's strict numeric hook; goroutines / channels / select run on fusevm's own scheduler ops rather than a vendored Go runtime. Implemented: the go driver with run / build / vet / env / doc / version / help subcommands, go build AOT-linking a standalone native executable against the go-rs runtime (no go toolchain and no go-rs needed to run it), a natively-implemented (Rust host-builtin) standard library that grows package by package — an unimplemented import is a clear error, not a silent miss — plus an LSP server, a DAP debug server, and --dump-tokens / --dump-ast / --disasm introspection. Basis: go-rs/src/compiler.rs (3,930 L), host.rs (2,138 L), parser.rs (2,091 L), lsp.rs (624 L), lexer.rs (610 L), dap.rs (572 L), aot_native.rs (120 L), plus pkg.rs / stdlib_vendor.rs / rust_ffi.rs; Cargo.toml fusevm = { version = "0.15.0", features = ["jit", "jit-disk-cache", "aot", "ffi"] }. Caveat: the gc toolchain already compiles Go to native code, and TinyGo already lowers Go through LLVM — so the defensible "first" is the narrower combination: Go lowered onto a shared multi-frontend bytecode + Cranelift JIT + native AOT, authored in Rust, not "first compiled Go" outright. It is an executor swap, not a gc replacement: the standard library is reimplemented natively package by package rather than vendored, and concurrency programs need the scheduler, so goroutine/channel/select code runs under go run rather than go build. "First" rests on a non-exhaustive prior-art sweep. MIT.

11j

First Tcl lowered onto a shared multi-language VM's bytecode (tclrs) — a pure frontend with no interpreter loop

MED

tclrs is the seventeenth fusevm frontend and a pure frontend: it parses Tcl — resolving every substitution the grammar permits at parse time — and lowers each command straight to fusevm::Chunk bytecode. There is no interpreter loop and no code generator in the crate; execution belongs to the shared VM. Two properties of Tcl's grammar are what make ahead-of-time lowering pay: braces suppress substitution, so a braced body (an if or while body, a braced expr expression) is fully known at parse time and compiles once instead of being re-parsed per evaluation — words carry a braced flag for exactly that decision — and rule 11 rules out rescanning substituted values, so each character is processed once. Tcl's value model needs no object heap on top of fusevm's: strings, integers and floats map onto Value directly, and a value keeps its numeric representation until something demands its string form. Implemented: the parser (all twelve syntax rules of Tcl(n)), the compiler with statically tracked stack depth (so break/continue unwind by a compile-time-known pop count rather than a runtime unwinder), set / puts (-nonewline) / expr / incr / if-elseif-else / while / break / continue plus command substitution of any of them, and the whole expr(n) operator set at expr(n) precedence compiled straight from a braced word with no runtime parse. Since then the frontend has grown the rest of the language surface — proc (parameters and locals as frame slots, defaults and a trailing args resolved at the call site), for / foreach / switch, catch / error / return, the string / array / dict ensembles, the list commands, and coroutines (coroutine / yield / yieldto, a coroutine being a second VM over the same chunk) — and the toolchain around it: a tclrs binary with a reedline REPL, --lsp and --dap servers, _tclrs completion, man/man1/tclrs.1 + tclrsall.1, a generated reference.html, inline rust {} FFI, and --dump-tokens / --dump-ast / --disasm. Tcl semantics ride two hooks: a numeric hook for operands the VM cannot compute on natively (an operand that parses as a number is one; comparisons fall back to string order when it does not) and frontend extension ops for the operators whose Tcl meaning differs from the VM's generic one (/ and % floored toward negative infinity, integral **, and a normalize op for Tcl's boolean and double formatting). Since that phase it has also grown {*} argument expansion, the expr(n) math functions, bignums, namespaces, channels and encoding, clock, regexp, format, and an optional --features tk build whose --tk session runs the interpreter on the process main thread. Basis: tclrs/src/parser.rs (1134 L), compiler.rs (3359 L), expr.rs (996 L), runtime.rs (4894 L), 44 modules in all; Cargo.toml fusevm = "0.26.0" with jit / jit-disk-cache / aot / ffi; tclsh 9.0.4 is the specification (pinned by tests/version_pin.rs) and the suites diff against it directly — 55 test binaries in all (tests/*.rs), among them per-area differential suites for words, execution, procedures, lists, strings, arrays, coroutines, namespaces, channels, encodings, clock, regexp, format, bignums and {*} expansion, 14 rule-by-rule parser tests (tests/dodekalogue.rs), and a replayed corpus of the divergences a differential fuzzer found (tests/parity_fuzz_findings.rs, 50 tests), so no expected output in the repository is hand-written. Beyond its own suites the crate runs Tcl's own test suite against itself: 29,335 of 48,201 attempted cases pass — 60.9% (conformance/REPORT.md, regenerated by conformance/run.sh, which lifts every case out of every tests/*.test file and counts a pass only when tclsh and tclrs agree on exit code, result string and stdout, byte for byte). Caveat: the refusals are named rather than approximated and README.md §0x05 is the list — among them a non-literal ensemble subcommand or body word (while $cond $body), a computed namespace eval name and namespace path / unknown / upvar, info frame / errorstack / cmdcount, clock scan without -format, regexp -about, format %a, open |command, fconfigure -blocking 0, the ISO-2022 escape-sequence encodings, and --aot for a script using catch or a coroutine. Tcl has compiled to bytecode on its own engine since 8.0, so the defensible "first" is the narrower combination: Tcl lowered onto a shared multi-frontend bytecode VM, authored in Rust, with no Tcl runtime linked — not "first compiled Tcl" outright. "First" rests on a non-exhaustive prior-art sweep. MIT.

11k

Trace-JIT'd Tcl — hot Tcl loops reaching native machine code at run time

HIGH

The frontend arms fusevm's three-tier Cranelift JIT on every VM it builds, and every loop is emitted rotated — entered at the test, closed by a conditional backward branch — because that is the one shape the tracing tier installs a trace for, so a hot loop inside a proc is trace-compiled while the script runs. Basis: tclrs/src/compiler.rs Compiler::rotated_loop (the single emitter while / for / foreach / dict for all go through); src/runtime.rs install_hooksvm.enable_tracing_jit(); src/tiers.rs backs --tiers, which reports what a script reached rather than asserting it. Build-verified: tclrs --tiers on 3,000,000 iterations of while {$i < $n} {incr i} inside a proc reports loop @7 trace-eligible=true traced=true and reaches native code true. Caveat: the prior art is close — TclQuadcode compiles Tcl procedures to LLVM IR and native code, but is explicitly ahead-of-time ("currently too slow for JIT" by its own description) and runs on the standard Tcl runtime — so the novel leg is a tracing JIT at run time for Tcl on a VM shared with seventeen other languages, not native compilation of Tcl as such. The same loop at a script's top level traces nothing, because a top-level variable is a VM global; the project's README states this rather than hiding it.

11l

Tcl AOT-compiled to a standalone native binary carrying no Tcl interpreter

HIGH

tclrs --aot out script.tcl sends the whole chunk through fusevm's closed-world compiler and links a native executable with no parser and no bytecode dispatch loop inside it. Basis: tclrs/src/aot.rs compile_executablefusevm::aot::compile_object → link against libtclrs.a (crate-type = ["rlib", "staticlib"]), with src/aot_runtime.rs's fusevm_aot_register_builtins hook installing the same runtime hooks the interpreter installs. Build-verified: file reports Mach-O 64-bit executable arm64 and otool -L lists only CoreFoundation / libiconv / libSystem — no Tcl library of any kind — and the binary prints the right answer. Caveat: every existing way to ship a Tcl program as one file bundles the interpreter (starpack / tclkit, freeWrap, mktclapp links static Tcl libs, Tcl Dev Kit), and TclQuadcode's native code still runs on the standard Tcl runtime, so no prior art was found for a Tcl program compiled to native code with no interpreter present — recorded as "none found", not proven. Refused today for scripts using catch or a coroutine, which need a driver outside VM::run.

11m

Inline Rust blocks inside Tcl scripts

MED

A rust { pub extern "C" fn … } block in a .tcl file compiles to a cached cdylib whose exports become ordinary Tcl commands. Basis: tclrs/src/rust_ffi.rs supplies the Tcl-flavored fusevm::RustSugar — the block is rewritten to __rust_compile <base64> <line> before parsing, padded to preserve line numbers — and Compiler::cmd_rust_compile registers it while lowering it, because this frontend resolves dispatch at compile time; ext::FFI_CALL is emitted for a name fusevm::ffi reports as exported. Test-verified: tclrs/tests/rust_ffi.rs — 7 tests pass (i64 and *const c_char signatures, a result used inside expr, a Tcl proc shadowing an export, a block that fails rustc failing the script with the line it was written on, arity refusal). Caveat: the concept has deep prior art in Tcl — critcl has embedded C in Tcl scripts, cached by checksum and dynamically linked, for two decades. The novel legs are the language (Rust), the shared fusevm::ffi substrate across eighteen frontends, and compile-time registration into a statically resolved dispatch; signatures are limited to fusevm's marshalling set (≤4 i64i64, ≤3 f64f64, *const c_chari64 or *const c_char).

11n

--tiers — every frontend can be asked which JIT tier its own bytecode actually reached

MED

<binary> --tiers <script> runs the program, then reports, per compiled chunk, whether the block tier holds native code for it, which loop headers the tracing tier compiled, which it blacklisted, and — when a tier refused — a histogram of the JIT-ineligible ops that caused the refusal. Shipped in all eighteen frontends. The point is that the report does not guess: it asks fusevm's own predicates, the same ones the compiler consults before doing the work, so "the JIT is enabled" and "the JIT compiled this" stop being the same sentence. Basis: <repo>/src/tiers.rs in seventeen frontends and strykelang/strykelang/tiers.rs in stryke — all eighteen tracked, 6,399 lines total; each queries fusevm::JitCompiler::is_block_eligible (fusevm/src/jit.rs:8059), block_jit_is_compiled (:8069), find_jit_region (:8078), is_trace_eligible (:8231), trace_is_compiled (:8238), and trace_is_blacklisted (:8321) after the run. Report { chunks: Vec<ChunkTiers> } carries one section per chunk, because a hot loop usually lives in a function body and reporting the main chunk alone answers the wrong question; the == name == header is suppressed when a program compiled to exactly one chunk. What differs per frontend is only where the chunks come from — Program main plus functions for the dynamic frontends, BEGIN/rule/END for awkrs, script plus functions_compiled for zshrs, closure bodies walked off the host arena for elisprs, one chunk for the JVM frontends and go-rs. Caveat: not a first in the sense of "nobody reports JIT state" — every serious JIT has some introspection (-XX:+PrintCompilation, --jit-debug, perf annotations). The claim is narrower: one report format, one set of predicates, one implementation shape, answered identically by eighteen different languages, because the tier decisions are the shared engine's rather than each language's. Whether a given program reaches native code is a property of that program's loop shape, not of the frontend — several frontends lower loop bodies through CallBuiltin/Extended, which the tracer declines, and the report is what makes that visible instead of inferred.

11e

arb — pipe-native UI-generating DSL that turns any Unix stream into a live TUI (and web) dashboard

MED

arb is an original language (not a port) that drops into a Unix pipe and spawns a dynamic ratatui TUI — and, later, a zgui web page — from a declarative, Tcl/Tk-flavored spec. It is now well past the M0/M1 sketch: a ~100-verb query engine (103 QueryOp variants, a jq/xpath/css/yq superset over six input formats — line / JSON / CSV / TSV / YAML / TOML / HTML), 14 widget kinds (text/tail/list/gauge/bars/histo/spark/ chart/table/tabs/block/frame/input/select), an interactive megafilter/map (the input widget + apply verb splice a live-edited value into a source pipeline, re-evaluated every frame — a before/after transform editor as a spec), and a non-blocking pipe architecture: the TUI renders to /dev/tty and reads keys from /dev/tty (like vipe), so stdout stays a clean data channel and find / | arb | consumer streams through untouched while the UI runs. The compute core is wired to fusevm — expressions and the calc op lower to a fusevm::Chunk and run on the VM + three-tier Cranelift JIT (arb/src/expr.rs; Cargo.toml depends on fusevm = "0.26.0" with jit). The world-first framing is the synthesis — no prior tool is a pipe-native, dual-target (terminal + web), component-generating UI language with a shareable dashboard registry (each leg has prior art: Tcl'88 / Tk'88 / Expect'90, dasel, ratatui, Streamlit / Textual-serve, filt). Basis: arb/README.md + arb/SPEC.md; arb/src/*.rs (~5,611 L, 138 tests); arb/src/query.rs (the 103-op engine), arb/src/expr.rs (fusevm lowering), arb/src/tui.rs (/dev/tty render + raw key read). Caveat: the web target, Akka-style actors, Expect-style reactions, and the package-manager registry are still unbuilt milestones; "world-first" is author-asserted on the synthesis per SPEC's own per-leg prior-art table. MIT.

11f

arb subsumes fzf: fuzzy-select is one widget of a TUI-generating DSL, not a standalone tool

MED

fzf (2013) is not a competitor arb happens to beat — it is a strict subset of one arb widget. arb --fzf and a select widget are literally the same code path (fzf_mode = cli.fzf || any select widget, arb/src/main.rs), and --fzf synthesizes a one-widget select spec (default_spec_src), so sudo find / | fzfsudo find / | arb -e 'select .s'. fzf's entire feature surface — fuzzy smart-case match, multi-select marks, cursor nav, prompt/header, preview pane — is one of arb's 14 widget kinds; the other thirteen are TUIs fzf cannot express. On fzf's own axis arb is a superset, not a clone: it carries fzf's real performance tricks (query-extension incremental match — typing narrows only the current hit set since fuzzy match is monotonic; rayon parallel rescan + parallel sort; windowed rendering of visible rows only) and adds what fzf structurally cannot do — (1) non-blocking: renders/reads keys on /dev/tty and tees the filtered stream downstream live, where fzf owns stdout and blocks the pipe until Enter; (2) fd-owning stderr isolation: the orchestrator (PROD | _ | CONS) makes arb spawn every stage and route the producer's stderr to a pane, so sudo find / permission errors never scribble over the list — fzf can't intercept an upstream it didn't spawn; (3) a ~100-verb query engine that sees fields / JSON paths / CSV columns, where fzf sees opaque lines. The world-first framing is not "faster fzf" (dead by the no-dup rule — a faster fzf fails the "world's first" leg) but "arbitrary interactive TUI from a pipeline DSL, non-blocking and fd-owning, of which fuzzy-select is one preset." Basis: arb/src/main.rs (fzf_mode, default_spec_src), arb/src/spec.rs (WidgetKind::Select), arb/src/tui.rs (/dev/tty render + raw key read, query-extension incremental match, par_iter/par_sort_by, render_err_pane stderr pane), arb/src/query.rs (103-op engine). Caveat: the select widget currently drives off the raw stream — a select source pipeline (reshaping candidates before display) and mixing select with dashboard widgets in one spec are the next increments, not yet wired; the fuzzy-parity + non-blocking + stderr claims above are all in-tree and build-green. MIT.

II. zshrs — the compiled shell

zshrs, the compiled shell: source to AST to fusevm bytecode, backed by rkyv caches, a SQLite FTS mirror, and a persistent worker pool over a compat floor zshrs cache and parallelism substrate: rkyv-mmap authoritative store, read-only SQLite FTS mirror, persistent worker pool, anti-fork primitives
12

Compiled Unix shell: bytecode VM, JIT, no tree-walker

HIGH

First Unix shell whose entire execution model compiles every construct to register-based bytecode (fusevm, ~234 ops) and runs on a JIT'd VM, with the AST tree-walker physically removed rather than kept as a fallback. Basis: docs/DESIGN_GOALS.md §0x06 Phase F deletes execute_simple/pipeline/list/compound/command_bg (~1,275 LOC) from src/exec.rs; tests/tree_walker_absent.rs + tests/no_tree_walker_dispatch.rs (8 + 160 = 168 tests) pin absence and per-construct behavior; src/extensions/compile_zsh.rs (615 KB), src/fusevm_bridge.rs:951. Caveat: strong historical claim vs csh/ksh/bash/zsh/fish interpreters; zsh's .zwc caches parsed AST for re-interpretation, not bytecode-on-a-VM. fusevm is an external dependency.

12a

First production-grade Unix shell importable as a Cargo library crate

HIGH

The whole of zshrs — a ~540,000-line (over 800k with its binaries and test suite) production-grade interactive Unix-shell superset with a register bytecode VM, Cranelift JIT, and a background-thread worker pool — is published as an importable Cargo library crate, so any Rust program can take it as a dependency and embed the entire shell (executor, parser, completion, job control) in-process instead of spawning /bin/sh. The crate re-exports zsh's own front-end modules, so a consumer can also parse a Bourne-family script, evaluate glob qualifiers, and run parameter expansion in-process without executing anything — the zsh grammar and expander as a library. That makes the crate an AST front-end for the whole Bourne family (bash/ksh/dash/sh via the emulation modes) — a reusable foundation for shell static analyzers, linters, and formatters that until now needed a running shell (or a bespoke re-implementation of the grammar) to get an AST at all. Basis: zshrs/Cargo.toml [lib] name = "zsh" (v0.12.24, no publish = false); ShellExecutor::execute_script; public front-end modules ported::parse/ported::lex (grammar), ported::glob (glob qualifiers), ported::subst/ported::params (parameter expansion); already consumed as the embedded :zsh engine in zmax (zmax-term/Cargo.toml, zsh = { package = "zshrs" }). Caveat: crates.io has hosted small standalone Rust shells (e.g. rush-sh) and embeddable shell-API libraries built for AI coding agents (e.g. epsh), so "a shell as a Rust library" is not itself new; the asserted first is the scale — a full production-grade Unix-shell superset (540k+ LOC, VM + JIT + worker pool) as an importable dependency — and "first"/"production-ready" rest on a non-exhaustive prior-art sweep.

13

Cranelift JIT + AOT-to-native-binary for shell code

HIGH

Hot shell bytecode JIT-compiles to native x86-64/aarch64 (tiered linear/block) with an on-disk cache; a script also AOT-compiles to a relocatable .o linked against the shell runtime staticlib into a standalone executable. Basis: Cargo.toml fusevm = { features = ["jit-disk-cache","aot"] }; src/extensions/aot.rs:379 build_nativefusevm::aot::compile_objectcc link libzsh.a; zbuild builtin (builtin_zbuild, ext_builtins.rs:5448); trailer path bakes source into a binary copy (magic ZSHRSAOT), ~25 codec tests. Caveat: command execution still routes through the linked-in interpreter runtime (not a fully standalone-compiled program). AOT_DESIGN.md extras (perfect-hash completion tables, compile-time AOP, hardware-counter timing) are design-doc-only.

13a

First hardware acceleration for bash, dash, and ksh — legacy shells JIT-compiled to native

HIGH

Because zshrs deleted the AST tree-walker entirely (#12), every shell dialect it accepts runs through the same fusevm bytecode + tiered Cranelift JIT — including the legacy Bourne-family shells it emulates. zshrs --bash / --ksh / --dash / --sh (and argv0 inference as bash/ksh/dash/sh/mksh/ash) compile that dialect's script to register bytecode and JIT it to native x86-64/aarch64, so bash/dash/ksh code — historically only ever line-by-line interpreted by its upstream — gets native-code execution for the first time. Basis: bins/zshrs.rs ShellMode::{Bash,Ksh,Dash,Posix} (:562 --bash drop-in help, :1177-1181 argv0→mode map); the JIT/AOT path is #13, the physically-removed tree-walker is #12. Caveat: command semantics still route through the linked-in runtime (as in #13), so it is acceleration of the compiled execution model, not a standalone-compiled program; "first" is a historical claim against bash/dash/ksh/mksh — whose upstream implementations are word/AST interpreters with no bytecode-VM or JIT — and rests on a non-exhaustive prior-art sweep.

14

rkyv-mmap'd bytecode image cache — the only cross-invocation shell bytecode cache

HIGH

Compiled bytecode persists across invocations as zero-copy rkyv-mmap'd images (sharded per source-root with a two-level index.rkyv, ~150–200 ns), so warm starts skip lex/parse/compile entirely. Basis: src/extensions/script_cache.rs (~/.zshrs/scripts.rkyv, mmap + check_archived_root), autoload_cache.rs (16k+ bulk prewarm), daemon/shard.rs. Caveat: distinct from zsh .zwc (per-file static parsed AST); inner codec is still bincode inside the rkyv container.

15

Companion daemon as core shell substrate

HIGH

A singleton background daemon that shells connect to over a Unix socket owns all bytecode-cache mutation, supervises jobs, serves compiled bytecode via mmap (data plane), and brokers cross-shell pub/sub — spawned on demand by the first client, with N thin clients. Basis: zshrs-daemon crate (40+ modules; server.rs:35 UnixListener mode-600 + SO_PEERCRED; pidlock.rs flock singleton; shard.rs:426 mmap reads; pubsub.rs/state.rs:348 fan-out; tests/daemon_http.rs). Caveat: daemon-down falls through to source-interp (opportunistic accelerator). RFC notes fish's fishd was var-sync only, removed 2014.

16

Data-plane / control-plane split for shell config lookup

MED

Tab/prompt/alias lookups read daemon-built bytecode via direct mmap (~150–200 ns, no IPC per call) while only configuration mutation crosses a JSON-over-Unix-socket control plane. Basis: src/extensions/canonical_apply.rs mmaps ~/.zshrs/images/*-recorder.rkyv into the executor's HashMaps at cold-start (the doc rejects the earlier per-startup-IPC version as 5–10 ms too slow); DESIGN_GOALS.md §0x04a hard-rule #2. Caveat: an architectural design point; overlaps the daemon claim.

17

Daemon as a universal user-space service consumable from any shell

MED

The daemon doubles as a general service — persistent KV, job submission, cross-process locks, fsnotify triggers, pub/sub, build-artifact cache, cron-equivalent scheduling — usable from bash/fish via an HTTP client with scoped auth tokens, collapsing cron/anacron/launchd/flock/sccache into one daemon. Basis: docs/DAEMON_AS_SERVICE.md; daemon/http.rs, bins/zd.rs HTTP client, daemon/auth.rs (scoped vs flat tokens, scope_denied 403), daemon/schedule.rs (6-field cron, sqlite tick loop). Caveat: some endpoints are v1/partial; the decoupling thesis is partly forward-looking.

18

Native cross-shell pub/sub + dispatch primitives

MED

Cross-shell publish/subscribe as native daemon primitives — scope/topic subscriptions (shell:<id>, tag:<name>, user:<name>, *) over command/chpwd/prompt/exit/signal topics, brokered without filesystem-IPC polling. Basis: daemon/pubsub.rs; builtins zsend/zsubscribe; RFC contrasts zconvey (filesystem-IPC + per-prompt polling). Caveat: the cross-host federation leg is largely unbuilt (see #34).

19

Session-persistent, daemon-supervised jobs (zjob) surviving shell exit

MED

Native jobs supervised by the daemon survive shell exit at process granularity (not terminal granularity), with captured stdout/stderr and queryable status — replacing nohup/disown/setsid/pueue/screen-as-runner. Basis: daemon/jobs.rs (38 KB), daemon/zjob_builtin.rs (output to ~/.zshrs/jobs/{id}.{out,err}). Caveat: author framing as "tmux at process granularity"; restart-policy maturity unverified.

20

zsync — push/pull/diff a live shell's mutable state to a shared canonical store

MED

Snapshots a running shell's entire mutable overlay (aliases, global/suffix aliases, options, params/arrays/assoc, env, path/fpath/manpath) into a daemon canonical store so other shells pull it — cross-shell state sync as a builtin. Basis: src/extensions/overlay_snapshot.rs enumerate_all_overlays + daemon/zsync.rs (push/pull/diff, canonical_changed event) + daemon/canonical.rs. Caveat: v1 stores canonical as JSON in catalog.db.

21

Plugin-Framework-Agnostic State-Modification Recorder (PFA-SMR) + replay protocol

HIGH

A feature-gated recorder captures, via runtime AOP over the state-mutating dispatcher, every alias/function/var/bind/complete/source mutation produced by any plugin framework (zinit/oh-my-zsh/prezto/antidote/antigen/zplug/zpwr) at per-definition granularity, as typed ordered events over a versioned serde wire protocol the daemon ingests and replays into live state. Basis: src/recorder/mod.rs (RecordEvent with order_idx/ts_ns/22 DefKinds); daemon ingest daemon/ops.rs:1396; replay in canonical_apply.rs; tests recorder_harness.rs (24 scripts), recorder_zsh_functions.rs (~1200 functions). Caveat: a state-mutation recorder, not PTY/keystroke capture; replay is partial (inline function bodies, zmodload, sourced files not replayed); must re-run on new plugin installs.

22

Open wire protocol for third-party shell recorders

LOW

A shell-agnostic recorder ingest protocol (recorder_ingest/definitions_emit/SSE /stream/definitions) lets non-zshrs shells (bash, fish) emit per-definition state records with file:line provenance into the same daemon store. Basis: docs/RECORDER_PROTOCOL.md (bundle/event encodings, minimal fish reference recorder, conformance checklist); daemon/definitions.rs. Caveat: protocol + reference snippets documented; third-party adoption hypothetical; overlaps #21.

23

Runtime aspect-oriented intercept advice on any shell command

HIGH

First-class AOP — intercept before|after|around <pattern> { … } weaves advice around any command/function, with intercept_proceed to call the original and $INTERCEPT_MS/$INTERCEPT_ARGS exposed to advice. Basis: src/extensions/intercepts.rs (AdviceKind::{Before,After,Around}, run_intercepts glob matching, proceed gating); README:217. Caveat: runtime advice on the dispatch path, not the compile-time AOP weaving described (but unimplemented) in AOT_DESIGN.md; the only zsh analog is addwrapper().

24

Plugin-manager state surfaced as IDE External Library roots

MED

The IDE integration reads plugin-manager state and exposes each plugin as a navigable, indexable, find-usages-able IDE library root, grouped by inferred manager. Basis: zshrs --dump-plugins (reads plugin_cache SQLite, plugin_cache.rs 68 KB); JetBrains ZshrsLibraryRootProvider.kt/ZshrsPluginRegistry.kt implementing AdditionalLibraryRootsProvider. Caveat: scoped to the bundled JetBrains plugin.

25

Native LSP language server built into the shell binary

HIGH

An LSP server ships as a native, dependency-free subsystem of the shell binary itself (zshrs --lsp, hand-rolled stdio JSON-RPC) rather than a separate Node process. Basis: src/extensions/lsp.rs (561 KB) + lsp_symbols.rs (45 KB); JetBrains driver in editors/intellij/.../lsp/; RFC contrasts bash-language-server (Node, external). Caveat: "first" contrasts against mainstream third-party LSPs, not a formal proof.

26

Native DAP debug adapter built into the shell binary

HIGH

A full Debug Adapter Protocol server (zshrs --dap HOST:PORT, TCP) for line-level shell-script debugging — breakpoints, stack frames, evaluation — as a first-class subsystem. Basis: src/extensions/dap.rs (33 KB); JetBrains debugger client (ZshrsDebugProcess, ZshrsBreakpointHandler, ZshrsStackFrame, ZshrsEvaluator). Caveat: line tracking depends on debug-only VM instrumentation (fusevm Op::DebugLine); variable/scope inspection maturity unverified.

27

Compiled completion functions as rkyv-mmap'd fusevm bytecode

MED

zsh completion functions pre-compile to fusevm bytecode stored in mmap'd rkyv shards (consumed zero-copy on Tab), replacing zsh's re-interpret-shell-script-per-Tab model where ~11,656 lines of library shell run per keypress. Basis: src/compsys/README.md (rkyv-mmap hot path, parallel rayon compinit); autoload_cache.rs (16k+ autoload bytecodes bulk-committed). Caveat: overlaps #14 but completion-specific.

28

In-editor live compsys completion (zsh completion driven from an LSP)

MED

zsh's compsys is reimplemented in Rust (~128 files / ~22k LOC mirroring zsh Completion/) and driven outside an interactive shell so an LSP surfaces the same matches a Tab press would, with no subshell spawn. Basis: src/compsys/ported/; src/compsys/in_editor.rs:256 complete_at; LSP wiring lsp.rs:1723 (compsys dispatch) → try_compsys_completion (lsp.rs:1746); tests/compsys_backend_proof.rs. Caveat: Phase 0.5 / unproven end-to-end — no per-command completer (_git/_kubectl) ported yet, in-editor smoke test yields zero matches (no compinit bootstrap); framework real, content WIP.

28a

zsh's compsys completion system opened to the world as an importable Rust module

MED

zsh's completion system (compsys — compinit/compdef/the _* completer machinery), historically reachable only from inside a running zsh, is reimplemented in Rust (~47,000 LOC) and exposed as a public module of the importable zshrs crate (pub mod compsys), so any Rust program can compute zsh-grammar completions in-process — no interactive shell, no subshell spawn. Basis: zshrs/src/lib.rs:59 pub mod compsys; src/compsys/ (~47k LOC across in_editor::complete_at, router, cache, ported/); builds on #27/#28 (the compiled + in-editor compsys). Caveat: compsys is a public module of the zsh crate, not a separately-published crate; per-command completer content parity is still WIP (see #28); "watershed"/"first" is the author's own assertion pending a prior-art sweep.

29

Read-only SQLite mirrors of live shell state for SQL/dbview introspection

MED

The shell mirrors its internal tables (aliases, _comps/_services/_patcomps, zstyles, functions, executables, autoloads, hooks, plugins, entry stats) into queryable SQLite views so the operator can run SQL / dbview against shell state — without those rows affecting execution or cache semantics. Basis: compsys/README.md §0x04; dbview builtin in ext_builtins.rs; daemon/catalog.db schema; canonical.rs hydrate_sqlite_view. Caveat: explicitly inspection-only.

30

zcache exporteval canonical-state reset round-trip

MED

Emits any subsystem's full canonical state as eval-compatible shell source with a wipe prefix, so eval $(zcache export <target>) resets aliases/path/functions/_comps/ zstyle/bindkey to canonical in the live process — no parser, no importer, preserving $$/fds/cwd/history/jobs. Basis: docs/DAEMON.md "Universal cache dump/export/view" (zcache export aliasesunalias -m '*' + re-alias; --additive); daemon/ops.rs/export.rs (82 KB). Caveat: round-trip fidelity depends on canonical capture completeness.

31

Snapshot / list / load / diff of full shell state

MED

Saves portable rkyv snapshots of canonical state, lists them, restores one by atomic swap, and structurally diffs two snapshots per-record (added / removed / changed) — git-like state archaeology for a shell environment. Basis: daemon/snapshot.rsop_snapshot_save:81, op_snapshot_list:139, op_snapshot_load:178, op_snapshot_diff:323 (~/.zshrs/snapshots/<tag>.rkyv), with daemon/auth.rs:175-176 scoping exactly those four ops to snapshot.read / snapshot.write; DAEMON_AS_SERVICE.md. Caveat: there is no bisect op — bisecting to the first diverging record is described in the module doc header but is not implemented; only save/list/load/diff ship. v1 also defers publish/sign/verify and registry transport.

32

Anti-fork in-process coreutils + fork-free command substitution

LOW

Executes 23 coreutils (cat/head/tail/wc/sort/find/uniq/cut/tr/seq/date/…) plus 4 xattr ops as in-process builtins and captures $(builtin) via dup2 with zero fork. Basis: src/extensions/ext_builtins.rs (353 KB), RFC "Anti-Fork Architecture" + Appendix A parity matrix; xattr syscalls src/ported/modules/attr.rs; src/extensions/fds.rs. Caveat: in-process coreutils exist (busybox/nushell); the novel leg is doing it inside a zsh-compatible compiled shell with fork-free cmdsubst — "fastest, not first" by the project's own rule for the coreutils alone.

33

No-fork parallel execution: worker pool + VM-executed parallel primitives

MED

Shell-native parallel primitives (async/await/pmap/pgrep/peach/barrier) compile to bytecode and run on a persistent warm thread pool, replacing the fork(2)-per-subtask model (completion runs, command/process substitution) with bounded crossbeam dispatch — no address-space duplication. Basis: src/extensions/worker.rs (crossbeam pool, available_parallelism() clamped [2,18], 4×N backpressure, catch_unwind per task; doc contrasts zsh's zfork()/forklevel). Caveat: async/await as shell keywords overlap other languages; novelty is the zsh-superset surface + no-fork execution.

34

Cross-host daemon federation as a shell primitive

LOW

Federating peer shell-daemons across hosts so canonical state / pub-sub / dispatch span machines as first-class shell primitives. Basis: locked design goal in DESIGN_GOALS.md §0x04a + federate scope hooks in daemon/auth.rs:166, builtins.rs:1961, canonical.rs. Caveat: largely aspirational — no dedicated federation.rs, only scattered scope hooks; recorded ahead of implementation.

35

zask — daemon-queued cross-shell UI inbox (pull-mode)

LOW

Any process enqueues interactive UI requests (picker/input/dialog/menu/progress) to a daemon that never auto-renders; the target shell pulls them on demand (Ctrl-X q / zask take) without disturbing an active prompt. Basis: daemon/zask.rs + zask_builtin.rs (queue + ask:pending status-line event + inbox model). Caveat: v1 implements the queue; actual TUI rendering is deferred to ZLE integration — partly stubbed.

36

Shell-level xUnit test framework with cross-language-ported assertions

LOW

A built-in xUnit-style test framework (zassert_eq/ne/ok/err/gt/lt/match/contains/near/ dies, ztest_run, ztest_skip) runs in-process, ported from the author's strykelang test runner; z*-prefixed to avoid clashing with POSIX test/[. Basis: src/extensions/ztest.rs (40 KB); runner CLI in bins/zshrs.rs. Caveat: bats/shunit2 exist as external scripts; novelty is in-binary, compiled, with zassert_dies semantics.

37

zsh-aware source formatter surfaced via LSP formatting

LOW

A zsh-source formatter built into the shell, surfaced as zshrs --fmt and LSP textDocument/formatting, operating on the shell's own parsed AST. Basis: src/extensions/fmt.rs (47 KB) + func_body_fmt.rs. Caveat: shfmt exists for POSIX/bash externally; novelty is a native zsh-aware formatter wired to the shell's own parser + LSP.

38

No-GC shell runtime guarantee

LOW

A shell runtime that never traces, compacts, or stops the world — deterministic Rust ownership + Arc refcount + scope-bounded arenas, with a dependency policy banning GC'd crates — pitched as viable in latency-critical (audio/network/robotics) pipelines. Basis: docs/AOT_DESIGN.md §0x10 (memory-model table vs bash/zsh/fish/nu/Raku; dependency-rejection rules); Cargo.toml panic = "abort". Caveat: the property is inherited from Rust (other Rust shells like nushell are equally non-tracing) — the differentiator is the explicit guarantee, not a unique mechanism.

39

Reads and byte-compares zsh's own .zwc wordcode as a parser-parity oracle

MED

Decodes zsh's native compiled .zwc wordcode and emits a canonical AST S-expression so zshrs's parser output can be byte-compared against zsh's own bin_zcompile() output — a verifiable parser-parity oracle. Basis: src/extensions/zwc_decode.rs (43 KB) + zwc.rs (60 KB) + ast_sexp.rstests/parity/parity_harness.rs. Caveat: verification infrastructure, not a user-facing capability.

40

Real-PTY, per-file-persistent zsh test harness (ZTST)

LOW

A harness driving zshrs through a real PTY with a persistent per-file shell process and a block-boundary protocol, to prove behavioral parity against zsh's own ZTST suite (incl. ZLE/completion blocks). Basis: docs/ZTST_PTY_HARNESS.md; src/ported/modules/zpty.rs. Caveat: testing infrastructure with a forward-looking phase plan.

40a

First to port fish's syntax highlighting, autosuggestions, and history search natively into another shell

MED

fish's interactive trio — token-classification syntax highlighting, history-driven ghost-text autosuggestions, and history-backed suggestion search — reimplemented inside a non-fish shell's own binary, adapted from fish-shell's Rust codebase, rather than layered on as interpreted userspace plugins (zsh-syntax-highlighting / zsh-autosuggestions reimplement these as zsh script and pay interpreter cost per keystroke). Basis: zshrs/src/extensions/fish_features.rs (953 L; HighlightRole adapted from fish's parse_constants::HighlightRole, highlight_shell token classifier, role_to_ansi, autosuggest_from_history — reverse prefix-then-substring history search matching fish's suggestion order, validate_autosuggestion, plus fish abbreviations, kill ring, validate_command); in-module tests (e.g. autosuggest_from_history("git s", …)); re-exported at zshrs/src/lib.rs:323. zshrs's ZLE separately honors the plugin-side contracts ($POSTDISPLAY ghost text, region_highlightzle_refresh.rs:1225,4456). Caveat: the module is implemented and test-verified but not yet wired into the live ZLE keystroke path (only re-exported — no call sites in the input loop found); "history search" today is the suggestion-search engine, not a ported fish Ctrl-R pager; "first" rests on non-exhaustive prior-art absence (no other shell found shipping fish's trio natively in-binary).

40b

First to port the powerlevel10k prompt engine to the shell's native implementation language

HIGH

Powerlevel10k — ~13k lines of metaprogrammed zsh, the canonical "compatibility layer for a broken shell" — reimplemented as an in-process Rust segment engine inside the shell binary itself: sourcing powerlevel10k.zsh-theme is intercepted at builtin dispatch so the zsh theme never executes, the user's .p10k.zsh config still sources normally (its POWERLEVEL9K_* typesets land in the paramtab and are read back with p10k's own fallback chain), the engine renders PROMPT/RPROMPT eagerly at preprompt time (the theme's deferred ${...}-template state machine collapses into one linear fold per prompt), and gitstatusd is absorbed — git status computed in-process by a native .git reader (HEAD/refs/packed-refs, index v2/v3/v4 parse + lstat scan for unstaged/conflicted, stash reflog count, tag peel), no C++ sidecar daemon, no fork per prompt in the cached case. The theme file is the SPEC (segments ported from internal/p10k.zsh, cited // p10k:NNN), and no instant-prompt fakery: first paint = full functionality (AOT_DESIGN.md:994). Basis: zshrs/src/extensions/p10k/ (12,211 L, 11 files): mod.rs theme-source intercept + activation + the user-defined p10k segment custom-segment protocol; config.rs p9k_param fallback chain; 81 segment builders across segments_core.rs / segments_sys.rs / segments_env.rs / segments_extra.rs (dir, vcs, status, prompt_char, context, battery, wifi, vi_mode, kubecontext, aws, virtualenv, …); render.rs left/right multiline assembly with true right-alignment + gap char/style; expansion.rs CONTENT/VISUAL_IDENTIFIER_EXPANSION templates evaluated through the real ${(e)} subst chain + SHOW_ON_UPGLOB; transient.rs POWERLEVEL9K_TRANSIENT_PROMPT; git.rs native git status; icons.rs nerdfont-complete. Wired live at fusevm_bridge.rs (maybe_intercept_theme_source) and ported/utils.rs (preprompt_render, after the precmd hook); 94 in-module tests; the compat path doubles as the behavioral oracle (zinit_p10k parity 192/192, docs/PARITY.md:44). Caveat: staged/untracked counts still shell out to one gated git status --porcelain=v2 per cache miss (HEAD-tree diff needs a zlib object store — documented, not faked); a transient-repaint double-paint glitch is open; instant prompt and the config wizard are unported by design (the doctrine forbids the first; the second is config-authoring, not rendering); "first" rests on no other shell shipping its prompt theme in-binary — distinct from #116 (powerline-status, a Python renderer) — and is author-asserted.

40c

First shell to host third-party native plugins over a stable, independently-published, versioned ABI (zmodload -R)

HIGH

zsh and bash can both load native code — zsh zmodload C modules, bash enable -f — but each binds against the shell's internal private headers with no stable ABI and no version gate, so a native module is welded to one exact shell build and can crash a mismatched one. That is why neither ecosystem has meaningful third-party native modules: nearly all that exist are the ones the shell itself bundles. zshrs makes its native-plugin interface an independently-published, versioned ABI package: a third party runs cargo add znative, writes a handler, ships a compiled cdylib, and loads it into any compatible zshrs at runtime with zmodload -R <path> (-uR to unload) — native machine-code speed, no zshrs source tree, no shell recompile, and an ABI_VERSION-mismatched plugin refused at load rather than crashing. A plugin is an ordinary #[repr(C)] cdylib exposing one znative_init(host) symbol; it registers builtins into an in-process registry and calls back through a curated host API (print/eval/getvar/setvar). Plugin commands resolve in execute_external_bg before PATH lookup — the slot zsh uses for zmodload -ab autoloaded builtins. Plugins may still be written in zsh script (unchanged) or, now, native Rust; the Rust path is additive. Basis: zshrs/src/extensions/plugin_host.rs (dlopen via libloading, ABI_VERSION gate, in-process registry, host-callback table); the published crates.io znative crate (#[repr(C)] HostApi/PluginInfo, ABI_VERSION, INIT_SYMBOL); zmodload -R / -uR load/unload; declare_plugin! macro for native completions; docs/PLUGINS.md, docs/PORTING_ZSH_PLUGIN.md (forgit ported as a worked example), README §[0x0D]; examples/plugin-hello/. Caveat: runtime native loading itself is not new (bash enable -f since ~1996, zsh zmodload); the first is the stable, versioned, independently-distributed ABI — a crates.io SDK crate rather than the shell's build-tree internals — author-asserted on a non-exhaustive prior-art sweep.

40d

First shell package manager whose unit of installation is a native (compiled) plugin

HIGH

Building on the published native-plugin ABI (#40c), zshrs ships znative, a built-in package manager that installs a compiled plugin the way every other shell manager installs a script. It is global-only — one content-addressed store under $ZSHRS_HOME/pkg/, no per-project manifest or lockfile — and the whole workflow is one self-installing line per plugin in .zshrc: znative load owner/repo installs and loads on first shell start, then loads from the store with zero network on every start after. znative add / remove / list / info / update round out the surface, and sources auto-classify (owner/repo, github:…, git+URL, path:…, with @ref pinning). It installs both zsh script plugins and native Rust cdylib plugins (the #40c ABI), auto-detecting a native plugin from a Cargo.toml with a cdylib crate-type; an optional znative.toml names the plugin and its lib. znative is ported from stryke's package manager (#63), which AOT-compiles a whole dependency graph to native. Every other shell "plugin manager" — oh-my-zsh, zinit, antigen, sheldon, zplug — only clones and sources script plugins; none builds and installs a compiled native-code plugin, because before #40c there was no stable ABI to install against. Basis: zshrs/docs/ZNATIVE.md (full command/source surface), zshrs/docs/PLUGINS.md; zshrs/src/extensions/pkg/ (mod.rs, commands.rs, manifest.rs, resolver.rs, builtin.rs); zshrs/examples/plugin-hello, plugin-forgit, plugin-git-fuzzy, plugin-revolver, plugin-kubectl, plugin-zsh-z, each a runnable plugin with a Cargo.toml + znative.toml; the znative SDK crate (znative/). Caveat: runtime native loading predates this (bash enable -f, zsh zmodload); the first is a package manager whose install unit is a native compiled plugin — author-asserted on a non-exhaustive prior-art sweep.

40e

Ten-way, dual-flavor shell-emulation parity/fuzz harness gated on every push

HIGH

zshrs emulates other shells behind drop-in flags (--zsh, --bash, --ksh, --mksh, --mksh, --pdksh, --sh, --dash, --ash, --csh, --posix; zshrs/bins/zshrs.rs:1191-1220, 1658-1667), and the harness (tests/emulation_parity.rs, the WAYS table) drives ten parity ways (eight reference shells plus two zsh-emulation legs), each demanding byte-identical stdout + exit-code sign against its correct reference. Eight ways are real-shell-faithful — zshrs --X vs the actual shell X: zsh/bash/ksh/ sh/dash required, mksh/pdksh/ash best-effort (mksh and pdksh ride the ksh base, ash the Almquist/dash base). The other two are the invention's point — zsh-style cross-emulation legs. zshrs --sh matches real /bin/sh, but zshrs --sh --zsh deliberately keeps zsh semantics: it reproduces zsh's own emulate sh, which is only zsh's approximation of sh and is not byte-faithful to /bin/sh — so zshrs --zsh --sh != zshrs --sh by construction (the bare mode is the real shell; the --zsh flavor is zsh's fake of it). Because the only correct oracle for "zsh's fake of sh" is zsh itself, that leg is byte-compared against real zsh running emulate sh (ref_emulate: Some("sh")), not against /bin/sh; the --ksh --zsh leg does the same against zsh's emulate ksh. The harness therefore validates both what a shell really does and what zsh only pretends it does, each against its true reference (bins/zshrs.rs:1261-1271 posix-faithful toggle; src/extensions/dash_mode.rs; src/ported/utils.rs:4949). Alongside the fixed corpus runs a generative differential fuzzer (bins/parity-fuzz.rs, 77 grammar-driven modes, thousands of deterministic-output snippets per mode, zsh -fc vs zshrs --zsh -fc, baseline-gated with per-seed exact replay — parity-fuzz --seed N --once) and the dash-strict rejection suite (tests/dash_mode.rs). All of it is CI-gated on every push to main and every PR (zshrs/.github/workflows/ci.yml, on: push: branches:[main]; the Emulation parity job runs emulation_parity + dash_mode under ZSHRS_REQUIRE_REF_SHELLS=1 so a missing required reference fails rather than silently skips; the parity-fuzz job runs the fuzzer). Basis: the files cited above. Caveat: differential shell fuzzing and emulation matrices have prior art individually; the novelty asserted is the composition — ten parity ways, two of which byte-compare zshrs's zsh-flavored POSIX emulation against real zsh's own emulate, all fuzzed and gated on every push, on a memory-safe pure-Rust engine that excludes the C-shell memory-corruption class by construction — and "first" rests on a non-exhaustive prior-art sweep. mksh/pdksh/ash are best-effort (skipped when absent, never fatal). The real-PTY ZTST harness (#40) is separate and not yet CI-gated.

40f

First Unix shell to expose value lineage — where a parameter's bytes came from — as a builtin

HIGH

provenance -m NAME arms a ledger that records every bytecode-level event producing or consuming that parameter's value: the origin ($(…), <(…)/>(…)/=(…), a glob expansion, a heredoc/herestring, or an earlier assignment) and the ordered op chain that followed — assign / append / array / assoc / expand / concat / exec / call / unset — each stamped with $LINENO. provenance NAME prints the chain, -j emits JSON, -u untracks, -c clears. So ARCHIVE=${REPORT}.tar.gz reports its origin as the date substitution two lines earlier — even though ARCHIVE shares no bytes with that substitution's output — and records the argv slot it occupied when tar consumed it. This is strykelang's mark/provenance (#47) carried into a shell, where the mechanism cannot simply be reused: stryke keys lineage on a value's heap Arc, which works because a stryke value stays one Arc from creation to use. A shell value does not — the VM/host boundary passes String and the parameter table stores String — so zshrs keys three spaces at once: Arc identity for in-flight fusevm::Values (each row carrying a Weak so a recycled address never inherits a dead value's lineage), the tracked parameter name across assignment round trips, and the exact content bytes for values that crossed a String-typed boundary (speculative, bounded by an 8192-entry FIFO). Every tap keys on an exact identity; none infers a link by scanning word text. Basis: zshrs/src/extensions/provenance.rs (965 L, 14 #[test]) plus zshrs/tests/provenance_lineage.rs (9 end-to-end tests driving the built binary); taps at BUILTIN_SET_LINENO, BUILTIN_GET_VAR/_DQ, the concat_splice/concat_plan9 helpers and ShellHost::{glob,heredoc,herestring,exec,call_function,cmd_subst,process_sub_*} in zshrs/src/fusevm_bridge.rs, ShellExecutor::run_command_substitution in zshrs/src/vm_helper.rs, and the assignsparam / assignaparam / sethparam / unsetparam write funnels in zshrs/src/ported/params.rs. Each tap is one relaxed AtomicBool load until something is armed, and [provenance] enabled = false in ~/.zshrs/zshrs.toml (or ZSHRS_PROVENANCE=0) refuses arming outright so no ledger can exist in the process. Documented at zshrs/docs/PROVENANCE.md; shipped in v0.12.34. Prior art: none — no shell in the history of Unix has shipped value provenance, and the near-misses fail on a different axis rather than by a narrow margin (deep analysis in the appendix). Everything adjacent is either a different layer (OS/kernel provenance — PASS, CamFlow, SPADE — which records processes and files, never a shell's parameter values), a different granularity (ProvDB's provdb <cmd> prefix and the reproducibility wrappers capture whole command invocations, not the ancestry of one value), or a different question (set -x, SOURCE_TRACE, typeset -p, funcfiletrace all answer "what ran / what is it now / where was it defined", never "how was this value built"). Caveat: the limits are implementation-side, not claim-side. Lineage is parameter-granular — a value that never reaches an armed parameter keeps a chain only while its content row survives the FIFO. The param taps sit at the funnel head, so a write rejected downstream (read-only variable) still appears as an attempted assign; chains cap at 256 ops; globs of more than 32 matches are skipped; a subshell's ledger dies with the subshell.

III. strykelang — the language

strykelang: a syntactic synthesis of Clojure, Racket, Scala, Perl, and Ruby idioms, embedded in zshrs via @-prefix dispatch
41

Tri-tier Cranelift JIT + native-AOT for a Perl-5-compatible language

HIGH

A dynamic Perl-5-shaped language whose numeric hot paths lower to the shared fusevm three-tier Cranelift JIT, with a separate path AOT-compiling whole programs to relocatable native objects linked against libstryke.a. Basis: jit.rs (5,465 L, linear+block tiers), fusevm_bridge.rs (5,063 L), fusevm_native.rs (2,850 L, "Phase 1 of retiring strykelang's own VM"), aot_native.rs (stryke build --native). Caveat: tiers live in the sibling fusevm crate; stryke today offloads only eligible numeric segments (strings/arrays/hashes/closures stay on stryke's VM); whole-program native is WIP.

42

Self-contained AOT trailer-format executables with versioned magic

HIGH

stryke build appends a zstd-compressed script payload as a versioned, OS-loader-invisible trailer (8-byte AOT_MAGIC = b"STRK_AOT", aot.rs:39-40) to a copy of the interpreter binary, with idempotent rebuild and ~50 µs magic-suffix detection. Basis: aot.rs (530 L) layout [zstd payload][u64 lens][u32 ver][u32 rsv][8B magic]. Caveat: this track re-parses + re-runs on the interpreter at startup; the truly-native artifact is aot_native.rs.

43

rkyv zero-copy mmap'd bytecode cache for warm-start reruns

HIGH

Second-run scripts skip lex/parse/compile via a single rkyv-archived shard mmap'd and read through zero-copy ArchivedHashMap, ~11× faster warm starts, shared across concurrent invocations via the OS page cache. Basis: script_cache.rs (779 L, ~/.stryke/scripts.rkyv); docs/CACHE_RKYV_MIGRATION.md ("SHIPPED", p50 241 µs→22 µs). Caveat: not fully zero-copy (inner Program/Chunk still bincode); mtime+hash invalidation.

44

rkyv zero-copy KV store as a core builtin

HIGH

A first-class persistent CRUD key/value store (kv_get/kv_set/…) backed by a zero-copy rkyv archive — kv_get is mmap + validate + cast, no per-read deserialize. Basis: kvstore.rs (722 L), framed vs Python shelve/Ruby PStore/Perl DBM_File (all pay parse+alloc per read). Caveat: single-file archive + in-memory HashMap mirror + atomic rewrite on commit; not a concurrent multi-writer DB.

45

ai as a no-import language primitive with tool fn / MCP DSL

HIGH

LLM agents, tool-calling, MCP client/server, RAG memory, and cost-aware batching ship as a built-in ai primitive (call, ~> thread-macro, |> pipe; 67 ai_* builtins; hard USD ceiling via max_cost_run_usd, ai_cost, tokens_of, ai_mock deterministic test interception) rather than an imported SDK. Basis: ai.rs (6,638 L: agent loop, multi-provider dispatch, SSE streaming, prompt caching, vision/PDF, batch API, sqlite RAG, ai_filter/map/sort/classify/match/dedupe); ai_sugar.rs desugars tool fn/mcp_server (build-time JSON-schema-from-signature); mcp.rs (1,249 L, JSON-RPC stdio + streamable-HTTP). Caveat: in-process/offline model deferred (local = shell-out to Ollama/LM Studio); server-side mcp_server { } DSL pending (only client ships); Anthropic-first.

46

Inline Rust FFI blocks compiled to cdylib at runtime

HIGH

rust { … } blocks embedded in stryke source compile to a cdylib via rustc --crate-type=cdylib -O on first run, content-hash-cached, dlopened, and registered as callable subs. Basis: rust_ffi.rs (812 L) + rust_sugar.rs; cache at ~/.stryke/ffi/<sha256>.(dylib|so), ~10 ms warm dlopen. Caveat: requires rustc on the machine; cdylib runs with caller privileges (same trust model as do FILE).

47

Value provenance / lineage tracking as a builtin

MED

mark($x) tags a value's heap Arc so subsequent operations accumulate a lineage record retrievable via provenance($x) — automatic dataflow lineage exposed as a user verb, zero-cost when unused. Basis: provenance.rs (469 L), framed "no existing scripting language ships this"; carried into zshrs as #40f, where the heap-Arc key had to be replaced. Caveat: lineage accrues only for marked values; op coverage breadth unverified.

48

Polymorphic steganography builtins (hide/reveal)

MED

hide(carrier, secret[, key]) auto-detects carrier type — PNG LSB embed in RGB channels or zero-width-char text encoding (U+200B/U+200C) — with a self-describing wire format (CRC framing + key-XOR) for reveal. Basis: stego.rs (412 L). Caveat: two carrier kinds only; LSB stego is not cryptographically robust.

49

NAT-traversal builtins: STUN hole-punching + TURN relay fallback

HIGH

Language-level peer connectivity: stun/punch implement an RFC-8489 STUN client + UDP hole-punching state machine with no third-party crate, plus an RFC-8656 TURN relay-fallback client for symmetric NATs. Basis: nat_punch.rs (835 L, hand-rolled XOR-MAPPED-ADDRESS), turn_client.rs (965 L). Caveat: IPv4 only; protocol coverage is the common-case subset.

50

SHM multi-target IPC teleport/arrive + turnbuckle liveness

HIGH

teleport($val, @pids) broadcasts a serialized value to N receiver processes via a single POSIX shared-memory allocation + N read-only mmaps (beating N socket copies), with arrive() to receive and turnbuckle($peer_pid) for 1:1 heartbeat liveness over UDS datagrams. Basis: teleport.rs (420 L), turnbuckle.rs (271 L). Caveat: POSIX-only; value still JSON-serialized once on the sender; closures/blessed objects don't round-trip.

51

cluster() SSH worker pool + pmap_on distributed work-stealing

HIGH

A built-in cluster() opens persistent SSH connections, spawns stryke --remote-worker processes, and exposes the pool as a language value over which pmap_on $cluster { … } distributes work with work-stealing. Basis: cluster.rs (601 L), remote_wire.rs (1,077 L, framed bincode v3 persistent-session protocol). Caveat: requires the stryke binary on remotes; closures don't round-trip the wire.

52

Bare-metal stress builtins + fleet agent/controller REPL

HIGH

The single binary doubles as stryke agent and stryke controller (interactive fleet REPL: 6 commands — status/fire/eval/terminate/shutdown/help, 16 spellings incl. aliases, controller.rs:509 — scatter/gather over TCP+bincode), plus stress builtins (stress_cpu/stress_mem/stress_io/heat) pinning all cores to ~100% TDP, and Prometheus/CSV/JSON metric exporters (stress_metrics_prometheus/_csv/_json/_export/ _watch). Basis: agent.rs (1,017 L), controller.rs (1,448 L), stress.rs (1,835 L); tests/suite/scriptable_controller_pin.rs. Caveat: mTLS and k8s are roadmap; TDP figures are M3-Max-specific.

53

Probabilistic data structures (sketches) as stdlib builtins

MED

Bloom filter, HyperLogLog, count-min sketch, etc. ship as first-class %b builtins next to set/deque/heap, Arc<Mutex>-wrapped for safe use under parallel iteration. Basis: sketches.rs (3,479 L), framed world-first-as-stdlib vs pyprobables/bloom-filters npm. Caveat: the algorithms are well-known; the claim is "as stdlib primitives".

54

Tri-directional source translation: Perl ⇄ stryke and zsh → stryke

HIGH

Built-in subcommands convert Perl→stryke (convert), stryke→Perl (deconvert), and zsh→stryke (classifying builtins native vs externals to system()), with an AST deparser round-tripping code refs to source. Basis: convert.rs (1,990 L), deconvert.rs, zsh_convert.rs (1,979 L), deparse.rs (2,144 L). Caveat: conversion fidelity unverified; zsh externals fall back to system() strings.

55

Empirically-validated Perl 5 --compat on a JIT'd runtime

MED

A --compat mode pinning behavior to upstream Perl 5, specified by a ~20,000-test parity corpus, on a JIT'd runtime — claimed 2nd-fastest single-threaded dynamic language (behind LuaJIT) and fastest multithreaded. Basis: docs/patent.md Patent D #20; examples/rosetta/README.md (beats perl5/Python/Ruby/Julia/Raku, beats LuaJIT on 3 of 8); parity/; English.pm aliases english.rs; C3 MRO mro.rs. Caveat: the 20,000-test count and benchmark numbers are claims, not independently re-verified here.

56

Encyclopedic no-import stdlib (~10k verbs) incl. git/jq absorbed as builtins

HIGH

Thousands of builtins without import — version control (git), structured-data query (jq), terminal viz, crypto/stats/linalg — inverting "core minimal, libraries optional". Basis: 82 math_wolfram_*.rs (astronomy, GR, quantum gates, BLAS/LAPACK, pandas/scipy/sklearn analogues) + 24 builtins_*.rs files (21 excluding the *_tests.rs companions); builtins_github.rs; ~7,300–10,900 dispatch arms (documented ~10,449 incl. aliases). Caveat: exact count fuzzy (alias vs primary); absorbed jq/git are native subset reimplementations, not full upstream parity.

57

god heap introspection + nine compile-time reflection hashes

MED

god EXPR dumps heap pointer, Arc strong/weak counts, payload size, and generator/pipeline/closure-capture internals with cycle detection; complemented by nine compile-time-populated globally-named introspection hashes (%b/%all/%k/%a/%pc/…) giving O(1) bidirectional name↔callable indexing under the invariant %all = %a + %b + %k. Basis: god.rs (336 L); the reflection table is include!()'d from OUT_DIR at builtins.rs:53, with the "reflection"-tagged names starting at builtins.rs:614; patent.md D #17. Caveat: the disjoint-union invariant wasn't independently re-verified.

58

Polymorphic literal-typed range operator inferring 11+ element domains

HIGH

A single range operator infers element type from endpoint literal form — integer, char, hex (preserving width/case), IPv4, IPv6, ISO date (step=days), year-month (step=months), HH:MM time, weekday names, month names, Roman numerals — with no trait/protocol boilerplate. Basis: value.rs (~4533–4587) ordered dispatch; Op::Range/RangeStep vm.rs:6343; examples/ipv4_cidr.stk, examples/roman_numerals_no_interop.stk. Caveat: detection is heuristic/order-sensitive; the int/char part is Perl-..-like — the date/IP/Roman/time unification is the novel part.

59

Pipeline-operator family extended with parallel and distributed arrows

HIGH

Five+ first-class pipeline operators (|>, ->/->>, ~>/~>>) extended with arrows that fan a pipeline across cores (ThreadArrowPar) and across a remote cluster (ThreadArrowDist), composable with bare-fn, arrow-block, and positional-placeholder stage forms. Basis: token.rs:179-216; parser dispatch parser.rs:10093-10108 routing ThreadArrowPar/ThreadArrowParLastparse_thread_macro_chunk_par (parser.rs:8593) and ThreadArrowDist/ThreadArrowDistLastparse_thread_macro_dist (parser.rs:8654). Caveat: the "universal-access" framing is an abstraction over the operator set, not a verified invariant.

60

First-party LSP + DAP with a multi-editor plugin suite

HIGH

An embedded language server and a DAP server ship in-tree, plus first-party editor integrations spanning a full IntelliJ plugin (lexer/parser/DAP/refactor/navigate), Vim, Lua/Neovim, Helix, and VS Code/coc. Basis: lsp.rs + lsp_extras.rs/lsp_symbols.rs; dap.rs (1,997 L, st --dap, reuses debugger.rs); editors/intellij/ Kotlin plugin, stryke.vim, stryke.lua, helix-languages.toml, coc-settings.json. Caveat: per-editor completeness varies.

61

Reference docs generated from the LSP doc corpus (single source of truth)

MED

docs/reference.html and the interactive stryke docs browser are generated from one in-code corpus (lsp::DOC_CATEGORIES + doc_text_for), so hover-docs, the terminal pager, and the static HTML site never drift. Basis: bins/gen_docs.rs (cargo run --bin gen-docs), doc_render.rs, docs.rs. Caveat: each piece (LSP hover, doc-gen) has prior art; the single-source unification is the novel bit.

62

Rails-shaped web framework runtime as language builtins

MED

web_* builtins (serve, ORM web_db_*, chainable models, migrator) provide a Rails-style DSL whose generator emits a full-stack app, intended to AOT-compile to a single static binary on thread-per-core io_uring. Basis: web.rs (3,952 L) + web_orm.rs (1,880 L, SQLite-backed ORM/migrator); stryke_web/ generator; docs/WEB_FRAMEWORK.md. Caveat: HTTP/2, glommio/io_uring, SIMD parser deferred to "Phase 2+"; ORM is SQLite-only.

63

Package manager that AOT-compiles the whole dep graph to native

MED

A Cargo/uv/Nix/Bundler/npm-synthesis package manager (s CLI: init/add/build/ publish) with TOML manifest, hash-pinned lockfile, content-addressable store, and per-package-scoped features, whose s build --release AOT-compiles user code + every dep + stdlib through Cranelift to one static binary. Basis: pkg/ (manifest.rs/lockfile.rs/resolver.rs/store.rs/commands.rs); docs/PACKAGE_REGISTRY.md; bins/s.rs. Caveat: the "compile every transitive dep to native" feature depends on the still-WIP whole-program native path; registry maturity unverified.

IV. Audio & the modular DAW — the zpwr stack

zpwr-patch-core: host to plugin to layered engine to a per-voice patch graph to a shared bus to output, with the mod matrix on the side zdsp-core, the shared header-only DSP library vendored by every audio app the fully-modular DAW: every track a patch graph, every parameter a mod-matrix target physical-modelling networks: real waveguide-string and modal bell/bar models as DSP blocks algorithmic production: generate a full arranged track to an Ableton .als or native .zdp three JUCE plugins (zpwr-synth/fx/midi-fx) as thin shells over one shared zpwr-patch-core + zdsp-core engine, hosted by zpwr-daw the unified DSP block library: one deduplicated catalog of ~4,238 globally-unique blocks across audio, synth, and MIDI the clip/arranger engine (zpwr-clip-engine): transport, sequencer, automation, and scene launcher, exposed as an embeddable arranger with a C ABI
64

General-purpose DAW arranger that runs as a plugin AND embeds in any GUI app

MED

A complete two-view arranger (Arrangement + Session, clips, breakpoint automation, tempo/meter maps) shipping standalone, as a VST3 inside another DAW, and embedded in arbitrary hosts — designed to drive even non-audio ones off the same clip/automation timeline. Basis: zpwr-daw app + zpwr-clip-engine; editor/arranger/automation verified. Caveat: "None found", not proven (see analysis). The audio render path is written but unverified (pending JUCE build). The non-audio embeds are wired today: traderview vendors zpwr-clip-engine as a submodule (frontend/vendor/zpwr-clip-engine), registers the six FFI commands clip_seq_{pattern,transport,play,step,poll_events,export_midi} in traderview/src-tauri/src/lib.rs:492-497 (state at :294), and mounts the grid in frontend/js/views/sequencer.js; ztranslator imports ./vendor/zpwr-clip-engine/webui/clip/clip-seq.js and calls initClipSeq(...) from crates/ztranslator-core/frontend/ztranslator_view.js:1235-1258, driving the real C++ engine under Tauri and the non-audio JS step backend in a plain browser. What is still design intent is those timelines carrying domain payloads (trades, translation events) rather than notes.

65

Fully modular DAW — every track/layer/bus is one user-patchable graph

MED

Not a fixed channel-strip mixer with a modular device bolted on, but a DAW whose entire signal path is a user-patchable graph — every track auto-owns a layer, each layer is a stereo patch graph hosting oscillators/FX/VST3-AU plugins, the synth panel and mod matrix are generated from that same patch, and master/aux/global-mod buses are themselves patch graphs. Basis: zpc::StereoGraph (PatchEngineT<StereoSample>) + native stereo Plugin host, shared across all four products; per-track stereo graphs wired into the daw. Caveat: "None found", not proven (see analysis). Modular audio render (per-track graphs → master mix) is in progress / partially unverified — graph/wrapper/stereo-block are compile-verified; full per-track audio + cue bus still being wired.

66

DAW with an embedded interactive shell terminal

MED

A real interactive shell running inside the DAW (the MenkeTechnologies stack — zshrs/stryke), not a constrained scripting console, for driving the shell/CLI from within the project. Basis: part of the zshrs/stryke ↔ daw integration. Caveat: "None found", not proven; in progress, recorded ahead of completion. Scripting consoles exist (ReaScript, Max), but a full embedded interactive shell terminal in a DAW has no clean prior art found.

67

DAW with an embedded scripting language for all lifecycle hooks + GUI automation

MED

stryke embedded as a first-class scripting layer wired to every DAW lifecycle hook (load/save/transport/clip/track/render) and able to drive the GUI itself (interface automation, not just audio params). Basis: part of the stryke ↔ daw integration. Caveat: "None found", not proven; impl WIP. Reaper ReaScript / Bitwig controller scripts expose some actions, but a language bound to all lifecycle hooks and GUI automation has no clean prior art found.

68

DAW designed for one-click algorithmic music production

MED

Built from the ground up so the modular graph + embedded scripting + generative engine produce a finished, professionally-mixed track from a single action — generation as the primary workflow, not a loop-pack assist bolted onto a linear DAW. Basis: generative engine (zpwr-algo-production, 282 tests) linked over a C ABI; the PRODUCE tab generates a full arrangement in one click with chooseable output (.zdp or Ableton .als). Caveat: "None found", not proven. Auto-mix/master polish is maturing.

69

Signal-agnostic patch-graph core templated on the signal type

HIGH

One modular cable-routing/evaluation engine that "knows nothing about audio or MIDI", templated on the signal it carries (float audio, an L/R stereo pair, or a note-event stream), so one core powers an FX, a synth, a MIDI effect, and a DAW unchanged. Basis: zpwr-patch-core/include/zpc/PatchCore.h (graph templated on SignalTraits<S>), src/PatchCore.cpp; tests PatchCoreTest.cpp. Caveat: signal-agnostic graphs exist in research patchers; the reusable cross-domain C++ core is the novel artifact.

70

~3.5k mono FX blocks auto-promoted to true stereo via dual-mono wrapping

HIGH

Any of the ~3.4k mono DSP blocks runs in real stereo "for free" by a generic wrapper that instantiates the block once per channel with independent L/R state, over a stereo graph where a single cable carries an L/R pair — no hand-written stereo block set. Basis: StereoGraph.h (wrapMonoAsStereo, registerStereoModules), StereoPluginBlock.h; wired in zpwr-daw .../PluginProcessor.cpp. Caveat: the daw stereo path is compile/link-verified and "sums silence until a track's stereo graph hosts an instrument/FX".

71

Unified ~4,238-block globally-unique DSP library across audio/synth/MIDI

HIGH

One shared, deduplicated block catalog (3,366 audio, 309 synth, 563 MIDI), every name globally unique, drawn on by all three plugins and the DAW. Basis: zpwr-patch-core/BLOCKS.md (auto-generated by scripts/gen_blocks.py from registration sites); category counts grep-confirmed. Caveat: raw count includes many close variants; "largest" not independently benchmarked.

72

194 component-level analog-circuit-modeled blocks on a shared device-solver

HIGH

194 blocks are true per-sample nodal/Newton circuit solves — ZDF ladder/SVF, Shockley-diode & Ebers-Moll-BJT clippers, Koren 12AX7 triode + EL34 push-pull power stage, Jiles-Atherton tape hysteresis, Lambert-W Lockhart wavefolder, four-diode ring mod — not voiced approximations, sharing one ckt:: framework. Basis: Circuit.h, TubeAmp.h, Analog.h; per-block audit ANALOG_CIRCUIT_MODELING.md ("0 abstract / 0 partial"). Caveat: breadth is the novelty; individual device models are established techniques.

73

21 physical-model instrument-network blocks with string↔body coupling

MED

21 blocks are full instrument networks — Extended Karplus-Strong waveguide strings + modal resonator banks + bidirectional string↔body coupling — so sympathetic resonance and attack transients emerge from the physics. Basis: PhysicalModel.h (20 tech="physical" tags) + Physical.h (1) = 21; BLOCKS.md PHY badge. Caveat: physical modeling is a known field; novelty is offering coupled string/body networks as drop-in patch blocks.

74

Generative-math block family: number-theory / chaos / cellular-automaton generators

MED

A large family of sound/sequence generators driven by pure mathematics — Abelian sandpile, abundant/Achilles/Harshad number gates, Collatz/Fibonacci/prime sequences, Game-of-Life / Langton's-Ant / Brian's-Brain CA, strange attractors and chaotic neuron maps — as first-class audio and MIDI blocks. Basis: NovelBlocks.h, AudioModules.h; 365 blocks self-described "a first as a synth block". Caveat: scattered math-music mappings exist in research/Reaktor patches; the systematic registry library is the claim.

75

Mod matrix derived automatically from the patch graph

MED

The modulation matrix is not a separate fixed grid — every node carries a float scalar projection of its output and every node parameter exposes a (source, depth) mod slot, so any block is automatically a modulation source for any parameter. Basis: PatchCore.h / src/PatchCore.cpp (mod-matrix eval, per-node scalar projection); README [0x00]. Caveat: modular synths inherently allow mod-from-anywhere; the explicit per-node-scalar-projection formalization is the distinctive engineering.

76

True-stereo mirror maintained from a single editable mono chain (Stereo Lock)

MED

A "Stereo" toggle mirrors an entire mono patch (every block, cable, mod) into an independent right-channel clone chain (node j′ = j + N, reading In R where the original reads In L), auto-re-mirrored on every structural edit, with an optional "Lock" linking L/R knobs. Basis: zpwr-patch-core README [0x03] (stereoize/stripStereo/stereoSync/ NodeDef::clone/reconcilePresetModes). Caveat: audio-host only; an editor/graph transform, not a new DSP capability.

77

Reusable sub-patch "user modules" with a serverless git-backed registry

MED

Any selection of blocks (with internal cables, mods, tempo-sync) saves as a self-contained reindexable .zmod sub-graph that splices into any patch and degrades gracefully across hosts, shared through a static git-backed JSON registry with no server (PR-based publishing). Basis: PatchCore.h (extractSubPatch/spliceInsert/ModulePorts); README [0x05] (.zmod, registryUrl, listModules/saveModule/importRegistryModule). Caveat: Phase 1 splices modules into real blocks (no nested-block encapsulated playback yet).

78

Single FX plugin exposing the entire patch-graph palette (H3000-Factory generalized)

HIGH

A shipping VST3/AU/CLAP effect with no fixed node count where the user wires any number of the 3,366 audio blocks into arbitrary feedback/cross-modulation patches — the "build-your-own-algorithm" idea generalized to thousands of primitives. Basis: zpwr-fx/README.md [0x00]/[0x02] (dynamic patch graph, summing buses, one-sample-delay feedback); src/ consumes libs/zpwr-patch-core. Caveat: practical patch size is CPU-bound.

79

Fully modular polyphonic synth where the patch is the voice

MED

A VCV-Rack/Reaktor-Blocks-lineage synth with no fixed signal path: the user-built patch graph is instantiated as each voice across a polyphonic pool, with Scala microtuning applied as a fractional-note external so every oscillator inherits the tuning. Basis: zpwr-synth/README.md [0x00]/[0x01] (zsynth::PolyEnginezpc::RuntimeGraph per voice); dsp/SynthModules.cpp; Scala.h. Caveat: modular synths exist (VCV, Voltage Modular); novelty is sharing the exact graph core with the FX/MIDI/DAW products.

80

Modular MIDI-effect operating on a note-event stream through the same patch core

HIGH

A patchable grid of note-stream modules (harmony, sequencing, probability, MPE/voicing, plus CA sequencers like Game of Life / Brian's Brain / Langton's Ant) running the same signal-agnostic patch core as the audio plugins, but with note events as the inter-block signal — vs. fixed chord/arp tools like Cthulhu. Basis: zpwr-midi-fx/README.md [0x00]/[0x01]; src/midi/MidiModules.cpp (563 MIDI registrations). Caveat: README's "111 modules" is a representative tier vs BLOCKS.md's 563 registrations (different granularities).

81

One clip/arranger engine, single source, dual-built C ABI + JS, embedded across apps

MED

The DAW's pattern→events→transport/MIDI scheduler is extracted as a header-only pure-C++17 engine that compiles two ways from one source (a static .a the DAW links natively and a .dylib/.so Tauri apps load via Rust FFI), paired with one JS canvas grid whose domains (arranger/notes/launcher/automation) are reused verbatim by every GUI app, with a non-audio JS fallback backend. Basis: zpwr-clip-engine/README.md (engine/include/zpc/ClipEngine.h, engine/include/zpc/capi/clip_engine.h zpc_clip_*, engine/CMakeLists.txt:18,21 (zpwr_clip_engine SHARED + zpwr_clip_engine_static STATIC), webui/clip/clip-seq.js, clip-basic-backend.js). Caveat: the Tauri FFI wiring "lands in steps"; several commands are no-ops in non-DAW hosts.

82

Byte-identical MIDI export from independent C++ and JS code paths

MED

Standard MIDI File export is implemented twice (native C++ MidiFile.h and JS grid/export/midi.js) and produces byte-identical output, so a project exports identically whether driven by the native engine or the browser fallback. Basis: zpwr-clip-engine/.../MidiFile.h + webui/grid/export/midi.js; tests under webui/grid/tests/. Caveat: a parity guarantee asserted in docs/tests, not independently re-verified.

83

Generative engine that emits finished Ableton Live Sets and native projects from one action

HIGH

A standalone Rust engine generates a complete professionally-arranged track (section structure, key/tempo with key-compatibility theory, per-section MIDI, genre engines) and writes a full Ableton .als Live Set (MIDI + audio clips + automation) or a native .zdp embedding the live project JSON for instant in-DAW load. Basis: zpwr-algo-production/src/ (als_project.rs, als_generator.rs, midi_generator.rs, trance_generator.rs, zdp.rs + XML templates); all 7 generator modules build, 282 tests pass. Caveat: genre coverage is currently mainly trance.

84

Dependency-free BPM detection + audio similarity fingerprinting

LOW

Tempo estimation and an audio fingerprint/similarity metric with zero external DSP dependencies (symphonia decode only), usable for sample selection in generation. Basis: zpwr-algo-production/src/bpm.rs, similarity.rs (both ✅, "zero external deps"). Caveat: standard DSP tasks; novelty is the dependency-free embeddable packaging.

85

Plugin scanner with architecture detection via direct Mach-O/PE parsing + live KVR checking

MED

A desktop app that maps every VST2/VST3/AU/CLAP plugin, reads each binary's architecture (ARM64/x86_64/Universal) by directly parsing Mach-O/PE headers, indexes sample libraries and DAW project files with header-extracted metadata, and checks KVR for newer versions with a persistent scan changelog. Basis: Audio-Haxor/README.md [0x01]/[0x09]; src-tauri/src/audio_extensions.rs, crates/zpwr-crate. Caveat: a cross-platform asset/plugin manager; "no other does this" not proven.

V. Desktop GUI applications & shared UI

the desktop fleet: seven non-terminal GUI apps embed one shared ZGui.tmux window manager over their own document content the Tauri v2 GUI fleet: fifteen desktop apps, each a thin shell over a -core crate, sharing zgui-core and the zwire-host agent
86

Pure-Rust embeddable reimplementations of named desktop tools (a "port family" — not firsts)

LOW

Many of the desktop -core engines are faithful pure-Rust reimplementations of an existing tool, so their features are parity, not invention, and they are consolidated here rather than carried as separate claims: zpdf-core→Acrobat (a full editor — render/annotate/form/sign/AES-256-vs-qpdf/ linearization/convert), zcontainer-core→Docker Desktop (Docker+K8s+Helm via bollard/kube-rs), zftp-core→Cyberduck (13-protocol OpenDAL + pure-Rust SCP), zreq-core→Postman (collections/ auth-signers/codegen/gRPC-Web), zemail-core→Thunderbird (IMAP/POP3/SMTP/PGP/CardDAV + a cross- client feature superset: Hey Screener, Proton expire, Gmail snooze…), zphoto-core→GIMP/Photoshop, zoffice-core→LibreOffice, zgo-core→Alfred, ztunnel-core→Tunnelblick (adds a native userspace WireGuard data path), zcite-core→Zotero. Basis: each project's README + PORT_REPORT. Caveat: parity features are not "world's firsts". The genuine novelty across this family is not any one app but (a) the shared embeddable-engine pattern (#162) and (b) the durable-dependency discipline (#163); the app-level exceptions that are distinct firsts are #89 and #89a below.

89

Self-hosting Docker daemon via Apple Virtualization.framework

MED

A Docker-Desktop replacement that provides its own dockerd by booting a Linux guest directly on macOS Virtualization.framework (objc2-virtualization) — no vfkit/limactl/qemu/Colima binary and no Docker Desktop dependency. Basis: zcontainer-core/README.md "Daemon management": src/daemon.rs, src/vm.rs (vm feature), scripts/build-guest-image.sh (Kata VZ kernel + Alpine/dockerd rootfs + vsock bridge), socket proxy to ~/.zcontainer/run/docker.sock. Caveat: the managed-VM path requires a signed tauri build (com.apple.security.virtualization); an unsigned build reports vm_runtime_unavailable, so end-to-end self-hosting isn't verifiable from a dev build.

89a

Git-style content-addressed version control stored inside the PDF file itself, with per-glyph blame and bisect

HIGH

zpdf-core embeds a full Merkle version-control system inside the PDF's own trailer: every commit snapshots the whole object graph as a BLAKE3 content-addressed DAG — a Blob is one object version deduplicated by content hash, a Tree is a revision's ObjectId → blob-hash map, and a Revision id is BLAKE3(parent ‖ timestamp ‖ message ‖ tree) so any change anywhere changes the id (a true Merkle commit) — serialized as one Flate stream under a private /ZPDFVCS key, so the entire history travels with the file: no sidecar, no .git, no server. The public API is vcs_commit / vcs_log / vcs_diff / vcs_blame / vcs_blame_lines / vcs_checkout / vcs_bisect, including per-line blame within a content stream (point at a glyph run's owning stream to blame that glyph) and a good/bad-revision bisect. Basis: zpdf/crates/zpdf-core/src/vcs.rs (805 L; Blob/Tree/Revision, blake3::hash, VCS_TRAILER_KEY = b"ZPDFVCS", public methods vcs.rs:632-716, blame/blame_lines at :466/:492); the DAG survives linearization (src/linearize.rs:76-80,482-490 re-emits /ZPDFVCS across prune/rewrite) and is surfaced through src/tauri_plugin.rs; blake3 = "1" in Cargo.toml. Test-verified: vcs.rs inline mod tests asserts commit + vcs_log ordering, content-hash dedup (one changed object → exactly one new blob), vcs_diff modified/added/removed/unchanged classification, vcs_blame, and a vcs_checkout round-trip restoring an object's exact bytes (BT /F1 12 Tf (Hello) Tj ET). Caveat: the second app-level exception to the #86 port family (with #89) — not an Acrobat parity feature: Acrobat/PDF incremental-update revisions are an append-only save chain, with no content-addressed DAG, no per-object/glyph blame, and no bisect. "None found", not proven — no PDF tool found stores a git-like content-addressed history with blame/bisect inside the file; search not exhaustive.

94

General event-translation engine routing any trigger to a non-MIDI protocol matrix

MED

A BOME-MIDI-Translator-class engine whose Outgoing layer fans far beyond MIDI/keystroke into a large protocol matrix — OSC, Art-Net/DMX, sACN/E1.31, MQTT, WebSocket, raw TCP, HTTP, Ableton Link, eurorack CV/gate (DC-coupled audio), MTC/MMC/RTP-MIDI, gamepad rumble, HID — all from one rules VM, embedding into non-MIDI Tauri hosts. Basis: ztranslator/README.md Outgoing-actions table (backends rosc/rumqttc/tungstenite/rusty_link/cpal/gilrs), rules.rs integer VM, tauri/ plugin + frontend/ztranslator_view.js mountZTranslator. Caveat: PORT_REPORT self-reports 71.9% BOME coverage; OS-control + CV/gate are macOS-only.

95

Lossless clean-room BOME .bmtp round-trip

MED

A clean-room importer/exporter for BOME MIDI Translator Pro .bmtp projects that round-trips losslessly — undecoded encodings (MID1, KAM1, mouse, serial) are preserved verbatim so a project survives re-export even when individual entries aren't yet natively understood. Basis: ztranslator/README.md §0x03; bmtp/ module; Outgoing::Raw. Caveat: export is unsigned (no RSA signature), so signed BomeBox/MT-Player export is out of scope.

96

One workspace → desktop (embedded Postgres) and multi-user web (axum) from identical crates

MED

A trading journal shipping two binaries from one Rust workspace — a Tauri desktop app that downloads/runs an embedded PostgreSQL on first launch (auto-login, offline) and an axum web server on external Postgres (argon2+JWT) — sharing crates, schema, migrations, FIFO roll-up, and verbatim frontend. Basis: traderview/README.md §0x01-0x03; postgresql_embedded (~/.theseus), shared traderview-{core,db,import}; src-tauri holds Embedded across axum::serve. Caveat: dual-target embedded/external DB patterns exist generally; the specific novelty is modest.

97

On-device, LLM-free receipt + tax-form OCR with a US tax compute engine

MED

A trading journal bundling a no-cloud/no-LLM receipt + IRS-form OCR pipeline (Apple Vision/ Tesseract/PaddleOCR ensemble, W-2 / 1099- / 1098 parsers, 20-bucket Schedule C taxonomy) feeding a dependency-light US federal tax compute engine pinned to IRS Rev. Proc. 2024-40 with 218 unit tests. Basis: traderview crates — traderview-ocr (5.2k LOC), traderview-expense, traderview-tax (6.6k LOC; 5 deps — serde, serde_json, rust_decimal, chrono, thiserror). Caveat:* the notable part is integration ($0/receipt, on-device) inside a trading app; test counts/LOC are README-reported.

98

stryke-JIT backtest engine + walk-forward + custom-indicator AST in a journal

MED

A trading journal embedding the stryke language's JIT as its backtest/strategy engine — JIT-compiled backtests, a walk-forward sweeper, a custom-indicator AST, and strategy alerts gated by optional stryke predicates with webhook payload templating. Basis: traderview/README.md §0x00 + traderview-core ("stryke-JIT backtest engine + walk-forward sweeper… custom-indicator AST"), traderview-stryke host bridge running stryke lifecycle hooks as sandboxed subprocesses. Caveat: an application of the fusevm/stryke runtime (#1); engine maturity not build-verified.

99

A shared cyberpunk widget library spanning a heterogeneous desktop-app suite

MED

258 framework-free window.ZGui.* components (one webui/*.js module each) — including DAW-grade controls (rotary knob, 88-key playable piano, modular patchbay with drag-to-connect bezier cables, ADSR/LFO/curve editors, dB faders, peak/LUFS meters) alongside tables, modals, charts, and shell chrome — consumed by submodule (never copied) as the single UI source across a whole suite of unrelated desktop apps (terminal, mail, FTP, PDF, container, trading, translator…). Basis: zgui-core/README.md (full webui/ table) + CONSUMERS.md (submodule-only rule). Caveat: shared component libraries aren't novel; the unusual part is one cyberpunk kit carrying both business-app widgets and synth/DAW hardware controls as plain static JS with no build step.

100

Enforced cross-app UI baseline via a headless CI gate

MED

A mandatory ZGui.appShell baseline (splash, ⌘K palette, rebindable shortcuts, settings, native OS menu) plus a headless render gate that fails any app's build if the baseline stamp/chrome or submodule placement is missing — mechanically enforcing one UI across the suite, with auto-installed Emacs/readline editing on every <input>/<textarea>. Basis: zgui-core/CONSUMERS.md §0 (appShell, scripts/baseline-gate.mjs, dataset.zguiBaseline, placement assertions), util.js. Caveat: a discipline/tooling invention, not user-facing.

101

Six browser power-tools in one MV3 extension with a pure-Rust native host

MED

One Chrome MV3 extension unifies a pass/browserpass-compatible vault (profile + credit-card autofill), a segmented multi-connection download accelerator, a JetBrains-style MRU tab switcher, fzf history, a Tampermonkey-equivalent userscript engine, full-page screenshot stitching, and a Wappalyzer-compatible detector over a vendored 3,993-fingerprint corpus — all backed by a single pure-Rust native-messaging host. Basis: zpwrchrome/README.md + zpwrchrome-host (Rust port of browserpass-native v3.1.2 + otp/search/dl.*, ureq+ rustls); 3044 JS + 127 Rust tests; lib/wappalyzer/engine.js. Caveat: each capability replaces a known tool; novelty is consolidation + a single static Rust host.

102

Pure-Rust segmented download accelerator that owns the browser's default

MED

A multi-connection (Range-segmented) download accelerator in a vendorable pure-Rust host (no aria2/axel binary) that intercepts every Chrome download by default, with truncation/premature-EOF detection, resume, cookie+UA forwarding, and a byte-count completion gate. Basis: zpwrchrome/README.md "Segmented download accelerator" (zpwrchrome-host dl.*, HEAD probe → N concurrent Range GETs, pre-allocated dest). Caveat: download accelerators are a known category; the angle is doing it as the default handler from a single Rust host.

103

MacVim-style native GUI wrapping a Rust Emacs port

MED

A native desktop GUI that wraps the zmax Rust Emacs/Helix-modal editor by running it in an embedded PTY and driving it purely through ex-commands, with every GUI surface (menubar, toolbar, palette, dialogs, file tree) built from zgui-core. Basis: zmax-gui/README.mdzpwr-embed-terminal PTY, open_intake.rs (mvim:// deep-link → :open), bundled zmax+stryke sidecars, frontend/main.js zgui widgets → PTY (with frontend/panels.js and frontend/tmux-config.js alongside it). Caveat: the "wrap-a-CLI-editor-in-a-window" pattern is MacVim; novelty is doing it for a new Rust Emacs entirely through a shared web widget kit + PTY.

104

First-class tmux client over the native wire protocol (live editing + profiles + dashboard)

HIGH

A terminal emulator that speaks tmux's native control protocol directly to the server socket (no tmux subprocess) and is the first to (a) live-edit a running tmux server's options/buffers/keybindings from its own UI, (b) capture entire-config + tmux-state into one-click switchable profiles, and (c) ship a custom live telemetry dashboard built from a real component library. Basis: zterminal/docs/INVENTIONS.md (3 documented firsts) backed by crates/ztmux-core; dashboard on zgui-core. Caveat: "first" is to the author's knowledge; the tmux-client and dashboard claims are documented as verified in-repo.

104a

First complete vertical integration of the terminal stack — emulator + multiplexer + shell + CLI, one owner, wire protocol immune to upstream

HIGH

One author owns every layer of the terminal stack and the wire protocol between them: the emulator (zterminal), the native tmux client engine (ztmux-core), the tmux server+client rewrite (ztmux), the shell (zshrs), and the CLI suite (zpwr). Because both ends of the tmux wire protocol are owned, upstream tmux can never break it: ztmux-core (client) and ztmux (server) both pin PROTOCOL_VERSION = 8, so a future upstream protocol bump would break ztmux-core only against a system tmux — the ztmux-core↔ztmux pairing stays version-locked because both endpoints move together under one owner. The client leans into the owned server by default (probes the ztmux-<uid> socket before tmux-<uid>, prefers the ztmux binary), so no third party sits in the critical path from keystroke to rendered cell. Basis: ztmux-core/src/transport.rs:23 const PROTOCOL_VERSION: u32 = 8 + socket_path() probes ztmux-<uid> first; ztmux/src/ported/tmux_protocol_h.rs:1 pub const PROTOCOL_VERSION: i32 = 8; ztmux-core/src/ops.rs tmux_bin ztmux-over-tmux preference; zterminal embeds crates/ztmux-core; zshrs + zpwr are the shell and CLI in the same monorepo. Caveat: "first person" is author-asserted, not a proven absolute — a web search can't exhaustively rule out another solo owner of an equivalent full stack; the verifiable in-repo part is that all five layers exist under one author here and the two wire-protocol endpoints pin the same version. Prior-art sweep (WebSearch, 2026-07, US-only, not exhaustive): the closest single-author case is WezTerm (Wez Furlong) — emulator + multiplexer, but it drives an existing shell (bash/ zsh/fish) and ships no shell or CLI suite; Zellij (Aram Drevekenin + team) is a multiplexer only; Warp is a company and uses existing shells; Ghostty (Mitchell Hashimoto) and kitty (Kovid Goyal) are emulators with no shell rewrite; and every custom shell (fish, nushell, Elvish/xiaq, Oils) owns only the shell layer. No party found owning emulator + multiplexer + a from-scratch shell + a CLI suite together — the five-layer combination is the candidate first.

105

Unified Exposé + scrollback search across native panes and tmux panes

LOW

zterminal blends its own i3-style native split tree (one PTY per pane) with tmux so Exposé (⌃⌘E) tiles every native window and every tmux pane together, and ⌃⌘P greps every tmux pane's scrollback — treating native and tmux panes as one searchable surface, and decoding inline-image protocols (incl. Kitty animation) even when wrapped by tmux passthrough. Basis: zterminal/README.md (Exposé ⌃⌘E, search ⌃⌘P, native split tree, image protocols through tmux). Caveat: splits and image protocols individually exist (kitty/wezterm/iTerm2); the combination is the candidate; not in the repo's own INVENTIONS.md.

zterminal is an Alacritty derivative (zterminal_core); base VT/grid/search/hints are not claimed. The entries below are zterminal's own additions.

105a

Per-pane process/activity monitor spanning native panes and the reparented tmux server

MED

An in-app "Processes" tab renders a live CPU/MEM process tree rooted at every pane's shell — including descending into the tmux server's reparented children — and can signal/kill only pids that are descendants of its own panes. Basis: src/event.rs pane_process_tree() builds a ppid→children map from a sysinfo snapshot, seeds roots from wc.pane_shells() + ztmux_core::ops::panes() pids (labeled tmux <s>:<w>.<p>); "kill_process" IPC arm gates signals to the seen descendant set. Caveat: Unix-only; an inspector, not a top replacement.

105b

GUI env-var editor that hot-injects exports into every running shell

MED

Editing an env var in the control panel both persists it to [env] in zterminal.toml and live-broadcasts export NAME=value / unset NAME into the PTY of every already-running shell across all panes, so it takes effect without relaunching. Basis: src/settings.rs save_env_var()/delete_env_var() (toml_edit) then EventType::BroadcastInput; export_command() POSIX-single-quotes + leading space (to dodge HISTCONTROL=ignorespace); window_context.rs broadcast_input(). Caveat: injects a shell command — affects shells at a prompt, not arbitrary child programs.

105c

Native tmux session save/restore (resurrect/continuum) over the wire protocol

MED

Reimplements tmux-resurrect/continuum natively over tmux's binary wire protocol — snapshotting every session→window→pane with exact window_layout, cwd, and the pane process's full captured command line, then rebuilding the tree, optionally relaunching processes (resurrect-style whitelist) and replaying saved pane scrollback, with opt-in auto-restore on launch. Basis: crates/ztmux-core/src/snapshot.rs (<name>.json + <name>.contents/); proc.rs reads each pane's foreground command line natively (libproc KERN_PROCARGS2 / /proc, no pgrep); src/event.rs resumed() fires restore(...) off-loop; overlay ⌃⌘S. Caveat: live process state can't be restored (panes return as fresh shells with the command replanted); resurrect as a concept is prior art — the novelty is doing it natively over the wire from an emulator.

105d

Cross-session/cross-window tmux broadcast beyond synchronize-panes

MED

A broadcast overlay sends keystrokes (or snippets) to an arbitrary checked set of tmux panes spanning any windows and sessions at once — which native tmux can't do, since synchronize-panes is scoped to a single window. Basis: crates/ztmux-core/src/ops.rs broadcast_list() + send-keys toggle; src/settings.rs open_tmux_broadcast() + "tmux_broadcast_list" / "snippet_broadcast" arms; ⌃⌘B. Caveat: requires a running tmux server.

105e

Whole control plane as an in-process webview app built only from the shared component library

MED

zterminal's entire configuration/inspection surface (Settings, Dashboard, tmux, Keybindings, Logs, About, command palette, every overlay) is a single-binary in-process webview app built only from zgui-core, served over a custom zterminal:// protocol — a terminal whose whole control plane is a reusable design-system app, not native dialogs or a TUI. Basis: src/settings.rs embeds settings/frontend + zgui-core/webui via include_dir!, injects an IPC_BRIDGE (window.__ztermInvoke → wry postMessage → Rust dispatch()); same ZGui.fzf powers palette, history, and cross-pane search. Caveat: the dashboard sub-piece is already captured (#104); this is the broader umbrella.

105f

Shell-history palette that resolves the focused shell's real HISTFILE from its process env

LOW

The ⌘R history palette fuzzy-searches the actual history file of the focused shell — discovered by reading that child process's live HISTFILE env var — parsing zsh-extended/bash/fish formats, rather than assuming a default path. Basis: src/daemon.rs shell_histfile(pid) via KERN_PROCARGS2 / /proc; src/settings.rs resolve_histfile()/parse_history() (zsh : <ts>:<dur>;cmd-aware, tested). Caveat: history pickers exist; the per-shell HISTFILE-from-process-env resolution is the distinctive bit.

105g

Recent-directories tracker harvested from live pane cwd across native and tmux panes

LOW

Because OSC 133/OSC 7 don't carry cwd, zterminal harvests each open pane's live foreground-process working directory — from its own panes and every tmux pane — into a pinnable most-recent-first Recent Dirs list. Basis: src/recent_dirs.rs (~/.zterminal/recent_dirs.json); src/event.rs current_cwds() merges daemon::foreground_process_path(...) with tmux #{pane_current_path}. Caveat: sampled on tab refresh; Unix-only.

105h

Single pre-vte stream interceptor recovering four protocols vte drops, incl. through tmux passthrough

LOW

One scanner ahead of vte peels Kitty APC graphics, Sixel DCS, iTerm2 OSC-1337 images, and OSC 133 semantic-prompt marks out of the PTY stream — all of which stock vte discards or truncates — unwrapping tmux ESC Ptmux;… passthrough so each works inside tmux. Basis: zterminal_core/src/graphics/scanner.rs; shell.rs routes OSC 133 A/B/C/D through the same path, anchored to absolute scrollback lines. Caveat: WezTerm supports the image protocols; the unified pre-vte recovery incl. OSC 133 + tmux-unwrap is the combination.

105i

Failed-command gutter marks from OSC 133 exit codes

LOW

A thin left-margin gutter flags every prompt line and turns red when that command exited non-zero, driven by recovered OSC 133 D;exit marks. Basis: zterminal_core/src/shell.rs records exit_code per command zone; src/display/mod.rs shell_gutter_rects(...). Caveat: needs the shell-integration snippet; exit-status decorations exist (fish/iTerm2).

105j

Config-driven background image that renders behind cells even inside tmux

LOW

A GPU background image set via config (not an escape sequence) shows through translucent default-bg cells and keeps working inside tmux (which would strip a display escape); inline images can also draw behind text via negative Kitty z-index. Basis: src/config/window.rs (background_image, background_image_opacity); src/renderer/graphics.rs textured quads with z-order; live reload on path change. Caveat: kitty/others support bg images; the config-survives-tmux angle and z<0 behind-text are the distinctive parts.

105k

Zero-dependency icat that self-enables tmux passthrough via Kitty Unicode placeholders

LOW

The bundled zterminal-icat emits the Kitty protocol from any image using only base64 (+ sips on macOS), and — uniquely for an icat-style tool — enables tmux allow-passthrough itself and places the image via Kitty Unicode placeholders so it survives tmux redraws. Basis: extra/zt-icat; placeholder placement decoded in zterminal_core/src/graphics/placeholder.rs. Caveat: narrow helper script.

105l

Native menu, keybindings, and palette sharing one action-dispatch path

LOW

Every macOS menu item carries the same key-equivalent as its keybinding and dispatches the identical action object through the same run_palette_action path as the key press and the command palette — one source of truth for menu, key, and palette. Basis: src/macos/menu.rs builds a Cocoa NSMenu from config::bindings::platform_key_bindings, sending EventType::MenuAction. Caveat: an architectural single-source-of-truth, not a user-visible terminal first.

105m

Glassy translucent webview overlays composited over the live GL terminal

LOW

Control-panel and palette webviews render semi-transparent over the still-visible GPU terminal beneath, with a live opacity slider, by driving native window alpha. Basis: src/settings.rs set_overlay_opacity()/apply_overlay_alpha() set NSWindow.alphaValue (winit transparency crashes the view, so it uses AppKit directly). Caveat: macOS-only; cosmetic.

105n

Per-pane output triggers reacting to streamed rendered output

LOW

User-defined regexes match each pane's freshly-rendered output as it streams, firing a desktop notification, bell, or shell command ($ZT_TRIGGER_TEXT/$ZT_TRIGGER_NAME), scanning only lines completed since the last wakeup with a cooldown. Basis: src/triggers.rs (TriggerActionKind, COOLDOWN, ~/.zterminal/triggers.json); window_context.rs scan_pane_triggers(). Caveat: iTerm2 "Triggers" is direct prior art — not a first; included for completeness, the per-pane + zterminal-pane-model framing is the only distinguishing angle.

VI. Language connectors & data ecosystem

the strykelang connector ecosystem: one language, 32 stryke-* repos across databases, cloud, messaging, orchestration, and more stryke-mcpd: a strykelang policy layer for authoring MCP servers, making the connector mesh MCP-addressable by AI agents
106

First-party connector ecosystem for a Perl5-like language (32 packages)

MED

strykelang ships a 32-package first-party connector ecosystem spanning cloud (AWS/GCP/Azure), orchestration (Docker, k8s), messaging (Kafka, ZeroMQ), 9+ databases (Postgres/MySQL/MSSQL/ Mongo/Redis/Scylla/Neo4j/ClickHouse/DuckDB), columnar (Arrow/Parquet/Polars/Spark), search (Elasticsearch/OpenSearch), gRPC, browser/GUI automation, office I/O, and MCP — breadth of native data/cloud connectivity not previously offered for a Perl5-lineage language. Basis: 32 stryke-* dirs in the monorepo; 31 of the 32 READMEs carry the [stryke-package] badge (stryke-app does not). Caveat: "first for a Perl5-like language" is a framing claim; tiers vary in maturity; breadth, not any single deep integration, is the novelty. stryke-demo/README.md:17,65 covers only the 14 packages it ships live demos for (a single s install pulls those 14) — it is not evidence for the full 32.

107

No-FFI "policy layer" connectors built entirely from language core builtins

MED

Several connectors are pure-.stk packages (zero FFI table, zero cdylib, zero helper binary) adding production policy on top of capabilities the language exposes as core builtins — connector-as-pure-library. Basis: stryke-fleet/stryke-mcpd have rust=0, stk=11 each; READMEs state "no [ffi] table, no cdylib, no helper binary — just .stk modules on use ..."; wrap core pty_*/pmap, mcp_server_start. Caveat: novelty depends on the core shipping those builtins; the packages are orchestration/policy.

108

Parallel Expect/PTY fan-out as a language package

LOW

Declarative, transcripted Expect-style PTY automation running one playbook across N hosts in parallel (one PTY per thread) — extending the single-session Tcl/Expect model to playbook-driven parallel fan-out. Basis: stryke-fleet/README.md (Fleet::Session/Playbook/Fanout, "one PTY per thread, results in target order", on core pty_* + pmap). Caveat: pdsh/Ansible/ parallel-ssh exist; the novelty is the Expect-playbook layer in-language.

109

MCP servers as a single static native binary

MED

Author Model Context Protocol servers that compile to one static native binary, eliminating the Node runtime / Python venv current MCP servers drag onto the target. Basis: stryke-mcpd/README.md; Mcpd::Schema/Server/Tools/Client; core mcp_server_start; stdout-purity test. Caveat: Rust/Go MCP SDKs also yield static binaries; the distinctive part is MCP authoring in this Perl5-like language.

110

Whole office-suite read+write in native Rust, no LibreOffice

MED

Reads and writes the full office suite — Excel/ODS, Word/ODT, PowerPoint/ODP, PDF — entirely in native Rust with no soffice/LibreOffice/pandoc subprocess and no external install. Basis: stryke-office/README.md; ~51k LOC across 17 src files incl. pptx_write.rs, pdf_build.rs, pdf_form.rs, chart_render.rs, barcode.rs. Caveat: "entirely native" likely means a curated feature subset; fidelity vs LibreOffice unverified.

111

Full pandas + numpy surface in one in-process cdylib

LOW

Exposes a pandas (DataFrame/Series/Index/IO) plus numpy (ndarray/ufuncs/linalg/random/fft/ polynomial/masked/datetime64) surface through a single dlopened cdylib, in-process. Basis: stryke-polars/README.md; 19 rust + 50 stk files; loaded via use Polars. Caveat: backed by polars/ndarray; novelty is the consolidated binding surface for this language.

VII. Command-line tools

command-line Rust rewrites across the terminal workflow, each tagged by its ledger confidence
112

lsof rewrite claiming 5–21× speedup with TUI + JSON

MED

A Rust lsof reimplementation headlining 5–21× faster process↔file/socket mapping, adding JSON/CSV output, watch/leak-detection modes, and an interactive TUI classic lsof lacks. Basis: lsofrs/src/{darwin,linux,freebsd}.rs, net_map.rs, tui_app.rs, leak.rs, monitor.rs; ~23.5k LOC; on crates.io. Caveat: the 5–21× figure is self-reported; speed/UX, not a fundamentally new capability.

113

iftop rewrite with no-external-tool process attribution + NDJSON streaming

LOW

A real-time per-flow bandwidth monitor attributing sockets to processes natively (libproc on macOS, /proc on Linux) with no external tools, plus a headless NDJSON --json stream classic iftop lacks. Basis: iftoprs/src/capture/, src/ui/, src/main.rs; ~21.9k LOC; on crates.io. Caveat: process-attribution and JSON exist in nethogs/bandwhich; the combination is the differentiator.

114

Pygments-style token model driven from editable TOML

LOW

A real-time log colorizer fusing ccze with the pygments "regex→token" idea, where named regex capture groups become semantic tokens and all rules/themes live in editable TOML, so recoloring is a theme swap with no rule edits. Basis: zcolorizer/src/{rules,theme,engine,modules, modules_modern}.rs; --themes-json, live --watch; ~3855 LOC. Caveat: ccze and pygments predate it; the novelty is the TOML-driven capture-group→token fusion in a streaming CLI.

114a

First Rust port of grc (Generic Colouriser), config-compatible with upstream

LOW

A faithful single-binary Rust port of the ~20-year-old Python grc (Generic Colouriser 1.13), shipping both upstream binaries — grc (the launcher: parses options, matches the command line against grc.conf, runs the command, pipes output through grcat) and grcat (the regexp→ANSI colouriser reading stdin). It reuses upstream's own config verbatim via a vendored grc submodule (grc.conf + 83 colourfiles/conf.*), so existing grc configs and colourfiles work unchanged. Basis: grcrs/src/{grcrs,grcatrs}.rs (~1021 LOC); vendor/grc submodule (83 colourfiles); GPL-2.0-or-later (matching upstream); Homebrew formula menketechnologies/menketech/grcrs. Caveat: a faithful port, not a new capability — the "first Rust port of grc" framing is the claim; "none found" is a search result, not proof. Novelty is the port + config parity, not new functionality.

115

Temp-file stack as a CLI data structure

LOW

An original concept (not a rewrite): a flock-protected stack of temporary files exposed as a CLI (tp) with push/pop/shift/unshift and dual indexing by position or @name. Basis: temprs/src/model/app.rs, src/model/opts.rs, src/util/utils.rs; on crates.io. Caveat: conceptually a thin stack abstraction over mktemp + a lockfile.

116

Zero-Python native Powerline with a byte-level upstream parity harness

MED

A native single-binary Rust port of Python powerline-status that is drop-in compatible with existing powerline/config themes and eliminates Python's ~50–150 ms per-render interpreter-startup tax, validated by 462 parity tests that run the upstream Python interpreter and assert byte/value-identical output. Basis: powerliners/src/ported/, src/extensions/, src/bin/; 134/137 upstream .py files DONE (97.8%); 2473 lib tests; per-line // py:NNN citations. Caveat: a faithful port; novelty is the engineering rigor + perf win, not new functionality (powerline-go exists but isn't a byte-parity port).

117

Multi-dialect SQL DDL → dual-stack (Spring + Rust/Loco) REST backend codegen

LOW

Parses MySQL/PostgreSQL/SQLite/MSSQL DDL dumps into one model and emits a fully wired REST backend on two stacks — JVM (Spring Boot + JPA) and notably Rust/Loco (SeaORM entities, Axum controllers, loco_rs migrations) — a SQL-to-Loco generator being uncommon. Basis: api-rest-generator/src/loco.rs (857 L, inside a 4,013-line src/ tree), parser.rs, entity.rs, templates.rs; JVM generator in Kotlin/Gradle. Caveat: SQL-to-CRUD generators are crowded; only the Rust/Loco target is unusual.

118

Embeddable pure-Rust Zotero engine reused across GUI apps

MED

A from-scratch Rust reimplementation of the Zotero reference-manager engine (37 item types, CSL processor, BibTeX/RIS/CSL-JSON/EndNote/MODS/MARCXML/RDF I/O, DOI/ISBN/PMID/arXiv lookup, dedup) extracted as one engine (rlib/staticlib/cdylib + C ABI + header-only C++ wrapper + mountable webui) so the same citation engine embeds inside other GUI apps. Basis: zcite/crates/zcite-core/src/{schema,model,store,search,bib,csl,import,export,identifier,pdf, duplicates,webdav,zotero,ffi}.rs; include/zcite_core.{h,hpp}; webui/; zcite/crates/zcite-core/PORT_REPORT.md:9,13-17 self-assesses 96.6% weighted Zotero coverage (82 full / 6 partial / 0 missing / 4 out-of-scope, over 88 features). Caveat: "in development"; a reimplementation of Zotero — the novelty is the embeddable-engine packaging.

119

Multi-dialect raw-packet network scanner in safe Rust

LOW

An Nmap-dialect scanner implementing a broad set of raw-packet techniques (TCP connect, SYN/NULL/FIN/Xmas/ACK/Window/Maimon half-open, UDP, SCTP, idle scan, IP-protocol scan, FTP bounce, IPv6, OS detection against nmap-os-db, -sV against nmap-service-probes) in memory-safe Rust with parallel/sharded pipelines. Basis: nmaprs/src/{syn,sctp,idle,ip_proto, ftp_bounce,os_detect,vscan,nse}.rs; ~24k LOC; on crates.io. Caveat: explicitly NOT byte-for-byte Nmap and does NOT embed the NSE Lua runtime; several areas marked Partial.

VIII. Editor & shell ecosystem

editor and shell ecosystem: zmax (a Helix fork) with its native-host bridge, and the zsh plugin suite zpwr, the terminal environment: a verb dispatcher, a powerline HUD, and interactive TUIs zmax internals: a Helix fork (inherited parts not claimed) with its own additions incl. real Vimscript and Emacs Lisp engines at init, on the shared native host
120

Twelve embedded scripting languages in one editor binary, zero FFI

MED

zmax embeds twelve scripting interpreters — Emacs Lisp, Vimscript, AWK, arb, zsh, stryke, Ruby, PHP, Python, JavaScript (Node), R, and Tcl — directly compiled into the binary with no external process and no C-ABI/FFI between them, all driving the live buffer through one uniform host API. Basis: zmax/README.md:95 ("the only IDE to embed 12 scripting languages with zero external dependencies and no FFI between them") and README.md:100 (the twelve :-commands); zmax/zmax-term/src/commands/scripting/pipeline.rs:60-62, whose LANGUAGES table is the machine-readable list of the same twelve; book/src/scripting.md (SPC a r unified REPL); each is a pure-Rust crate lowering onto shared fusevm bytecode. Chained as pipeline stages, they are #209. Caveat: overlaps #1 (the editor- embedding angle of the same crate family); "world first" is the repo's own assertion; each interpreter exposes only a subset of its host API.

zmax is a Helix fork — tree-sitter language breadth, rainbow brackets, indent queries, and the core modal model are Helix base and not claimed. The entries below (per CHANGELOG + source) are zmax's own additions on top of Helix.

120a

Vim operator-pending grammar emulated on a selection-first engine

HIGH

zmax reconstructs Vim's verb→noun operator-pending grammar (d{motion}, c{motion}, y{motion}, ciw/di(, df,/ct), . dot-repeat, q/@ macros, named marks, Replace mode) entirely on top of Helix's noun→verb selection-first engine, without modifying the engine's selection model. Basis: zmax-term/src/keymap/vim.rs (each operator is a nested submap whose motions run [collapse_selection, extend-motion, operate] so "operate over the motion" is reproduced; counts ride the engine prefix); Helix has no operator-pending mode. Caveat: Vim has the grammar; the novelty is emulating it over a fundamentally different (selection-first) core.

120b

Three runtime-swappable editing-model presets on one engine

HIGH

A single running editor exposes vim, emacs, and helix keymap personalities switchable live via :keymap <preset>, where the emacs preset reroutes the modal engine so the editor boots into Insert mode and binds real emacs chords there (modeless-on-modal). Basis: zmax-term/src/commands/typed.rs:40715 (keymap cmd, set_keymap:42664 swaps live + sets default mode); keymap/emacs.rs (emacs bindings in Insert, C-space enters Select); keymap/vim.rs, keymap/default.rs. Caveat: multi-keymap configs exist (evil-mode), but those emulate the other model inside a host; here all three are first-class presets over one Rust selection engine, swappable without restart.

120c

Self-verifying feature-coverage harness ("port report")

HIGH

An anti-tamper instrument measures zmax's own coverage of the cited Vim/Neovim + Emacs + Spacemacs feature surface by re-deriving the numerator from source on every run and flagging any mapping that points at non-existent code as "broken" — making it structurally impossible to inflate the number. Basis: port/README.md (evidence tokens static:/typable:/key: must resolve or count absent; broken must be 0); scripts/gen_port_report.py (57.5 KB); denominators from primary Neovim/Emacs/Spacemacs docs in port/data/; outputs docs/port_report.{md,html}. Caveat: coverage dashboards exist; the source-derived, broken-loud, self-auditing design as a shipped editor artifact is the unusual part.

120d

Thread-local raw-pointer host ABI bridging bare-fn-pointer interpreters to the live buffer

MED

One language-agnostic editor "host ABI" lets interpreters that expose only bare fn pointers with thread-local state mutate the live document, by publishing the in-flight compositor::Context through a type-erased thread-local pointer installed by an RAII guard for one synchronous on-thread eval, with a guard stack for nested evals. Basis: zmax-term/src/commands/scripting/mod.rs (CX_PTR thread-local, CxGuard RAII, with_cx; api_insert/api_goto_char/api_delete_region build undoable Transactions); SCRIPTING_EMBED_PLAN.md §2.1. Caveat: the architectural substrate of #120, recorded separately as a distinct mechanism; unsafe, single-thread-only.

120e

Cross-language unified REPL with persistent per-language history

MED

A single REPL panel fronts all ten embedded interpreters (elisp/viml/stryke/awk/zsh/ruby/php/ python/node/arb) behind one read-eval-print loop, cycling the active language with Tab and persisting separate input histories per language to ~/.zmax/repl-history.toml. Basis: zmax-term/src/ui/repl.rs (660 L, ReplLang enum, transcript scrollback); opened via :repl [lang] / SPC a r. Caveat: part of the captured scripting story; the one-panel-many-languages REPL with per-language persisted history is the distinct artifact.

120f

AWK as a built-in undoable region filter

MED

:awk <prog> runs an embedded AWK interpreter over the current selection (or whole buffer) and replaces it with the captured output as a single undo step, in-process with no external awk. Basis: zmax-term/src/commands/scripting/mod.rs::run_awk_filter (runs awk::run outside any editor borrow, applies one Transaction); commands/scripting/awk.rs. Caveat: piping a selection through external awk (!awk) is a classic vi idiom; the novelty is the in-binary interpreter wired as an undoable in-place filter.

120g

Built-in diff3 three-pane merge-conflict resolver

MED

A native JetBrains-style three-pane (ours/result/theirs) conflict resolver with a diff3 base pane, inline char-level highlighting, per-block resolution, and a recomputed live Result pane written back as one undoable transaction. Basis: zmax-term/src/ui/merge.rs (2211 L, imara_diff, DiffRow/Block/Resolution); :merge/:diff, ]n/[n. Caveat: 3-way merge tools are common standalone; embedding one as a terminal overlay in a Helix-based modal editor is the novel part (Helix has none).

120h

Native magit-style git porcelain in a non-Emacs modal editor

MED

A magit-style interactive git porcelain (sectioned status, per-hunk staging, interactive rebase, branch/stash menus, commit-log + per-commit diff, ahead/behind counts) as a built-in terminal overlay. Basis: zmax-term/src/ui/magit.rs (3162 L, parse_status unit-tested, stage/unstage/discard/commit, MagitLog/MagitShow); :magit/:git/:gst. Caveat: Magit (Emacs) and porcelains (lazygit) are prior art; novelty is native-Rust and built into this editor.

120i

Org-mode subset with a cross-file date-aware agenda

MED

An org-mode subset (outline folding, TODO cycling, capture) plus a date-aware agenda that aggregates TODO/DONE headings from all open .org buffers and a shallow filesystem walk, bucketing Overdue/Today/Upcoming with a dependency-free date model. Basis: zmax-term/src/ui/org_agenda.rs + commands/org.rs (24 KB, parse_agenda/today unit-tested); :org-agenda/:agenda, :org-capture. Caveat: Org-mode is canonical Emacs; this is a native reimplementation of a slice (babel/export/recurring deferred).

120j

Byte-faithful hex editor with automatic binary-file routing

MED

Binary files a text editor would reject instead open automatically in a built-in xxd-style hex editor backed by a raw Vec<u8> (not the text rope), with nibble/ASCII overwrite editing and byte-faithful round-trip on save. Basis: zmax-term/src/ui/hex.rs (720 L; raw-byte backing, Ctrl-s writes via std::fs::write); CHANGELOG ("binaries now open here instead of being rejected"). Caveat: hexl-mode/standalone hex editors are prior art; novelty is the auto-routing-on-binary-detection in a Helix fork. Overwrite-only (no length change).

120k

Integrated PTY terminal multiplexer inside the editor

MED

Real PTY-backed shells in editor panes (vt100-parsed grid blitted to the surface) with its own C-\ window-leader for split/focus and click-to-focus across panes — a small terminal multiplexer living inside the modal editor. Basis: zmax-term/src/ui/terminal.rs (portable_pty + vt100, background reader thread, F12 detach); :terminal/:term, SPC p '. Caveat: integrated terminals exist (Emacs/VS Code); the multiplexer-style window leader + per-pane PTY in a Helix fork (Helix has none) is the addition.

120l

IDE workbench with persisted layout and tree-sitter structure outline

MED

A JetBrains-style workbench renders inside the editor view — project file tree, tree-sitter structure outline, problems/run panels, right-hand error-stripe minimap — entirely from in-process editor state (no PTY bridge), with the whole layout (drawer widths, folds, hidden panels, minimap, colorscheme) persisted to appdata and restored. Basis: zmax-term/src/ui/ide.rs (5451 L), file_tree.rs, run.rs (live console with ANSI scrubbing), run_config.rs; :ide/:workbench/F2. Caveat: IDE chrome is common in GUI IDEs; doing it as a pure-terminal overlay fed only from editor state, in a Helix fork, is unusual.

120m

Snippet library with live tab-stops overriding emmet, per-language scoped

MED

A CRUD snippet-library TUI whose bodies are validated against the LSP-snippet engine; typing a trigger + Tab expands with live ${1:…}/$0 tab stops, with user triggers taking priority over emmet abbreviation expansion and scoped per language. Basis: zmax-term/src/ui/snippets.rs (validates via zmax_core::snippets::Snippet, persists snippets.toml); emmet_expand/ snippet_expand. Caveat: yasnippet/LSP snippets are prior art; the integrated CRUD TUI + emmet-priority + LSP-syntax validation combo is the addition (Helix has snippets, no managing TUI).

120n

Spacemacs-style discoverable leader with tunable which-key

MED

A labelled Spacemacs SPC command tree ported onto the Helix engine with which-key-style popups whose auto-display is tunable per-prefix (auto-info, auto-info-exclude), plus a frecency-ranked recent-file picker and a startify start screen. Basis: keymap/vim.rs SPACEMACS_TYPABLE table; docs/spacemacs_gaps.md (tracks 358/702 remaining); frecent_file_picker + ui/startify.rs. Caveat: which-key + Spacemacs leaders are Emacs prior art; the novelty is the native port onto a Helix selection engine with per-prefix tunability and a gap-tracked coverage doc.

120o

Reflection-based auto-generated settings editor

MED

The in-editor Settings page is not a hand-maintained schema — it serializes the live editor Config to TOML on every render and exposes every leaf (typed bool/int/float/str/enum/raw-TOML), writing edits back to config.toml with live reload. Basis: zmax-term/src/ui/settings.rs (Kind/ENUMS cycle support). Caveat: auto-generated config UIs exist generally; a fully reflective settings TUI for a terminal modal editor is unusual (Helix is TOML-by-hand only).

120p

Wildfire expand-region bound to <ret>

LOW

Pressing <ret> in Normal mode selects the closest text object and grows to the next enclosing one on repeat; <backspace> shrinks — a Wildfire/expand-region port wired to the engine's text-object hierarchy. Basis: zmax-term/src/keymap/vim.rs:396 ("ret" => wildfire) and :333 ("backspace" => wildfire_shrink). Caveat: expand-region / wildfire.vim are direct prior art; this is a native port (Helix's expand_selection isn't the ret-grows/backspace-shrinks UX).

120q

Bundled built-in text-utility command suite

LOW

A broad in-editor text-tooling suite usually requiring plugins ships built-in: arithmetic :calc, UUID v1/v4 insert, lorem-ipsum, password generators (simple→paranoid→phonetic→numeric), base64/base64url, ROT13/Caesar, NATO phonetic, JSON omit/table, markdown-table align, delimiter align, narrow-to-region, and a spell checker (]s/z=/zg). Basis: book/src/generated/{typable-cmd.md,static-cmd.md}; fn calc at commands/typed.rs:27155 (registered :39659). Caveat: each utility individually mirrors a Spacemacs/Emacs/vim plugin — not novel in isolation; the candidate is the breadth shipped built-in in one Helix-fork binary (a coverage note more than an invention).

120r

Built-in LLM assistant compiled into a CLI/Emacs-style editor — no plugin, out of the box

MED

zmax ships a Cursor-style AI assistant compiled into the editor binary itself — bound to SPC a i, it sends the current selection (with language fence) as code context to a pluggable LLM backend (Anthropic default, OpenAI alternate) behind one Provider trait, runs the network call off the UI thread, and renders the reply in a scratch buffer — with no package to install, no external agent process, and no FFI. Anthropic is the default with ANTHROPIC_API_KEY, so a freshly-built binary is AI-capable out of the box. Basis: zmax-term/src/ai/{mod,anthropic,openai}.rs (the Provider trait + two vendor backends, ZMAX_AI_PROVIDER/ZMAX_AI_MODEL env config); ai_chat at zmax-term/src/commands.rs:12974 (selection→fenced-context prompt → scratch buffer, spawn_blocking off the UI thread); keymap binding zmax-term/src/keymap/vim.rs:1113 (SPC a i). Caveat: the terminal/Emacs-style + built-in, no-plugin framing is the angle — GUI editors ship AI built-in (Cursor, Zed, Windsurf), and Emacs/Neovim get LLMs via packages (gptel, copilot.el, avante.nvim, codecompanion), so this is "first CLI/Emacs-style editor with the assistant compiled in," not first-AI-editor; "no prior art found" is non-exhaustive, not proven. It is also self-described Phase 1 — non-streaming single-turn chat; the streaming chat panel, inline edit, and autonomous agent are scaffolded in the module docs but not yet wired. A zmax (Helix-fork) addition.

120s

First editor to source both a real Vimscript engine and a real Emacs Lisp engine at init

HIGH

At startup zmax runs one load_init_scripts pass that sources both interpreter families through genuinely embedded engines: Emacs Lisp init (init.el, and — opt-in — the user's personal ~/.emacs.d/init.el / ~/.config/emacs/init.el / ~/.emacs) executed by the embedded elisprs interpreter, then Vim config (init.vim, and — opt-in — ~/.vimrc / ~/.vim/vimrc / ~/.config/nvim/init.vim) executed by the embedded vimlrs Vimscript engine. Both are real interpreters wired to the live buffer/keymap/options — not config emulation or a settings shim — so a single editor honours a .vimrc's :set/:map/:colorscheme and an init.el's Lisp against the same session at boot. Basis: zmax-term/src/commands/scripting/mod.rs (load_init_scripts — elisp candidates + elisprs::eval_str, then the #[cfg(unix)] vimlrs :source block), called from zmax-term/src/main.rs:175 via Application::load_init_scripts (zmax-term/src/application.rs:556); end-to-end tests zmax-term/tests/{vimrc_theme,custom_source_files}.rs. Caveat: Emacs sources init.el (its native language) and Vim/Neovim source a vimrc (native, plus Lua in Neovim); evil-mode emulates Vim inside Emacs but does not run a real Vimscript interpreter over your .vimrc, and no editor was found that boots by executing both a Vim engine and an Emacs Lisp engine. Personal-config sourcing is off by default (zmax is neither Vim nor Emacs and won't silently inherit either); the "first" framing rests on a non-exhaustive search. A zmax (Helix-fork) addition.

121

Reflection-generated, drift-proof editor language tooling for a shell

MED

Editor support (Emacs major mode, Vim/Neovim runtime, VS Code extension) for the zshrs shell whose syntax grammars/font-lock are auto-generated from the shell binary's own reflection tables (zshrs --dump-reflection) so they carry the complete builtin/extension surface and never drift, plus LSP (zshrs --lsp) and DAP (zshrs --dap). Basis: vscode-zsh/README.md:34-37 (grammar via gen_grammar.sh, standalone source.zshrs, 113 extensions own scope, DAP Implemented); vim-zsh/README.md:32 ("never drifts"); emacs-zsh/README.md (zshrs-mode, reflection-driven font-lock, lint via zshrs -n, eglot LSP). Caveat: the novel substrate is zshrs itself; these three are editor front-ends; reflection-driven grammar gen + shell DAP are the distinctive bits.

122

Namespaced verb-dispatcher "terminal OS" at corpus scale

MED

A single-author zsh framework that is simultaneously a namespaced zpwr <verb> CLI dispatcher (~460 verbs), a fully-wired zsh+tmux+vim/neovim+fzf cockpit, and an env-var control plane spanning the entire terminal. Basis: zpwr/autoload/common/zpwr dispatcher; DESCRIPTION.md:55 (460 verbs, 14,100 completions, 2,000 aliases, 190,000 LOC); README.md:47-49 positions vs Dotmatrix/famous dotfiles. Caveat: "category of one" is positioning, not prior-art-proven; oh-my-zsh/prezto/large dotfiles occupy adjacent space; counts self-reported.

123

Live shell-introspection HUD with self-history sparklines

LOW

zpwr top is a live dashboard profiling the shell itself — RSS/vmem, history size, zle widgets, hooks, function/completion/alias/builtin counts with delta tracking — plus sparklines of the last 40 shell startup times (color-coded vs a 100 ms threshold) and 30-day commit velocity, with startup times auto-logged each init. Basis: zpwr/README.md:890; startup history to $ZPWR_LOCAL/startup_history.log; aliasrank/funcrank (README.md:1000,1010). Caveat: an instrumentation convenience, not foundational; not runtime-verified.

124

Largest curated zsh completion corpus as an offline reference index

HIGH

A ~47k-file curated zsh completion corpus (claimed largest), much auto-generated by scraping --help/man/web then hand-verified, that doubles as a greppable offline reference index for command interfaces of tools you don't have installed. Basis: verified find -name '_*'47,393 files (README claims "47,455"); zsh-more-completions/README.md:27,52,56-60 (auto-generate-then-curate pipeline, uniform #compdef/_arguments, architecture_src/, ZUnit suite, scientific ecosystems: BIND9, EPICS, GRASS GIS, Quantum ESPRESSO, BLAST+, CCP4). Caveat: "largest in existence" is unprovable; auto-gen depth varies; scale is the feature, not a new mechanism.

125

Remote-package completions with versions + descriptions in the menu

LOW

Several completion plugins fetch live remote package data with inline descriptions into the zsh menu (pip/cargo/gem/cpan/dotnet/npm/xcode). Basis: zsh-pip-description-completion/README.md + siblings zsh-cargo-completion, zsh-gem-completion, zsh-cpan-completion, zsh-dotnet-completion, zsh-better-npm-completion, zsh-xcode-completions. Caveat: one collective candidate; remote-data completions exist elsewhere; novelty is breadth. pip search is disabled upstream by PyPI, so that path may be degraded.

126

Spacebar live-expander with fish-style ghost-text preview of expansions

MED

A pure-zsh plugin that rewrites the spacebar into a live expander for regular/global/suffix aliases, typo corrections, globs, parameters, history, and command-substitution — parsing deep prefix chains (sudo/env/nice/…) to find the real command — and shows fish-style ghost text previewing what an alias would expand to before you press space. Basis: zsh-expand/README.md:73,115-127; ghost text in zsh-expand.plugin.zsh:419-420 (ZPWR_EXPAND_PREVIEW, zle-line-pre-redraw). Caveat: zsh-abbr/fish abbreviations exist; the distinctive bits are the ghost-text preview of alias expansion + deep prefix-chain parsing; test count self-reported.

127

Neon disk TUI combining live per-mount I/O, SMART health, and free-space alerts

LOW

A Rust/ratatui TUI unifying live disk-usage bars, live per-mount read/write throughput (Linux /proc/diskstats, macOS), SMART health status (macOS diskutil), and threshold-crossing free-space alerts in one screen. Basis: storageshower/README.md:59,101-118; Rust crate (ratatui + crossterm + sysinfo). Caveat: ncdu/dust/gdu cover disk-usage TUIs; the combination of live I/O + SMART + alerting is the differentiator, not a new algorithm.

IX. Publications

the publications pipeline: INVENTIONS.md and per-project book.md through one pandoc-to-lualatex theme into the companion book set
128

Auto-generated, auto-typeset reference manuals + encyclopedia for the whole stack

LOW

Companion reference manuals and the zpwr encyclopedia are programmatically generated and typeset from each product's own source repo (language crate, grammar, shell wizard pages) through one shared pandoc→lualatex HUD-themed pipeline, with a test suite asserting zero overfull boxes and a 200-page floor. Basis: MenkeTechnologiesPublications/README.md ("How generation resolves source"); zshrs/scripts/{update_reference_html.sh,gen_grammar_docs.py,reference_pdf.sh}; MenkeTechnologiesPublications/zpwr/docs/genEncyclopediaMd.py (332 L, reads page_*.zsh wizard pages), driven by MenkeTechnologiesPublications/zpwr/scripts/book_pdf.sh; tests/run.sh. Caveat: doc-generation pipelines (Sphinx, mdBook) are common; the distinctive part is generating typeset book/encyclopedia deliverables from the stack's own LSP/grammar/wizard corpus.

129

Novels as literalizations of the compiler stack

LOW

Original novels whose narratives are deliberate literalizations of the project's own compiler architecture — THE STACK (fantasy: a dying interpreted kingdom replaced by a compiled forge, a blade drawn from five dead master tongues) and THE DEEP TIME TRILOGY (The Compiled MindThe Waking FleetThe Inheritors: a ship dying of heat shed by an interpreted mind that forks a subprocess per act, replaced by a compiled successor) — produced through the same pandoc→lualatex book pipeline. Basis: MenkeTechnologiesPublications/README.md (fantasy/scifi/scifi2/scifi3, 106/118/120/122 pages, zero overfull boxes); fusevm/docs/book.md ("THE MACHINE"); per-book scripts/book_pdf.sh. Caveat: a creative/thematic novelty, not a software invention; only the typesetting pipeline is technical.

X. Round-2 deep-dive additions

A second pass did source-level deep sweeps of the projects that were thinly covered. Most of the desktop -core apps are honestly ports (zpdf→Acrobat, zcontainer→Docker Desktop, zftp→Cyberduck, zreq→Postman, zemail→Thunderbird, zphoto→GIMP, zoffice→LibreOffice, zgo→Alfred, ztunnel→Tunnelblick) — competent pure-Rust reimplementations, but parity features aren't "firsts", so they were not expanded into the ledger (see the consolidated note at #86). The genuinely-inventive finds below are the exceptions: traderview (an unusually deep, original system) and zpwrchrome (architecturally novel), plus original work in zgui-core, a few standout shared libraries, ztranslator's beyond-BOME extensions, and two cross-stack meta-patterns.

traderview — institutional-grade quant inside a retail journal

traderview: a retail trade journal over an institutional quant core on an embedded-Postgres shell
130

Multi-method tax-lot engine + dual-layer (per-broker & cross-broker) wash-sale detection

HIGH

The roll-up closes lots by FIFO/LIFO/HIFO/loss-harvest ("Lifoust") and runs IRS §1091 wash-sale detection both within one broker AND at the taxpayer level across brokers (catching disallowed losses no single 1099-B sees), plus §988 ordinary-income forex tracking. Basis: traderview-core/ src/{rollup,tax_lot_optimizer,wash_sale,cross_broker_wash,forex_988}.rs, all tested. Caveat: two wash-sale models (per-pair vs per-replacement); cross-broker needs all brokers loaded.

131

Multi-asset-class P&L kernel (options 100×, futures tick math, forex pips, crypto perps)

HIGH

One P&L kernel computes realized P&L per AssetClass — equity options via contract multiplier, futures via tick_size/tick_value (with point-value fallback + zero-tick guard), forex via JPY-aware pip math, and crypto incl. isolated-margin perpetual liquidation price and staking/airdrop income. Basis: traderview-core/src/{pnl,forex_calc,crypto_liquidation,crypto_staking}.rs. Caveat: options as discrete legs; no OCC/OSI symbol decoding / combo recognition.

132

Quant statistics + correlation-aware position sizing + Monte Carlo equity forecaster

HIGH

Computes R-multiple, MAE/MFE edge ratio, expectancy, SQN, Sharpe/Sortino (rolling + deflated), Kelly (discrete/continuous/dynamic), correlation-drag-adjusted sizing with a don't-stack-correlated gate and Marchenko-Pastur RMT covariance cleaning, and a Monte Carlo equity forecaster (percentile fans, max-drawdown distribution, probability of ruin) bootstrapped from the trader's own R-multiples. Basis: traderview-core/src/{r_multiple,sqn,deflated_sharpe,kelly_criterion,position_size, marchenko_pastur_cleaning,monte_carlo,equity_forecast}.rs. Caveat: MC assumes IID R resampling.

133

Backtest validation & regime-attribution suite

HIGH

Beyond running a strategy it validates and attributes it: a tournament ranking every registry strategy on one symbol/period, regime-conditional (trend/range/chop) attribution at entry bar, strategy-portfolio Pearson diversification benefit, post-backtest trade-PnL bootstrap MC, and walk-forward efficiency (OOS/IS) as an overfit detector. Basis: traderview-core/src/{algo_ tournament,algo_regime_attribution,algo_strategy_portfolio,algo_backtest_mc,algo_walk_forward}.rs; 21-strategy library (algo_strategies/mod.rs:130 all()). Caveat: backtest is interpreted over hardcoded indicators (no JIT/DSL — see #98).

134

Broker-grade paper-trading simulator (algorithmic parent orders, margin, corporate actions)

HIGH

A full simulated brokerage: TWAP/VWAP/POV parent-order slicing, bracket/OCO, trailing/stop-limit/ on-close/recurring orders, DRIP, auto dividend crediting (long-credit/short-debit from the fill ledger), value-preserving split adjustment, short-borrow fees, margin + margin interest, cash interest, and auto-liquidation. Basis: traderview-db/src/paper_*.rs; migrations 0076–0102. Caveat: fills modeled against polled quotes, not a matching engine.

135

Live broker execution + WebSocket fill pumps across six brokers

MED

Native REST trading clients for Alpaca/IBKR/Schwab/Tastytrade/Tradier plus Webull(RO), with reconnecting WS fill-pumps for the five trading brokers, routed by a dispatcher that logs order intent and feeds fills into the roll-up. Basis: traderview-db/src/{alpaca,ibkr,schwab,tastytrade,tradier}_trading.rs + the five matching *_pump.rs, webull.rs (read-only, no pump), broker_dispatcher.rs. Caveat: WIP — only Alpaca fully wired; others return integration_pending.

136

~1,600-module dependency-light pure-Rust quant compute library

HIGH

traderview-core is a ~297k-LOC, ~1,600-module pure-compute quant library: exotic option pricers (semi-analytic Heston, American LSMC, Asian/barrier/lookback/chooser/cliquet/quanto, Garman-Kohlhagen, Bachelier, Black76, swaption), first/second-order + portfolio Greeks, fixed income (Nelson-Siegel- Svensson, key-rate/effective/Macaulay durations, OAS), microstructure (Kyle's lambda, VPIN, Amihud, order-flow imbalance), forensic scores (Altman Z, Beneish M, Piotroski F, Zmijewski), and stats/ML (GARCH/GJR, Kalman family, ARIMA, Markov-switching, ridge/lasso/elastic-net/quantile regression, wavelet, bootstrap) — with a self-contained complex type to stay dependency-free, zero todo!/unimplemented!, each #[cfg(test)]. Caveat: breadth over depth; many are one-shot calculators not wired into the workflow.

137

Real-time market-data ingestion mesh + derived live scanners

HIGH

Background pollers/WebSockets ingest Yahoo (cookie+crumb auth), Finnhub WS ticks, FINRA Reg SHO short-volume/dark-pool, SEC EDGAR (Form 4 + 13F), Nasdaq halts, Reddit WSB + StockTwits sentiment, and CoinGecko — then synthesize live derived scanners: unusual-options-activity rotator, dark-pool %, gamma-squeeze/market-gamma regime, hard-to-borrow ranker, RVOL acceleration, breadth divergence, and a confluence autotrade pipeline. Basis: traderview-db/src/{market_data,yahoo_auth,short_interest, darkpool,disclosures,thirteen_f,halts,sentiment}.rs + derived {uoa_stream,gamma_squeeze,htb_ranker, rvol_accel,breadth_divergence,confluence_autotrade}.rs. Caveat: X/Twitter is a stub; several feeds use unofficial endpoints that can break.

138

Embedded-Postgres lifecycle hardening (persisted password + stale-PID reaper)

HIGH

Makes a downloaded portable Postgres survive restarts/crashes: persists a generated password to a 0o600 file (defeating the library's per-launch random password that would lock the user out) and cleans stale postmaster.pid lockfiles by reading the PID and probing liveness via libc::kill(pid,0), with an orphan reaper and start-race recovery. Basis: traderview-db/src/ embedded.rs. Caveat: distinct from #96; Windows path unconfirmed.

139

Execution-quality TCA + trade tape-replay + per-setup attribution

MED

Institutional-style transaction-cost analysis in a retail journal: Almgren-style implementation- shortfall decomposition, VWAP-relative and per-symbol slippage, a fill-quality report, time-and-sales tape replay reconstructed per trade, plus named-setup attribution (win rate / expectancy / avg-R / profit factor by setup tag) and an R-multiple distribution report. Basis: traderview-core/src/ {implementation_shortfall,vwap_slippage,setup_catalog}.rs; traderview-db/src/{fill_quality,tape_ replay,r_distribution}.rs. Caveat: needs arrival-price/VWAP data per execution.

140

Embedded personal-finance / FIRE planning suite inside a trading journal

HIGH

The same workspace ships ~48 personal-finance planners — Coast/Barista/Lean/Fat FIRE, glide-path and bond-tent decumulation, debt avalanche/snowball, PSLF, Roth-vs-traditional, RMD, Social-Security claiming age, 529/FAFSA EFC, mortgage/HELOC/rent-vs-buy, CD/bond ladders, I-Bond/TIPS, budgeting, net-worth — alongside the IRS Schedule C/D/E + federal tax engine (brackets, SE tax, QBI §199A, AMT, NIIT, credits; ~218 tests pinned to Rev. Proc. 2024-40). Basis: traderview-core/traderview-db planners + traderview-tax/src/{engine,brackets,se_tax,qbi,amt,niit,credits}.rs + traderview- expense/src/{schedule_e,schedule_d}.rs. Caveat: EITC unimplemented; constants are 2025-specific.

### zpwrchrome — a genuinely unique browser power-suite

zpwrchrome: six tool families over one browserpass-wire native host via additive action names
141

Single native host multiplexing six tool families over the browserpass wire envelope

HIGH

Five non-pass tool domains (dl.*, otp, search, run.spawn, zcite.save) are smuggled through the browserpass-native v3.1.2 protocol by dispatching additive action names before the upstream switch and deliberately reusing BP error codes, so a strict 1:1 port of the Go binary stays unmodified while the host serves tools browserpass never imagined. Basis: src/bin/zpwrchrome_host.rs (double-parse + dispatch ordering), src/extensions/mod.rs, frame.rs. Caveat: the pass half is faithful parity; the novelty is the layering discipline.

142

Filesystem-as-IPC, stateless-host + detached-per-job download worker model

HIGH

Instead of a long-lived daemon (IDM/aria2), every dl.add spawns a detached --dl-worker <gid> process owning the transfer, with all coordination through per-gid JSON state files guarded by O_EXCL locks — so short-lived host invocations (dl.pause/resume/list) mutate a running download they share no memory with, and jobs survive service-worker death. The transfer itself is the Range-segmented multi-connection accelerator that takes over Chrome's default download. Basis: src/extensions/dl.rs (spawn_worker with setsid + FD-close sweep, with_gid_lock). Caveat: polling control (100–250 ms); Unix-only.

143

Truncation-integrity gate — never reports a short CDN download as complete

HIGH

A premature EOF (CDN closing before Content-Length bytes) is classified as resumable, a final byte-count gate refuses to stamp a job done below Content-Length, and forward progress on resume is excluded from the retry budget so a repeatedly-truncating server still finishes — directly fixing the bug class where Chrome reports a corrupt partial as 100%. Basis: dl.rs run_worker terminal block, stream_into_file Ok(0)Transient. Caveat: byte-count only — no content checksum.

144

pass as a structured identity/credit-card vault where the store IS the schema

HIGH

Profile and credit-card autofill is driven by profile/* and creditcard/* gpg entries whose keys are literally WHATWG autocomplete tokens (or longest-match synonyms), with alias-chain backfill (cc-exp↔month/year, name↔given/family) and a React/Vue-safe native value-setter across all frames — turning UNIX pass into a 1Password-class identity filler with no separate database. Basis: lib/identity-tokens.js, background.js fillIdentityForm(). Caveat: browserpass does login fill; the new part is the schema-as-store + alias backfill.

144a

First GUI editor for the UNIX pass store inside a Chrome extension

HIGH

A full-page, two-pane CRUD editor for ~/.password-store shipped inside a Chrome extension and driven entirely over the browserpass native-messaging wire (pass.list/fetch/save/delete/ fill) — a store tree with filter + keyboard nav on the left, a schema-aware entry form on the right (show/hide password, built-in password generator, per-row copy, host-computed OTP-code copy, fill-active-tab, k/v rows for non-synonym fields, free-form notes, delete-with-confirm), plus a ⚙ raw toggle that drops to a verbatim file-bytes textarea as an escape hatch for non-standard schemas, a path-as-rename convention, and URL auto-derivation from the first path segment. Reachable from the toolbar right-click and the popup, versioned alongside the extension with no separate install. Basis: zpwrchrome/scripts-manager/pass.{html,css,js} (pass.js ~795 L: loadTree/ renderTree, pickEntry, startNew/startNewFromTemplate, rename-on-path-change save), lib/pass-entry.js; README "Full-page pass manager". Caveat: desktop/mobile GUIs for pass exist (QtPass, Passforios, gopass front-ends), so this is not the first pass GUI in general — the claim is narrower and defensible: the first full-page CRUD store editor delivered inside a Chrome extension, where the upstream browserpass extension ships only a config options page, not a store editor. "None found" for the in-extension framing, not a proven absolute.

145

In-extension Web Crypto TOTP/HOTP decoupled from pass otp and gpg PATH

MED

OTP codes are computed inside the extension via Web Crypto (HMAC-SHA1/256/512, RFC 6238/4226) directly from the stored otpauth:// URL, sidestepping both the pass-otp gpg extension and the Chrome-spawned-host PATH problem (where pass lives in a dir not on the host's launch PATH). Basis: lib/totp.js, tested. Caveat: a re-implementation; the delta is the dependency/PATH decoupling.

146

MV3-native userscript engine on chrome.userScripts with race-safe serial sync

MED

A Tampermonkey-equivalent built on Chrome 120+'s chrome.userScripts (USER_SCRIPT world + configureWorld), injecting a GM_ shim as prepended source, with a single-flight serial sync chain that defeats the "Duplicate script ID" race across concurrent registrations, plus auto-expansion of bare-host @match to *.host; falls back to webNavigation+scripting injection on older Chrome. Basis: background.js syncUserScripts, lib/gm-shim.js, lib/userscript.js. Caveat: GM_ is a subset; native mode needs the per-extension toggle.

147

Local Wappalyzer engine with one-pass page-side DOM-rule pre-flight

MED

A from-scratch JS reimplementation of every Wappalyzer matcher group plus implies/requires/excludes graph rewrites and \1 version backrefs, where all ~1,045 DOM-selector rules are evaluated in a single injected querySelector sweep keyed for O(1) lookup — fully offline in an MV3 service worker, no cloud call. Basis: lib/wappalyzer/engine.js; header capture via webRequest.onCompleted. Caveat: corpus vendored upstream; novelty is the offline MV3 engine + batched DOM pre-flight.

148

Debugger-free full-page screenshot with overlap-stitch sticky suppression

MED

Captures off-screen content without the chrome.debugger permission (no "DevTools attached" banner) and eliminates repeated sticky/fixed banners purely by overlapping each scroll step by 200 px so the next tile overwrites them (no DOM mutation), then stitches on an OffscreenCanvas in the service worker. Basis: lib/screenshot.js. Caveat: scroll-capture is GoFullPage's approach; deltas are the no-debugger stance + the chunked write path (#149).

149

Sessionized chunked-base64 write protocol to beat Chrome's 1 MiB native-messaging ceiling

MED

A host action streams payloads larger than Chrome's ~1 MiB host→extension cap by splitting base64 across N dl.writeFileChunk calls keyed by a sanitized sessionId, appending into a .part scratch file, then atomically renaming to the download dir — the mechanism that lets a multi-megapixel screenshot PNG land on disk at all. Basis: dl.rs dl_write_file_chunk + self-contained RFC 4648 base64. Caveat: reusable platform-limit workaround (overlaps #148).

150

No-shell post-download command runner

MED

Per-rule basename-glob→argv post-download automation executes via std::process::Command with no shell anywhere on the path, so {path}/{dir}/{name} substitution carries zero quoting/injection surface, gated by an optional Run/Skip confirmation that survives SW suspension, with captured output (64 KiB cap) and a timeout that kills runaways. Basis: zpwrchrome-host/src/extensions/ run_command.rs. Caveat: pipes/redirects require explicit bash -c.

151

File-decoupled "Save to zcite" web connector

MED

Extracts CSL-JSON (Highwire citation_*, Dublin Core, OpenGraph, schema.org JSON-LD) and the host drops it as a plain file into zcite's inbox dir — computed with the same dirs crate zcite-core uses so paths agree — so the MIT extension/host act as a Zotero-Connector for a separate reference manager while sharing only a file format and a path, never linking the paid engine. Basis: lib/zcite- extract.js; zpwrchrome-host/src/extensions/zcite.rs. Caveat: needs zcite running.

152

JetBrains-switcher deltas: named scenes, opener-tree forest, frecency, domain-hue minimap

MED

Beyond porting JetBrains' Recent-Files UX, the tab switcher adds save/restore of named tab "scenes" (persisted across restart), an opener-tree forest reconstructed from openerTabId with iterative flatten (50k-deep chains without stack overflow), frecency re-ranking, and a domain-hue minimap. Basis: lib/util.js, background.js scene handlers. Caveat: individual features exist elsewhere (OneTab/Workona); novelty is bundling into the JetBrains-modal idiom.

### zgui-core — original components in the shared library

zwire browser-wide audio engine IPC: config and meters bridge the sandboxed renderer and audio service through $STATE files and the browser process zwire dual tmux engine: one prefix key drives an in-page iframe overlay and an OS-window tiling engine sharing one tmux model the zwire fork stack: a 24-patch Chromium fork under the hud-internal extension layer zwire's Command-K palette: a custom command is a chain of typed steps running identically across three isolation contexts, shell steps reaching the OS via the native host zwire's browser automation bus: a stryke trigger (external terminal, page palette, new-tab palette, or HUD page) reaches zwire-host, which stamps a browser.* action into a file-backed KV; the MV3 service worker's single execZbCmd executor, kept alive across the native round-trip by the persistent sysinfo port, runs the Chrome API call across a 161-verb surface with 99 browser.* verbs spanning tabs, window tiling, tab groups, downloads, browsing-data, reading list, power, and management
153

In-component fzf engine with live-tunable scoring weights

HIGH

Ships the actual fzf subsequence-scoring algorithm (match/gap/boundary/camel/consecutive bonuses) as a reusable matcher + <mark> highlighter, with the eight weights exposed as live-tunable sliders. Basis: zgui-core/webui/fzf.js (582 L), fzf-settings.js, fzf.test.cjs. Caveat: single-threaded JS port (not the Go optimal-alignment path); for in-memory lists.

154

Drag-to-wire bezier patchbay / modular-synth kernel

HIGH

A generic patching widget where any two [data-key] jacks are wired by a pointer drag, rendered as SVG bezier patch-cables with glow + click-to-disconnect, plus jack/module factories — a reusable kernel for modular synths, node editors, and signal-flow UIs. Basis: zgui-core/webui/patchbay.js. Caveat: layout/zoom/bus-routing left to the host.

155

Image-rendered playable 88-key piano with LED light-guide

HIGH

An on-screen playable piano whose keys are polygon clip-path hit-zones positioned from keyboard_geom.json over a perspective-rendered keyboard.png, with mouse-drag glissando, global pointer-up release, and a per-key LED light-guide (guide()/light()/colorize('rainbow'|'octave')) over MIDI 21–108, plus a companion piano-roll.js note editor. Basis: zgui-core/webui/keyboard.js. Caveat: renders/controls only — produces no sound.

156

One framework-free library co-shipping a full DAW surface and a trading-terminal set

HIGH

The same window.ZGui.* factory family ships a complete DAW control surface (spectrogram, spectrum analyzer, EQ/filter curves, waveform player, step sequencer, channel strip, knob/fader/drawbar, wavetable, env/LFO, LUFS/peak/VU meters) and a market-data terminal set (order book, depth chart, candlestick, volume profile, time-and-sales, liquidity heatmap, CVD line) — as plain static JS with no build step, no React/Vue, no virtual DOM (each of the 258 components is a self-contained IIFE returning a {el, get(), set()} handle). Basis: zgui-core/webui/*.js; CONSUMERS.md. Caveat: each is a widget, not a DSP/exchange engine; novelty is the breadth of specialized domains in one framework-free kit.

157

Auto-installed Emacs/readline line editing on every text input

HIGH

Loading the library globally installs a single capture-phase key handler giving every <input>/<textarea> full Emacs/readline editing — ^A/^E/^B/^F, M-b/M-f, ^W/^K/^U/M-d kills feeding a shared kill-ring, ^Y yank, ^T transpose — with no per-field wiring. Basis: zgui-core/webui/util.js (lineEdit/installReadline/killRing, auto-invoked at load). Caveat: single kill-ring slot; relies on the host loading util.js everywhere (the stack does).

### ztranslator — extensions beyond the BOME baseline

ztranslator: bidirectional bridges beyond BOME - audio-to-MIDI, CV/gate over DC-coupled audio, clock/timecode generation
158

Bidirectional protocol-bridge extensions beyond BOME (audio→MIDI, CV/gate over DC-coupled audio, clock/timecode generation)

MED

Beyond faithfully porting BOME (#94/#95), the engine extends it past MIDI in directions BOME has no equivalent for: ~25 incoming trigger sources (the captured matrix item was outgoing-only), live audio-feature extraction to MIDI (peak amplitude, adaptive-baseline onset, autocorrelation pitch → note number), a eurorack CV/gate bridge over a DC-coupled audio interface (read/write per-channel DC levels + gate thresholds), and a clock/timecode generation hub (24-PPQN MIDI clock slaved to Ableton Link, streaming MTC quarter-frame master, MMC). Basis: ztranslator-core/src/model.rs Incoming enum + src/engine/mod.rs. Caveat: audio/CV/gate are macOS-only; CV correctness depends on a genuinely DC-coupled interface.

### Shared libraries & infrastructure

159

Offline-first Ed25519 licensing with woven anti-tamper seeds and a $0 signed-manifest kill-switch

HIGH

A self-hostable licensing core verifies Ed25519-signed typed tokens fully offline and node-locks to hashed hardware IDs, with two anti-crack primitives: a binding_seed/guarded_seed whose value only a valid signature reproduces (so NOP-ing the license gate isn't enough — a cracker must forge Ed25519), plus a global kill-switch delivered as a signed manifest/CRL pulled from any untrusted free static host (signature verified before trust, issued-based anti-replay). Basis: zpwr-license/crates/ license-core/src/{lib,antitamper,online}.rs; rlib+staticlib+cdylib. Caveat: README is honest that client checks are patchable; tamper_tripwire carries brick risk; standard ed25519-dalek — novelty is the scheme.

160

Lock-free stream-from-disk → in-RAM reader hot-swap (glitch-free, virtual-EOF loop-off)

MED

LockFreeStreamSource starts playback from a disk-backed reader for instant audio, then atomically swaps in a RAM-backed reader mid-playback without the audio thread observing the switch (ring buffer on a background TimeSliceThread, SpinLock + generation counters instead of a CoreAudio-blocking CriticalSection), and models a synthetic EOF so toggling loop off plays the current iteration to its natural boundary. Basis: zdsp-core/include/zdsp/lock_free_stream_source.h (363 L). Caveat: RT-safety rests on review of the atomics, not a test; ported from the Audio-Haxor engine.

161

Single-source PTY terminal core driving both Tauri (rlib) and JUCE (C-ABI) webviews

LOW

A framework-agnostic portable-pty TerminalSession exposed simultaneously as a Rust rlib and a hand-written C ABI (zet_*), paired with one xterm.js frontend that auto-detects its transport (Tauri invoke/listen vs JUCE native functions), so the identical embedded terminal backs multiple apps across two GUI stacks from one source. Basis: zpwr-embed-terminal/src/{lib,ffi}.rs, webui/terminal.js. Caveat: constituent pieces are conventional; the modest novelty is the dual-host single-source packaging.

### Cross-stack meta-patterns

162

Embeddable-engine pattern replicated across ~12 desktop domains by a solo author

MED

A dozen otherwise-unrelated desktop products are each built as the same engine shape: one Engine::invoke(cmd, json) → json command surface, compiled as rlib and staticlib and cdylib, fronted by a hand-written C ABI and a header-only C++ RAII wrapper and a mountable framework-free webview, and a Tauri v2 plugin — so identical behavior embeds in a Rust app, a C/C++ host (e.g. a JUCE DAW), and a webview. Basis: the identical pattern in zftp-core, zreq-core, zemail-core, zcite-core, zcontainer-core, zphoto-core, zpdf-core, ztranslator-core, ztunnel-core, zgo-core, zoffice-core, zdsp-core. Caveat: the individual apps are largely ports; the systemic, uniform reuse of one embeddable-engine contract across this many domains is the claimed novelty, not the apps.

163

"Durable-dependency" discipline — reimplementing crypto/zip/protobuf/OCR/NAT from scratch to avoid C/network/runtime deps

MED

A consistent, stack-wide stance of reimplementing normally-vendored primitives from scratch — pinned to published spec vectors — to keep cores pure-Rust, build-dependency-light, and offline: hand-rolled MD5/SHA/HMAC vs RFC/FIPS vectors (zreq-core/src/crypto.rs), gRPC .proto compiled at runtime via protox with no protoc (zreq-core/src/grpc.rs), a stored-ZIP writer with its own CRC-32 + font8x8 template OCR (zpdf-core/src/{convert,ocr}.rs), STUN/TURN NAT traversal with no third-party crate (strykelang), and byte-parity ports that run the upstream interpreter as an oracle (powerliners). Basis: the cited modules across the stack. Caveat: a recurring engineering philosophy, not a single artifact; the reimplementations are subsets, not always audited.

### zwire — a Chromium browser with built-in tmux-style multiplexing

zthrottle's storage index: one full filesystem walk builds the SQLite index on first launch, then the fs-watch hook (update_paths) is the only automatic writer; user actions (refresh, reindex, delete, pattern edit, freshen) are manual. Audit verdict: PASS.
164

Web browser with a built-in tmux-style pane/window/session multiplexer

MED

zwire (a rebranded Chromium) ships tmux's full control model inside the browser driven by a prefix key (Ctrl-b, ⌥-b fallback) — not a two-pane "split view" but nested SESSION → WINDOWS → PANES with splits both directions to any depth, named windows, zoom, synchronize-panes typing broadcast, copy-mode, and detach — across two surfaces: an in-page overlay where every pane is a real webpage (any site framed by stripping X-Frame-Options / frame-ancestors), and an OS-window tiling engine where panes are real browser windows tiled by chrome.windows geometry (cols/rows/main-v layouts), both fed by one prefix-key content script and surviving MV3 worker eviction via persisted state. Basis: the HUD's former standalone ztmux.js was removed (commit cc46c47065) and the in-page surface now runs on the same shared engine as #170lib/zgui-core/webui/tmux.js (1,474 L) — driven by two thin HUD adapters, zwire/extensions/hud-internal/ztmux-pane.js (252 L, isPrefix() Ctrl-b/⌥-b, pane forwarding) and ztmux-config.js (88 L); zwire/extensions/hud-internal/background.js (1,396 L — TMUX window/pane model, tmuxCmd() split/nav, rectsFor() layouts, tile(), publishTmux() state persist); zwire/newtab/tmux-pane.js pane forwarder; the fork's 0008-allow-framing.patch (renderer_host/ancestor_throttle.cc) bypasses X-Frame-Options natively so any site frames into the N-pane tiling. Caveat: "None found", not proven — a web survey found terminal multiplexers (tmux/Zellij) and browser tab-tiling / split-view features (e.g. Vivaldi), but no browser exposing the full tmux model (prefix key, named windows, sessions, nested splits, synchronize-panes) built in; the search is not exhaustive. Runs today as an MV3 extension on unbranded Chromium; the native fork patch is authored/apply-clean but the whole-chrome fork is an optional ~100 GB source build. synchronize-panes relays a semantic-token subset (printable keys + C-w/C-u), not arbitrary keystrokes.

165

Web browser with a tmux/powerline statusbar pinned to every page

MED

zwire renders a real tmux-style powerline statusbar (full / chevron segments, alternating shade blocks) fixed to the bottom of every web page, fusing tmux session state with live machine telemetry: LEFT shows the ZW signature, the C-b prefix block that lights when the multiplexer prefix is armed, active window/pane list, color scheme, VIM mode, and ⌘K; RIGHT streams real host stats from the native host — CPU · MEM · SWAP · DISK · IO · NET · LOAD · UP · TEMP · BATT · LAN · WAN · host · clock — themed by the active HUD scheme. Basis: zwire/extensions/hud-internal/zpowerline.js (72 L, registered manifest.json:292 — it superseded the removed zstatus.js in commit cc46c47065): an adapter that feeds the shared ZGui.powerline component (which owns the chevron rendering) from chrome.storagesysStats() reads zb_sys, tmuxStatus() reads zb_tmux, and ZGui.powerline.arm() lights the prefix lamp off zb_tmux.armed; telemetry from zwire/extensions/hud-internal/native/zwire-host/src/sysmon.rs (cpu/mem/load/net/temp via sysinfo). Caveat: "None found", not proven — browser extensions add status/stat bars, and terminal powerline bars are ubiquitous, but a tmux-powerline bar rendered on every page and wired to a browser-native multiplexer's live pane/prefix state has no prior art found; search not exhaustive. System segments are inert without the native host connected; top frame only, toggled via the ⌘K palette.

166

Web browser shipping a dedicated native local-host agent (filesystem crawler + exec + PTY) reused verbatim by an editor and an extension host

MED

zwire ships zwire-host — a single native agent that recursively crawls the filesystem (fs_walk, capped, ext/depth/dirs-only/substring filters), runs subprocesses, watches/tails files, opens multiplexed PTY terminals, and exposes clipboard/notify/open + a small state store — usable as a serve NDJSON local-socket daemon, a one-shot call, and an embeddable Rust library (zwire_host::api::{walk, exec}). The same agent binary/crate backs three independent frontends unchanged: the zwire browser HUD (statusbar telemetry, pane terminals), the zmax editor (auto-spawns zwire-host serve, no manual step), and the zpwrchrome extension host (zpwrchrome-host depends on the published crate and calls zwire_host::api for its host.crawl / host.exec actions). Basis: zwire/extensions/hud-internal/native/zwire-host/src/lib.rs:6 (capability list), fsops.rs:116 (fs_walk recursive crawl) + api.rs:107 (walk) + api.rs:44 (exec); zmax/zmax-term/src/commands/host.rs:1 (client bridge, auto-spawn serve); zpwrchrome/zpwrchrome-host/Cargo.toml:52 (zwire-host = { version = "0.3", default-features = false } — a crates.io registry dep, resolved to 0.3.8 in the lockfile). Caveat: this is a filesystem crawler, not a web crawler — it walks local paths, not URLs. "None found", not proven: browsers ship single-purpose native-messaging hosts (password managers, download helpers), but a general filesystem-crawl + exec + watch + PTY host shipped with the browser and reused verbatim by an editor and an extension host has no prior art found; search not exhaustive. The daemon is a privileged local process (same trust model as any native-messaging host).

167

Web browser with a built-in JSON REPL/console for driving its own native host + background worker

MED

zwire ships a dedicated HOST page (a first-class HUD tab, reachable from the sidebar and the ⌘K palette) that is an interactive JSON-in / JSON-out REPL to zwire-host, the browser's native local process, over a persistent connectNative port: a resizable code editor for the request, a collapsible JSON-tree rendering of every reply and every streamed/pushed event, a catalog of the entire host command surface (49 commands — KV store, filesystem, fs_walk crawl, exec, background jobs, ps/kill, pub/sub bus, sysinfo, clipboard/notify/open, PTY, host peering — grouped and click-to-load), a live-tile view of the same statusbar telemetry the host streams, command history, and Save-As export of the whole transcript. The extension's own background service worker is drivable too — content-script palettes relay JSON to the worker (zb-host), which forwards to the host — and a user-defined host command type fires arbitrary JSON from anywhere in the browser. Basis: zwire/extensions/hud-internal/pages/host.js (+ host.html; chrome.runtime.connectNative, Z.codeEditor request editor, Z.jsonView tree log, the 49-entry command catalog, exportLog via chrome.downloads Save-As); native/zwire-host/src/session.rs (handle_cmd JSON dispatch); background.js zb-host relay; the host custom-command type in pages/commands.js + zpalette.js. Caveat: the REPL surfaces an already-existing protocol — the novelty is shipping an in-browser interactive console/REPL whose target is the browser's own native host + background worker (with a full command catalog + JSON-tree I/O), not the protocol itself. "None found", not proven: browsers expose DevTools consoles for page JS, and extensions ship native-messaging hosts, but an in-product REPL aimed at the browser's native + background processes has no prior art found; search not exhaustive. Same privileged-local-process trust model as any native-messaging host.

168

Web browser whose command-palette entries are user-authored typed step-chains spanning browser actions and native-OS execution

MED

In zwire a ⌘K custom command is not a single action but a CHAIN of typed steps run top-to-bottom, each step independently one of url / browser-action (tab verbs) / color-scheme / js / shell / native-host JSON — authored in a per-step-typed CRUD wizard (each row its own type dropdown + value control + reorder ↑↓ / remove, + Add step). One command can therefore chain, e.g., open-URL → set-scheme → run a shell command → send host JSON. The same command runs identically across three isolation contexts — web-page content scripts (worker bus), extension pages (direct chrome.tabs + native messaging), and the new-tab override — reconciled behind one entrySteps() model that also migrates the shipped single-{type,value} defaults. shell steps invoke the native host's exec (OS-selected cmd.exe//bin/sh -c), not a PTY, and toast the decoded output. Basis: zwire/extensions/hud-internal/pages/commands.js (the steps[] typed-step wizard — per-step type dropdown, reorder, entrySteps() migration); zpalette.js (content-script chain exec runCustom/runStep + runShell over the zb-host relay); pages/zg-boot.js (extension-page runCustomBoot/runStepBoot); newtab/palette.js (new-tab chain exec); palette-cmds.js (shared step-chain summary url → shell → scheme); background.js zb-host relay; native/zwire-host/src/exec.rs (exec program/args). Caveat: chaining sequenced actions is established in desktop launchers (Alfred workflows, Raycast, Keyboard Maestro, Automator) — the pattern itself is not novel. The first-ness is browser-native: no shipping browser (Chrome, Edge, Brave, Arc's Command Bar, Vivaldi Quick Commands) lets a user author a multi-step palette command, and none allow a palette entry to reach the OS shell — they are sandboxed to built-in single browser verbs. "None found", not proven; search not exhaustive. shell/host steps carry the same privileged-local-process trust model as any native-messaging host and are inert without the host connected (they no-op on the new-tab page, which has no host access).

168a

Browser command-palette step-chains fired automatically off page-content regex matches

MED

zwire's Output Triggers take the #168 typed step-chain and fire it automatically when a user regex matches page text as it renders/streams — the browser-native analog of a terminal emulator's output triggers (iTerm2, zterminal: regex-on-output → run command), moved off scrollback onto live web-page text. A content-script MutationObserver scans rendered lines (throttled, line-capped, minified-blob-skipped, and excluding zwire's own HUD/toast DOM to avoid feedback loops); on a match it runs the identical typed chain (url / action / scheme / js / shell / host) through the shared window.ZWIRE_CMD_EXEC.runCustom executor, with the matched line bound to {q} in every step, an optional URL-filter regex scoping which pages arm a trigger, a per-trigger cooldown (default 1500 ms) against process storms, and an optional once-per-page-load mode. Basis: zwire/extensions/hud-internal/ztriggers.js (the content-script engine — compileOne regex + urlRe URL filter + cooldownMs/firedOnce storm control, fire()window.ZWIRE_CMD_EXEC.runCustom({steps},line)); pages/triggers.js (full CRUD over chrome.storage.local 'zb_triggers'); pages/step-wizard.js (the per-step typed wizard shared verbatim with #168's commands.js); zpalette.js (ZWIRE_CMD_EXEC executor). Caveat: the increment over #168 is only the automatic firing — the step-chain, wizard, and executor are #168's, shared not re-invented. Regex-on-output triggers are prior art in terminals; the first-ness is browser-native (Vivaldi Command Chains fire manually with no content match and no shell, userscript managers match URLs and run sandboxed JS with no OS shell, Arc Boosts inject per-site CSS/JS rather than regex-gated OS-reaching chains). "None found", not proven; search not exhaustive. shell/host steps carry #168's privileged-local-process trust model and are inert without the native host connected.

169

One colour scheme live-synced across a web browser and a desktop GUI app through a shared native local-host daemon

MED

zwire-host doubles as a theme bus: a single shared file, ~/.zwire/global.toml (overridable via $ZWIRE_GLOBAL_DIR), holds one { scheme, ui{ light, scanlines, vignette, glow, anim } } record (8 named schemes — cyberpunk / midnight / matrix / ember / arctic / crimson / toxic / vapor), and whichever process the user re-themes in writes it. Because each app runs its own host process with a process-local pub/sub bus, a background file watcher bridges the gap: it polls the shared file (~700 ms) and republishes any scheme/ui delta onto the local bus topics scheme / ui, with echo-suppression so a process never re-publishes its own write — so a toggle in one app fans out live to every other running app; a peer::broadcast hop federates the same change cross-machine. Every write also drops plain-text projections (hud-scheme / hud-light) beside the TOML so a native reader needs no TOML parser. Two front-door adapters ride on top: a Tauri v2 plugin named zwire-theme (.plugin(zwire_host::tauri_theme::init()), two lines) that registers theme_get/theme_set and emits a global theme-changed event, and a transport-abstracted frontend shim zgui-core/webui/theme-sync.js (ZGui.themeSync) that speaks either Tauri invoke/listen or JUCE native-fn/backend-events and applies the snapshot onto ZGui.colorscheme + fx (inert no-op where no host is connected). Live consumers: the zwire HUD extension (background.js subs scheme+ui, writes local picks back), the zpwrchrome extension (persistent native port, applyScheme on push), the Chromium-fork native chrome (patch 0002-ui-colors-hud.patch reads the hud-scheme/hud-light projections via a FilePathWatcher and live-repaints window chrome), and the ztranslator GUI app (app/src-tauri/src/lib.rs registers the zwire-theme plugin; zwire-host { tag = "v0.3.5", features=["tauri"] }) — so one ~/.zwire/global.toml is the single source of truth wiring the browser (two extensions + native chrome) to a desktop app's colour scheme in real time. Basis: zwire/extensions/hud-internal/native/zwire-host/src/theme_watch.rs (700 ms poll → bus::publish("scheme"|"ui"), note_scheme/note_ui echo control); store.rs:26 (SCHEMES whitelist), store.rs:240 (theme_dir~/.zwire), store.rs:319 (cross-process read-modify-write lock on global.toml.lock), plus hud-scheme/hud-light projections; api.rs:183 theme_get / :193 theme_set_scheme / :204 theme_set_ui / :218 theme_watch; tauri_theme.rs (the zwire-theme plugin, theme-changed emit); zgui-core/webui/theme-sync.js (Tauri/JUCE transport, applyTheme onto ZGui.colorscheme/fx); zwire/extensions/hud-internal/background.js (sub scheme+ui, write-back); zwire/extensions/zpwrchrome/background.js (applyScheme); zwire/fork/patches/0002-ui-colors-hud.patch (FilePathWatcher on the projections); ztranslator/app/src-tauri/src/lib.rs. Caveat: "None found", not proven — OS-level light/dark follows a system setting, and design-token pipelines share palettes at build time, but a native local-host daemon that live-syncs one running colour scheme across a browser (extensions + native window chrome) and a Tauri desktop app via a shared file + per-process pub/sub bus + drop-in plugin has no prior art found; search not exhaustive. The shim is a generic drop-in (vendored into every zgui-core app's lib/), so any Tauri/JUCE zgui-core app can join by registering the plugin + loading the shim. Version drift exists across the pins (local crate 0.3.14, ztranslator v0.3.5, zpwrchrome-host on the crates.io 0.3 line resolved to 0.3.8, without the tauri feature). Inert wherever the host isn't connected.

169a

The theme bus extended to a terminal modal editor — bidirectional, over the editor's own ported schemes

MED

zmax — a terminal TUI editor, not a browser or a Tauri/JUCE GUI app — joins the #169 ~/.zwire/global.toml theme bus as a first-class peer in both directions, without the zgui-core JS shim or the zwire-theme Tauri plugin those GUI consumers ride on (a terminal editor can host neither). Read side: a dedicated native notify watcher on ~/.zwire re-applies the matching theme the instant zwire's {scheme, ui.light} changes — no keypress or focus event — hopping onto the editor's main thread via job::dispatch_blocking, and maps the 8 bus schemes onto zmax's own ported zgui-<scheme> / zgui-<scheme>-light themes. Write side: committing a zgui-* theme in the editor (:theme, the picker, :theme-toggle) reverse-maps to (scheme, light) and rewrites just those two keys in global.toml (format-preserving via toml_edit, atomic temp+rename — zwire's other keys anim/glow/scanlines/ vignette left byte-intact), which zwire's own watcher then fans out to the browser + native chrome + GUI apps. Echo between the two watchers is broken by writing only on a committed set (picker previews, which leave last_theme = Some, are excluded) and skipping any write whose values already match on disk. Behind one editor setting (sync-zwire-theme, default off). Basis: zmax/zmax-term/src/zwire.rs (theme_name:114 + theme_name_from_toml:121 read/map; scheme_from_theme:172 reverse-map; spawn_watcher:333 / run_watcher:346 the notify watcher → job::dispatch_blockingapply:302; write_back_to:198 the toml_edit surgical edit, write_atomic:244); zmax/zmax-term/src/application.rs:582 (write-back hook at the single ConfigEvent::ThemeChanged choke, gated on last_theme.is_none() to exclude previews), :191 (watcher spawn at boot); zmax/zmax-view/src/editor.rs:564 (sync_zwire_theme setting); scheme whitelist zwire-host/src/store.rs:26 (SCHEMES). Caveat: extends #169's existing theme bus rather than inventing colour-scheme sync — file-based multi-app palette propagation is prior art (base16-shell, pywal, wpgtk), and #169 already wires the browser + Tauri/JUCE apps; the narrow increment here is a terminal modal editor joining that specific bus bidirectionally via a native watcher + format-preserving write-back that maps onto the editor's own ported themes (the GUI consumers' JS/Tauri adapters can't apply to a TUI). Default-off; only the 8 zgui-* schemes round-trip (non-app-shell editor themes are never pushed). Verified: 13 unit tests + an end-to-end pty run (:theme zgui-matrixglobal.toml scheme=matrix, other keys preserved).

170

First desktop application suite where multiple non-terminal GUI apps embed one shared in-app tmux window manager, each tiling its own document content

HIGH

Seven independent desktop GUI apps — zmax-gui (an editor per pane), zemail (an independent mail view per pane — split to triage several folders/accounts side by side), zoffice, zpdf, zphoto, zftp, and zreq — each embed the same shared zgui-core tiling engine (ZGui.tmux) and run tmux's full model over their own document/app content rather than terminals: SESSION → WINDOWS (tabs) → PANES, split both ways, nested to any depth, unlimited windows, with a prefix key (C-b/⌥b), synchronize-panes broadcast, copy-mode, paste-buffers, a command-prompt, session save/restore, and a published powerline segment — no OS windows involved. The engine is a single 1,474-line component consumed as the shared submodule; each app is ~35–200 lines of wiring (frontend/tmux-config.js) that hands the WM three callbacks (openEmptyPane/renderPane/paneLabel) so every pane mounts an independent instance of that app's own view (its own transport + state). The tiling is an absolute-position model (every pane a permanent direct child, retiled by %-rects), so a webview/iframe/document pane never re-parents and never reloads on split, retile, zoom, or window switch. Basis: zgui-core/webui/tmux.js:1 (ZGui.tmux — WM tree/nav/resize/zoom/tabs/sessions/prefix + synchronize-panes + copy-mode + paste-buffers, host-supplied pane content via init(cfg); 1,474 L); per-app consumers zemail/frontend/tmux-config.js (mail view per pane via mountZemail), zmax-gui/frontend/tmux-config.js (editor per pane), plus zoffice/zphoto/zftp/zreq frontend/tmux-config.js and zpdf/crates/zpdf-core/frontend/tmux-config.js; each app ships crates/zgui-core/webui/tmux.js as the shared submodule copy. Caveat: distinct from the terminal-side tmux work in this ledger — zterminal speaks the native tmux wire protocol (#104–#105) and zwire embeds a tmux model in a browser (#164); this claim is about a family of non-terminal desktop apps sharing one in-app tiling WM over document content. tmux (terminal multiplexer) and tiling window managers each long predate this; the novelty is the combination — a shipped desktop suite whose apps embed the full tmux model over their own content from one shared implementation. "None found", not proven; search not exhaustive. Depth of per-pane wiring varies by app (editor/mail are the richest).

170a

First desktop-app suite with cross-pane synchronize-panes typing and named layout save/restore over document panes — one shared implementation

HIGH

The same shared ZGui.tmux engine gives every app in the suite (#170) two capabilities tmux users expect from terminals, but here over document/app panes: (a) synchronize-panes — broadcast typing across a chosen set of panes, with a per-pane membership toggle (e = all on/off, E = add/remove this pane), so a keystroke in one synced pane replays into every other synced pane's last-focused editable surface. Because a single document has only one focused element, the engine tracks each pane's last editable + caret (selection offsets for inputs, a live Range for contenteditable) and inserts into unfocused peers at their remembered caret; readline line-editors forward C-w/C-u (plus the macOS ⌥/⌘-Delete twins) as semantic tokens so word/line-kill broadcasts correctly rather than as raw characters. (b) Named session/layout save + restore — each window's name plus its panes' saved refs are snapshotted into the host's own prefs store under tmuxSessions (S = save current layout as a named session, s = load a saved layout; also save-session/switch-client from the command-prompt), and on restore each pane is re-mounted from its saved ref via the host's renderPane(bodyEl, ref) callback — so an editor/mail/document pane comes back with its own content, not an empty tile. Both live once in the shared component, so all seven apps inherit them identically. Basis: zgui-core/webui/tmux.js:282 (syncMembers) + :286/:287 (toggleSync/toggleSyncPane), :292 (paneOfNode, with per-pane lastField/caret tracking at :294/:298/:299), :304 (broadcast keydown observer; :309-:312 readline C-w/C-u/⌥⌘-Delete → semantic tokens), :314 (broadcastKey into every synced peer); session/layout: :109 (tmux-sessions) + :110 (tmux-session-save), :1148 (saveSessionNamedsessionSnapshot():1107savePrefs p.tmuxSessions at :1153), :747 (CFG.renderPane re-mount of a saved pane ref), :1095 (save-session) + :1092 (attach-session/switch-client load-by-name). Caveat: refinement of #170, not a separate engine. synchronize-panes and layout save (tmux-resurrect/continuum) are longstanding tmux features for terminals; the first-ness here is that a suite of non-terminal desktop apps gets both over their own document content from one shared implementation. Sessions persist to each app's local prefs blob (per-app, not shared across apps). A named session stores each window's name + its panes' refs only — the exact split-tree geometry, layout, syncPanes membership and paste-buffers are not restored from it (applySession rebuilds an even split); those fields are carried only by the per-tab sessionStorage snapshot (persist(), tmux.js:1395), which survives reload but not a named-layout load. "None found", not proven; search not exhaustive.

171

Web browser with a user-controllable mastering DSP chain compiled into its own audio-service output-mix chokepoint, live-reconfigurable with nothing open

MED

zwire compiles a full mastering chain into the Chromium audio service itself and applies it in OutputController::OnMoreData() — the per-stream output pull that every browser sound passes through before the OS device (HTMLMediaElement, MSE/YouTube, Web Audio, WebRTC alike), below the renderer's AudioRendererMixer (which streaming tabs bypass). The chain is per-stream, sample-rate-adaptive, and unity-by-default (bit-identical passthrough until a control engages it): preamp → parametric RBJ-biquad EQ cascade → gain → drive → stereo-linked compressor → feedback delay → reduced-Freeverb reverb (4 combs + 2 all-passes/ch) → M/S stereo width → equal-power pan/mono → brickwall limiter. It is live-reconfigurable with nothing open and no relaunch: the sandboxed audio service can't read the config file, so the unsandboxed browser process polls $STATE/audio-eq (25 ms) and pushes the spec over a new mojom AudioService::SetZwireEqConfig, which atomically swaps a process-global config every block; bin/zwire seeds it at launch (--zwire-audio-eq) so audio is shaped from the first block. A companion meter back-channel streams the REAL post-DSP output (Goertzel spectrum + peak/RMS + phase correlation + decimated stereo scope) via mojom ZwireMeters.Pull$STATE/meters → the native host → the HUD Audio page — with no tabCapture (which mutes the source + drops audio on release), so closing the page never touches audio. Basis: zwire/fork/patches/0022-audio-eq-output.patch (services/audio/output_controller.cc OnMoreData()ZwireAudioEq per-stream chain; ZwireMeterWrite/ZwireMeterSnapshotJson); 0024-audio-live-config.patch (mojom SetZwireEqConfig live push off a browser-process file poller + a ZwireMeters pool-sequence meter feed); zwire/extensions/hud-internal/pages/audio.js (dashboard buildSpec/parseSpec + charts); zwire/bin/zwire (launch seed). Caveat: "None found", not proven — OS-level system equalizers shape all audio but aren't browser-internal or tab-independent at the browser's own mix stage; per-tab Web-Audio EQ extensions exist but only over captured/routed streams (they miss MSE/WebRTC and mute the source); no browser was found applying a user-controllable mastering DSP chain at its audio-service output chokepoint with a post-DSP meter back-channel; search not exhaustive. Capability requires the native fork build (the MV3 extension layer can't reach the audio service); the DSP was verified in isolation and runtime-verified @150.0.7871.46, but prior-art absence is not exhaustive.

zgui-core: the shared framework-free web-component toolkit vendored by every GUI app
172

Desktop benchmark whose primary readout is cross-subsystem degradation-under-contention — an N×N interaction matrix plus a bottleneck-migration timeline

LOW

zthrottle's contention profiler drives disk, network, CPU, and memory simultaneously and reports not a score but the interference between axes: an isolated per-axis baseline, then an N×N interaction matrix (subject axis × co-loaded axis → % slowdown), then a bottleneck-migration timeline that cumulatively adds load and re-reads every active axis, then names the weakest link as the axis with the highest mean degradation across the matrix. Per-axis threads are kept near core count so contention is fair, not oversubscribed. The premise: a disk figure with the CPU idle and a CPU figure with the disk idle are numbers that never co-occur, and the interference between axes is what predicts real behaviour. Basis: zthrottle/crates/zthrottle-core/src/contention.rs (isolated baselines → matrixtimeline → weakest-link; Load per-axis threads); Monitor::contention in sys.rs. Caveat: concurrent multi-subsystem load is not novel — stress-ng, Geekbench, and OS stress harnesses all co-load several axes; the candidate-first is the packaging — a degradation matrix + bottleneck-migration timeline as the desktop product's primary readout — not the co-loading itself. "None found," not proven; confidence deliberately low.

Supporting architecture (not itself claimed as a first): zthrottle's storage monitor is backed by a persistent SQLite directory index built by a single full filesystem walk on a cold/wiped DB (streamed, committed every 20k dirs so a mid-walk restart keeps progress); thereafter the fs-watch hook is the only automatic writer — a notify FSEvents/inotify watch on $HOME, debounced (1.5 s quiet, ≥3 s between fires, ≤64 coalesced dirs), driving a targeted update_paths that re-sizes only the changed dirs and propagates the byte delta to ancestors instead of re-walking; a new target/ is found by re-walking from its nearest indexed ancestor. Reads are instant; every other write is a user action (refresh/reindex/delete/junk-pattern reflag in one SQL pass/size freshen). Basis: zthrottle-core/src/sys.rs (index_tree/refresh_tree/update_paths), treedb.rs, the zt-storage-watch thread in app/src-tauri/src/main.rs. Not claimed: fast local indexers exist (Everything, macOS mds, fswatch); this is a well-executed instance of a known pattern, documented for its audit (full scan once → hooks-only), not as a novelty.

173

zvcs — a git-shadowing superset that makes many-writer, submodule-heavy version control lock-free via a per-repo FIFO coordinator daemon

HIGH

Stock git guards index writes with an O_EXCL .git/index.lock: a contended writer does not wait, it fails (fatal: Unable to create '.git/index.lock': File exists), so under many concurrent automated agents committing across a meta-repo of nested submodules the lock becomes a thundering herd of retries with no fairness — the exact contention documented throughout this project's own history. zvcs ships a single binary named git that shadows stock git on PATH; git-compatible porcelain is served natively through a vendored port of gitoxide (src/ported/gix-*, ~1,387 Rust files) so tools on PATH (RustRover, gh, cargo) see identical behavior against the same on-disk .git. On top of that it adds a superset of z* verbs stock git structurally cannot have (the authoritative set is dispatch::SUPERSET_VERBS in src/extensions/src/dispatch.rs, listed live by git zverbs — no count is transcribed here so it cannot go stale as verbs are added) — grouping into coordination (zdaemon/zclaim/zunclaim/zwho/zstatus, daemon-supervised zjob/zjobs), submodule discipline (zsync/zbump/zforeach/zup/zworktree/zrepos), state archaeology (zsnapshot/zrestore/zsnapshots, zstash/zunstash/zstashes, zundo, zlog, zreindex), and workflow (zcommit/zpush/zrepl/zhook). The three load-bearing ones: git zdaemon — a per-repo coordinator daemon that replaces the index.lock flock with a FIFO userspace barrier (a single worker_loop owns the abstract critical section and drains an mpsc channel, keeping a VecDeque of requests in strict arrival order; clients speak ACQUIRE/GRANTED/RELEASE over a Unix-domain socket and a dropped or EOF'd connection auto-releases), so N writers serialize first-come-first-served instead of racing; git zsync — reconcile every submodule to its tracked mainline (origin/main / origin/master), fast-forward only, keeping it attached so detached HEAD never happens; and git zbump — forward-only submodule gitlink bumps that advance a parent's pointer only when the submodule's new HEAD is a descendant of the recorded one. Basis: zvcs/src/extensions/src/superset/zdaemon.rs (worker_loop, the VecDeque FIFO queue, the ACQUIRE/RELEASE protocol over UnixListener/UnixStream + mpsc); src/extensions/src/lock.rs (RepoLock::acquire and the RAII Drop that emits RELEASE); src/extensions/src/superset/zsync.rs, zbump.rs; src/extensions/src/dispatch.rs (superset-verb vs git-compat routing); git engine at src/ported/gix-*; the shadow binary is declared [[bin]] name = "git" in src/extensions/Cargo.toml. Test-verified: src/extensions/tests/coordination.rs::daemon_serializes_concurrent_writers spawns the real git zdaemon start, races N threads that each RepoLock::acquire → mark occupancy → release, and asserts the peak observed critical-section occupancy is exactly 1 (a broken lock would exceed 1). Caveat: gitoxide (git in Rust) predates this and is the vendored engine, not the claim; daemon-mediated locking exists in other VCS. The candidate-first is the packaging — a git-shadowing superset whose FIFO zdaemon makes many-writer automated workflows over nested submodules lock-free and fair, with zsync / zbump codifying the attached, forward-only submodule discipline this project already enforces by hand. "None found," not proven; search not exhaustive.

174

First git-superset VCS held to git compatibility by a differential fuzz harness asserting byte-level parity — stdout, exit code, and resulting repository state — against stock git as the oracle

HIGH

The companion claim to #173: where that entry is zvcs's coordination superset, this is the instrument that keeps its git-compat floor honest, in the exact family as #39 (zsh wordcode parity) / #116 (Python Powerline parity) / #55 (Perl --compat corpus) — parity checked against an authoritative oracle the author does not control, here the installed git itself, run live per case. zvcs-parity builds a fixture repository with stock git, runs each invocation against both stock git and the zvcs binary in identical throwaway repos, and compares three surfaces — stdout bytes, exit code, and the resulting repository state (probed with stock git, plus an object-storage-layout probe) — so a subcommand that prints the right thing while corrupting the index still fails where an output-only diff would pass it. A deterministic fuzzer (xorshift; every case a pure function of (seed, index), so any failure replays from its seed) stacks repeated flags, mutated flag values, multiple positionals, interleaved argument order, and hard rev-spec / magic-pathspec forms drawn from per-command grammars extracted from git's own man pages. Coverage is measured empirically from git --list-cmds=main, not a hand-list, so the denominator cannot be trimmed; an unimplemented flag scores as a failure, never a skip; and non-determinism in git itself (random temp-file names, wall-clock stamps) is detected by re-running the stock side against itself and excluded rather than masked — the same falsify-don't-flatter instinct Chapter 12's methodology applies to the ledger. Basis: zvcs/src/parity/{runner,fuzz,fixture,corpus,report,env,grammars_generated}.rs, zvcs/scripts/{gen_grammars,split_failures}.pl; snapshot 2026-07-20 — 181/181 stock subcommands dispatched, every scored fuzz case byte-identical to stock git on the then-current corpus, one case auto-excluded as non-deterministic in git itself. Caveat: "byte parity" is asserted on process-observable output — stdout, exit code, repository state — not on pack-file bytes: zvcs writes valid but delta-free packs that differ from git's byte-for-byte, so the storage probe compares object-store layout by count and presence, and pack-objects --stdout (where the pack is stdout) is a known ceiling. The pass figure is corpus- and seed-relative and the fuzzer is being deliberately hardened (repeated flags, value mutation, deeper rev-specs), which can surface further gaps — a measurement, not a proof of universal equivalence. "First" is author-asserted: no prior-art survey found a git-shadowing superset shipping a byte-level differential parity harness; recorded as "none found," not proven.

175

ztmux — the world's-first tmux superset: a byte-parity from-source tmux port that then extends past tmux

HIGH

Every prior tmux-in-Rust effort is a port (tmux-rs, which ztmux itself was seeded from, is a faithful reimplementation) and every from-scratch Rust multiplexer (zellij, Wezterm's mux) is tmux-incompatible. ztmux is the first to be both at once: a from-source port of the whole tmux program — server, client, grid/screen model, input parser, layouts, the command language, formats, and the terminal back end — reimplemented against the upstream tmux C sources (vendored under vendor/ as a plain, read-only, SHA-pinned copy, 196 .c files) and held to that spec by a byte-for-byte differential parity suite (identical inputs through real tmux and ztmux, diffed) at 1107/1107 (100%), with an anti-drift gate (tests/ported_fn_names_match_c.rs) that fails the build if a free fn is added to src/ whose name has no counterpart in vendor/tmux — so the port cannot be faked with Rust-only "helper" functions. On top of that compatibility floor it is a superset: 119 original src/extensions/ modules (walled off from the anti-drift gate precisely because they are not tmux) add capabilities tmux never had or removed — triggers revives tmux's deleted monitor-content as a general regex-on-pane-output → run-any-ztmux-command sense→act loop; a ratatui UI layer adds a which-key hint bar, a command palette with inline completion, edit-scrollback-in-$EDITOR, and multi-pane selective sync shown on the pane border; zellij features are absorbed natively (@ztmux-zellij-mode inset pane frames, stack pane-stack, a floating pane, a session manager, modal keybindings, a tab bar); resurrect + @ztmux-resurrect-auto fold tmux-resurrect and tmux-continuum into the binary; and open folds tmux-open/tmux-urlview in — every extension pipeable via -o json. Basis: ztmux/README.md §[0x02]/[0x04]/[0x05]/[0x08]; ztmux/vendor/ (SHA-pinned tmux C, 196 .c); ztmux/parity/PARITY_ROADMAP.md (1107/1107); ztmux/tests/ported_fn_names_match_c.rs (anti-drift gate) + tests/data/fake_fn_allowlist.txt; ztmux/src/extensions/ (119 modules: triggers.rs, resurrect.rs, stack.rs, sessions.rs, modal.rs, open.rs, switch.rs, dashboard.rs, watch.rs, sync.rs, …); v3.7.21. Pairs with ztmux-core (the native tmux client engine) — this repo is the server+client rewrite. Caveat: "first" is the combination — a byte-compatible tmux and a superset — not "first tmux in Rust" (tmux-rs precedes it as a pure port) nor "first Rust multiplexer with these features" (zellij has frames/floating/resurrect but is not tmux). The parity figure is corpus-relative (1107 cases), not a proof of universal equivalence; the extensions are original subcommands, not upstream tmux. "None found," not proven; prior-art sweep non-exhaustive. MIT (derivative of tmux, ISC).

176

powerliners — the world's-first Powerline superset: a byte-parity zero-Python port that then extends past Powerline

HIGH

The superset companion to #116 (which is the parity harness): powerliners is a single-binary, zero-Python Rust port of powerline-status, drop-in compatible with existing powerline/config themes and validated by 462 parity tests that run the upstream Python interpreter live and assert byte/value-identical output (134/137 upstream .py files DONE, 2,473 lib tests), held to that spec by an anti-drift gate (tests/ported_fn_names_match_py.rs) that fails the build if a fn is added to src/ whose name has no counterpart in upstream Powerline's .py — the same falsify-the-port instrument as ztmux (#175) and zvcs (#173/#174), with the same carve-out: docs/PORT.md permits non-ported code in only src/extensions/ and src/bin/. On that byte-compatible floor it is a superset: src/extensions/ ships 20 net-new segments upstream Powerline has no counterpart for — GPU compute % + VRAM (vendor-dispatched nvidia-smi→rocm-smi→intel_gpu_top→ioreg), thermal (temp+fan), live disk I/O, a p10k-style single-chunk git_status (branch + unstaged/untracked/staged/conflict/ ahead/behind/stash badges from one --porcelain=v2 fork), Docker/OCI container counts, k8s kubecontext+namespace, GitHub CI check-runs, AWS/GCP context, POSIX process tally, and fusevm-JIT / zshrs/stryke/awkrs rkyv cache-size segments — all dispatched as native daemon built-ins, no filesystem theme lookup. The structural superset is Reactive Prompt Push (src/extensions/watch.rs): upstream Powerline is pull-only (it redraws on precmd / a tmux interval, so a git checkout in another pane leaves this pane's branch stale until Enter); powerliners adds an orthogonal push path — the warm powerline-daemon watches each client's live prompt inputs (cwd, .git/HEAD, .git/index, the branch ref) via real OS events (kqueue/FSEvents/inotify through the notify crate), edge-triggered and prompt-fingerprint-deduped, and writes one wake byte to a per-client FIFO the shell's ZLE (zle -F fdreset-prompt) redraws in place, so the branch flips between keystrokes, no Enter, no timer. Basis: powerliners/src/ported/ (byte-parity port, // py:NNN citations), src/extensions/ (20 segment modules + watch.rs reactive push), src/extensions/shell_hooks/reactive.zsh; tests/ported_fn_names_match_py.rs (anti-drift gate); docs/PORT.md (src/extensions/ + src/bin/ carve-out); 462 parity tests / 2,473 lib tests; README §"Bundled extensions" / §"Reactive Prompt Push"; v0.2.17. Caveat: "first" is the combination — byte-compatible Powerline and a superset — not "first Powerline in Rust" (powerline-go / powerline-rs precede it but are not byte-parity ports of powerline-status) nor "first prompt with these segments." Byte-parity is asserted on the ported render path (tested against upstream Python, per #116's caveat); the 20 segments are original, not upstream; reactive push is zsh-only (ZLE is the one mainstream line editor that can watch an arbitrary fd and redraw mid-line without a timer) and degrades silently to pull-only when no watch backend is available. "None found," not proven; prior-art sweep non-exhaustive. MIT.

177

htoprs — the world's-first htop superset: a byte-parity from-source htop port that then extends past htop

HIGH

The fourth instance of the superset pattern (after zvcs #173/#174, ztmux #175, powerliners #176): htoprs is a from-source port of htop 3.5.1 (131 .c files, vendored as the vendor/htop submodule pinned to the 3.5.1 tag), one Rust module per C file with every fn carrying a /// Port of <File>.c:<line> citation, rendering byte-for-byte identical to htop (enforced by a parity suite — tests/parity/ — that runs reference htop and htoprs and diffs their output) and held to the port by a port-purity gate (build.rs) that checks every free fn name in src/ported/ against the htop C-function snapshot tests/data/htop_c_fn_names.txt and fails the build on any Rust name with no C counterpart — the same falsify-the-port instrument as ztmux's ported_fn_names_match_c.rs and powerliners' ported_fn_names_match_py.rs, with the same carve-out (src/extensions/ is exempt because it is honestly not htop). Coverage 1069/1093 C functions (97.8%) across 130/131 files, a daily driver on macOS; the terminal layer is pure-Rust crossterm (no C dep) while the color model (CRT.c ColorElements + every CRT_colorSchemes entry) is transcribed verbatim so colors match htop exactly. On that byte-compatible floor it is a superset: 21 src/extensions/ modules add capabilities htop has no counterpart for — a memory-exhaustion forecast (E) that is a leading indicator htop lacks entirely (a hand-rolled OLS trend on each PID's bounded memory ring projecting wall-clock time until its resident set crosses its own real ceiling — cgroup-v2 memory.maxRLIMIT_AS → total RAM — soonest-first, with an inline amber row tint through htop's single color chokepoint); a 31-palette named theme system with a live 256-color recolor at the Ncurses::to_color choke point plus a theme chooser/editor; a fuzzy process finder (f), a regex/substring filter with a saved named store (r), a snapshot baseline+diff (d, +started/-exited/~changed), JSON+CSV export (o), debounced threshold alerts (A, firing PIDs recolored red), a braille CPU history graph (G), an aggregate/pivot by user/command/parent (y), a command palette (:), a bar fill-glyph cycler (b, 5 styles), and a CPU-scaled per-PID sparkline (v) that makes the process panel variable-height (busy processes grow a full-width braille CPU graph, Panel_draw/Panel_onKey project every screen-Y/page/scroll through per-row heights) — all on keys htop leaves free, injected at the same Panel_draw per-row hook so no new ported fn is added. Basis: htoprs/src/ported/ (function-for-function htop 3.5.1 port, /// Port of cites), src/extensions/ (21 modules; forecast.rs, theme.rs+colors.rs+overlay.rs, finder.rs, filter.rs, snapshot.rs, export.rs, alerts.rs, graph.rs+braille.rs, aggregate.rs, procring.rs, barstyle.rs, panels.rs+bridge.rs, …); build.rs port-purity gate + tests/data/htop_c_fn_names.txt + fake_fn_allowlist.txt; tests/parity/ (byte-diff vs reference htop); scripts/gen_port_report.pydocs/port_report.html (source-derived coverage, todo!() counts as stubbed); v0.5.9. Caveat: "first" is the combination — byte-compatible htop and a superset — not "first htop-like in Rust" (bottom / btop / ytop / zenith precede it but are from-scratch alternatives, not byte-parity ports of htop) nor "first process monitor with these features." Coverage / parity are corpus-relative (1069 functions; the parity suite's cases), a measurement, not proof of universal equivalence; some extensions (the theme overlay, the status toast, the bar cycler) are ported from the sibling tools iftoprs / storageshower, not original to htoprs. "None found," not proven; prior-art sweep non-exhaustive. MIT (derivative of htop, GPL-2.0).

178

World's-first pure-Rust, zero-FFI, JIT-compiled Python runtime embedded in an editor (zmax)

HIGH

"Python scripting" inside an editor has universally meant linking CPython: Vim +python3, GDB, Sublime, and the rest embed libpython through its C API, or reach it from Rust via PyO3/rust-cpython — an FFI boundary and a C runtime in-process either way. zmax embeds Python with none of that: the pythonrs frontend (a hand-written Python front-end that lexes/parses Python and lowers it to fusevm bytecode, hosting the Python object heap in Rust at pythonrs/src/host.rs) is compiled directly into the editor binary and runs Python on the shared three-tier Cranelift JIT + AOT VM that also hosts the editor's nine other embedded languages (#1, #120) — no CPython, no libpython, no PyO3, no C-ABI, no subprocess. The zero-FFI property is a build fact, not an aspiration: pythonrs's optional CPython-stdlib bridge (stdlib-ffipyo3libpython) is off in the zmax-vendored pin, so the editor links no pyo3 and no libpython — Python evaluation is 100% Rust from source text to JIT'd machine code. :python <src> (and the unified SPC a r REPL) evaluate through pythonrs::eval_str with the result repr'd via pythonrs::host::with_host, fd-captured to keep the TUI clean. Basis: zmax/zmax-term/src/commands/scripting/python.rs (pythonrs::eval_str + pythonrs::host::with_host under capture::with_captured_fds); zmax-term/Cargo.toml (scripting is a default feature; pythonrs = { path = "../vendor/pythonrs" } with no stdlib-ffi); vendored zmax/vendor/pythonrs @ 54aeca9 ([features] has no default line, so pyo3 is never pulled — "Default builds never pull pyo3 or need libpython"); pythonrs lowers to fusevm (pythonrs/src/compiler.rs, Cargo.toml fusevm = "0.26.0" with jit/jit-disk-cache/aot). Build-verified: zmax-term/src/commands/scripting/mod.rs tests assert python::eval("111 * 1111").is_ok() and python::eval("1 +").is_err(). Caveat: pure-Rust Python interpreters exist — RustPython above all, which pythonrs uses as its behavioral parity spec — so this is not "first pure-Rust Python"; the claim is the combination: an editor embedding a zero-FFI, pure-Rust, JIT-compiled-on-a-shared-multi-language-VM Python that drives the live session, where the entire prior ecosystem embeds CPython over FFI. It sharpens #120 (ten embedded languages, zero FFI) to the specific, verifiable Python case. Because stdlib-ffi is off in the embed, the CPython standard library is not importable in-editor (pythonrs's own built-in modules only); the standalone python binary can opt into the real stdlib via stdlib-ffi, but that is a different build. "None found," not proven; prior-art sweep non-exhaustive. A zmax (Helix-fork) addition. MIT.

179

World's-first pure-Rust, zero-FFI native git push — a from-scratch send-pack / smart-HTTP receive-pack client (zvcs)

HIGH

Every "git in Rust" that can push does so by binding C: git2/git2-rs are FFI wrappers over libgit2, and jujutsu (jj), gitui, and the rest reach git push through that same C library. The one pure-Rust engine that isn't libgit2 — gitoxide — is fetch-only: gix-protocol's v2 command abstraction knows exactly two commands, ls-refs and fetch (gix-protocol/src/command/mod.rs, Command::as_str), the crate exports only handshake, ls_refs and fetch (gix-protocol/src/lib.rs), gix::Remote has no push, and gix_transport::Service::ReceivePack exists only as a service-name string with no protocol behind it. zvcs closes that gap: push_proto.rs is a faithful port of git's send-pack.c (send_pack() / receive_status(), git 2.55.0) — it reads the server's capability advertisement, builds the report-status[-v2] capability string, writes the <old> <new> <ref> command list (capabilities after a NUL on the first line), streams a packfile of the objects the remote lacks, and parses the server's report-status — with the exact same wire bytes stock git hands to git-remote-curl, POSTed here directly by gix-transport's HTTP client via handshake(Service::ReceivePack) + request() with the application/x-git-receive-pack-request content type and credential-helper auth. So the protocol logic is git's, the transport is gitoxide's, and there is no libgit2, no PyO3-style C-ABI, and no shell-out to stock git (the only std::process reference in the path is ExitCode). The porcelain git push (push.rs) resolves the remote and <refspec>s — src, src:dst, +src:dst (force), :dst (delete), bare-branch default — into concrete ref updates, calls push_proto::send_pack, updates remote-tracking refs from the outcome, and prints git's To <url> status block. The common git push over https path is complete: create, fast-forward, forced updates, deletes, and report-status/report-status-v2. Basis: zvcs/src/extensions/src/porcelain/push_proto.rs (the send-pack.c port + gix::protocol::transport ReceivePack bridge), push.rs (push_proto::send_pack, refspec parsing, tracking-ref update, To <url> report), pack_objects.rs (the complete non-thin, undeltified pack receive-pack accepts); the shadow binary is [[bin]] name = "git" in src/extensions/Cargo.toml. Test-verified: src/extensions/tests/push_preflight.rs::zpush_refuses_when_remote_tracking_is_ahead and ::zpush_refuses_via_live_lsrefs_when_remote_moved build real repos and assert the push refuses a non-fast-forward (the latter via a live ls-refs against a moved remote); push_config.rs covers config resolution. Real-world verified: the author pushed this project's own commits to GitHub through the zvcs git binary. Deliberate scope: push certificates (--signed), --atomic, push-options, shallow grafts, the side-band-64k progress demux, and the WebDAV dumb-push helper are not ported — each needs substrate absent from the vendored crates, so the sibling arg-only modules (send_pack.rs, http_push.rs, remote_https.rs push path) bail rather than emit plausible-but-wrong wire data; smart-HTTP push, the path git actually uses against GitHub, is the ported one. Caveat: pushing over the git protocol is not novel — stock git and libgit2 have done it for decades; the claim is a pure-Rust, zero-FFI, from-source git push client, filling the one hole the leading non-libgit2 Rust engine (gitoxide) leaves open. This is the workflow companion to #173/#174 (zvcs coordination superset and its parity harness). "None found," not proven; prior-art sweep non-exhaustive. A zvcs addition (gitoxide engine vendored). MIT.

180

First and only git binary with a built-in interactive REPL over its own dispatch table (zvcs git zrepl)

MED

Stock git has no interactive console: every git <verb> is a fresh process, and the known "git shell" tools — thoughtbot's gitsh and rtomayko's git-sh — are wrappers that read a line and shell out to external stock git (fork/exec of the real git), so the REPL lives beside git, never inside it. zvcs ships the console inside the git binary itself: git zrepl reads each line and dispatches it through the same in-process dispatch::run the CLI uses — no fork/exec, no subprocess — so a REPL line and a shell git invocation hit identical code. Because it fronts zvcs's one dispatch table, the console drives both git-compat porcelain and the coordination superset stock git cannot have in one session (zjobs, zjob 3, zdaemon status, zsync, zclaim, … alongside status/log/diff). On a terminal it opens with a live-stats banner (logo + verb/repo counts pulled at render time) and edits with reedline: persistent history (~/.zvcs/repl_history), emacs or vi keys per zvcs.replvimode, and Tab completion of the command word against every dispatchable verb — both dispatch tables merged (dispatch::SUPERSET_VERBS + dispatch::PORCELAIN_VERBS, the same source of truth git zverbs lists) via a custom reedline::Completer and a ColumnarMenu bound to Tab/Shift+Tab on whichever insert keymap is active; piped/non-tty stdin degrades to a raw line reader (no banner, no completion) so echo 'zrepos' | git zrepl stays scriptable. Basis: zvcs/src/extensions/src/superset/repl.rs (the reedline console, ZreplCompleter over dispatch::SUPERSET_VERBS + dispatch::PORCELAIN_VERBS, run_onecrate::dispatch::run with no subprocess), superset/banner.rs (the width-correct live-stats banner), dispatch.rs (the single table both the CLI and the REPL route through); the shadow binary is [[bin]] name = "git" in src/extensions/Cargo.toml. Test-verified: src/extensions/tests/repl.rs::zrepl_runs_piped_commands_then_quits drives the piped path end to end. Caveat: an interactive git shell is not itself novel — gitsh and git-sh predate this; the candidate-first is the embedding: the REPL is part of a from-scratch git reimplementation and dispatches natively over both porcelain and a coordination superset in-process, rather than wrapping an external git. "None found," not proven; prior-art sweep non-exhaustive. A zvcs addition (gitoxide engine vendored). MIT.

181

First git binary with built-in aspect-oriented command interception — before/after/around advice on any git subcommand (zvcs git zintercept)

MED

Git's extensibility is a fixed set of lifecycle hooks (pre-commit, post-merge, … under .git/hooks) that fire only at git's chosen points and only for the operations git chose to hook; there is no way to wrap an arbitrary subcommand — git status, git push, git log — with before/after/around advice, and no git tool offers aspect-oriented interception of its own dispatch. zvcs adds it: git zintercept before|after|around <pattern> -- <cmd> registers AOP advice against a git-subcommand pattern (commit, commit *, */all), and because the one binary is the sole dispatcher (dispatch::run), every matching invocation runs the advice around the command. A before hook runs a shell command before the command; an after hook runs after it with the command's exit status and wall-clock in INTERCEPT_STATUS/INTERCEPT_MS/INTERCEPT_US; an around hook replaces it and runs "$INTERCEPT_CMD" to proceed with the original. The AdviceKind (before/after/around) + Intercept + intercept_matches (exact / glob / all) engine is ported from zshrs's own AOP intercepts and adapted to zvcs's per-process model: the registry persists to $ZVCS_HOME/intercepts.tsv and loads at dispatch (a single stat gates the hot path when empty), advice is a shell command carrying INTERCEPT_NAME/INTERCEPT_ARGS/INTERCEPT_CMD, and a ZVCS_INTERCEPTED env guard stops the wrapped command from re-intercepting itself. Basis: zvcs/src/extensions/src/superset/intercepts.rs (the ported AdviceKind/Intercept/intercept_matches, maybe_intercept orchestrating before→around/after, the TSV registry, the zintercept verb), the interception hook at the top of src/extensions/src/dispatch.rs; ported from zshrs/src/extensions/intercepts.rs. Test-verified: superset::intercepts::tests port zshrs's matcher tests (exact / glob / single-char / all) and cover the registry round-trip; end-to-end, git zintercept before version -- echo … prints the hook before git version runs. Caveat: AOP advice is not novel in itself — zshrs (this project) already ships before/after/around intercepts for shell commands, and function-wrapper hooks exist in zsh's addwrapper; the candidate-first is applying it to a VCS — before/after/around advice on any git subcommand, built into a git-shadowing binary, which git's fixed lifecycle hooks structurally cannot do. The interception companion to the zvcs coordination superset (#173). "None found," not proven; prior-art sweep non-exhaustive. A zvcs addition (gitoxide engine vendored; AOP engine ported from zshrs). MIT.

182

First git binary that treats a machine-wide repo fleet as a live, parallel-operable object — an htop-style fleet monitor, a fleet-wide command feed, and fork-free parallel queries/mutations across every indexed repo (zvcs git ztop / zcommands / the parallel verbs)

MED

Managing many git repos is normally shell glue — for d in */; do (cd $d; git …); done — with no shared index, no live view, and one fork/exec of git per repo. zvcs makes the fleet first-class: a machine-wide index of every git repo (zreindex/zrepos), one selection grammar every fleet verb shares (Selector / [selectors]: a path pattern, --dirty/--ahead/--behind, --claimed/--session, ANDed), and one bounded worker pool (parallel_map) over which a family of verbs run native gix reads — no fork — across the whole set: queries (zheads/zdirty/zsize/zcommits/zpristine), analytics (zgrep/zahead/zbehind/zunpushed/zunpulled/zauthors/zhot/zconflicts), and parallel mutations through the fair per-repo lane (zfetch/zgc/zreset/zabort/zcommitall/zpushall). On top sit two observability instruments the shadow-binary design uniquely enables: git ztop — a full-screen, htop-style monitor of the entire fleet, every repo with a churn bar / HEAD / state, sorted so repos changing right now rise to the top, read from a daemon-maintained status cache each frame (no live walk, so it scales to thousands), rendering the 31 htoprs colorschemes with a live picker + palette editor, F1 help, sort-by-column, and / search; and git zcommands — a live feed of every git command run across the machine, which is only possible because the one binary is the sole git: each invocation logs time, pid←ppid (which agent ran it), cwd, and argv to its own log, gated by a single stat when off. Basis: zvcs/src/extensions/src/superset/query.rs (parallel_map + the fleet-query verbs), select.rs (Selector/SELECTOR_VERBS, test-guarded against drift), analytics.rs, pmutate.rs, ztop.rs (the ratatui monitor + status-cache read + ported htoprs colorschemes), statusd.rs (the producer/consumer status-cache maintainer), zcommands.rs (the fleet command log) + the log_invocation hook in dispatch.rs. Test-verified: superset::query/analytics/pmutate integration tests fan verbs across fixture repo sets; ztop/zcommands unit tests cover churn sort, theme round-trip, filter, and the command-log parse/backlog; selectors tests guard the grammar. Caveat: neither a repo-fleet manager (myrepos/mr, gita, ghq) nor a TUI process monitor is new; the candidate-first is the integration — a shadow git binary whose own dispatch is the fleet's sole entry point, giving fork-free parallel operations over a shared index, a live churn-sorted monitor off a daemon status cache, and per-command ppid attribution that only the sole-git design makes possible. The observability/parallel companion to the coordination superset (#173) and its interception layer (#181). "None found," not proven; prior-art sweep non-exhaustive. A zvcs addition (gitoxide engine vendored). MIT.

183

zdbview — first terminal UI for rkyv archives with full CRUD write-back: eight recognized archive types edited in place with byte-identical re-serialization, structural fallback for the rest, in one binary that also does full SQLite CRUD

MED

rkyv archives are not self-describing — the format stores layout and relative pointer offsets, no field names and no type tags — so there has never been a sqlitebrowser-equivalent for them: with no schema in the file, a generic reader has nothing to bind columns to, and inspecting a cache shard means writing a throwaway Rust program that links the producer's own types. zdbview closes that for the archives this stack actually produces, and goes past inspection to editing. It carries faithful copies of the producer's archive types, detects each by a magic word (or, for the header-less formats, a validation-gated try-decode attempted last so an unrelated archive falls through instead of mis-matching), validates with rkyv::check_archived_root — so a version/feature drift fails validation instead of silently decoding garbage — and renders real (key, value) records with per-entry scalar fields and a hex/text/disasm value pane. Eight formats are recognized, every script/heap cache the fusevm-hosted languages write: ZRSC (zshrs script) and ZRAL (zshrs autoload); STRY (strykelang, both the native-v4 six-field entry and the compat five-field layout under one magic); AWKR (awkrs); VIML (vimlrs); ELSP (elisprs heap image); and the two header-less caches recognized by try-decode — pythonrs bytecode (source-path keyed) and the shared rubylang/arb layout (u64 content-hash keyed). Recognized archives get full CRUD: create a record (a), update its value (e, text or 0x<hex>), rename its key (r, map-keyed formats), delete it (d). Every edit deserializes the shard, mutates it, and re-serializes it, then writes the file back atomically (temp + rename); the re-serialization is byte-identical to what the producing host writes — round-tripped against all six real cache formats — so the host reads the edited shard with no rebuild. Edits target a record's stable identity (map key, or the u64 hash for the header-less formats), so an update or delete touches exactly one entry even when many share a display key (pythonrs stores 177 records under 33 distinct <string>/<stdin> sources). Anything unrecognized degrades to a structural view rather than an error: printable-string runs with byte offsets, plus an xxd-style hex/ascii dump. The same binary opens SQLite databases with full generic CRUD — tables with row counts, paginated rows, in-place cell edit, insert-with-defaults, rowid delete, arbitrary SQL, a schema view (CREATE statements), and whole-table SQL-backed search across every column (not just the loaded page) — and picks the backend by header magic, not filename (SQLite format 3\0 is authoritative; a .db whose bytes aren't a SQLite header is opened as an archive), with extension used only for files too short to carry a header. Cross-cutting: a full-screen detail view with a scrollable value pane and an auto/hex/text/disasm render toggle, OSC-52 clipboard copy that works over SSH, non-interactive --export json|csv plus an interactive export key, and an MRU picker off $XDG_CACHE_HOME/zdbview/recent. An optional disasm build feature decodes a chunk_blob value as a bincode-encoded fusevm::Chunk using the real fusevm types — no vendored copy of the 267-variant Op enum, so no silent-misdecode risk; because bincode is version-sensitive it is correct only when the linked fusevm matches the version that wrote the cache and otherwise fails loudly and falls back to hex (off by default so the crate stays self-contained). Basis: zdbview/src/formats.rs (per-format magics + the copied ScriptShard/StrykeShard/AutoloadShard/ElispShard/PyShard/HashShard types pinned to rkyv 0.7 + archive_le + size_32, try_decodecheck_archived_root, and the edit_shard deserialize→mutate→reserialize core behind add_record/set_value/rename_record/delete_record), src/app.rs (CRUD wired into the Records view with atomic write-back + reload, detail/schema/help screens, value-render toggle, whole-table search), src/sqlite.rs (find_row/rowid_ordinal whole-table search, schema, rowid-addressed CRUD), src/disasm.rs (feature-gated fusevm disassembly), src/export.rs, src/clipboard.rs, src/rkyv_inspect.rs, src/store.rs, src/mru.rs; ratatui 0.30 + rusqlite 0.40 (bundled) + rkyv 0.7, fusevm optional. Test-verified: cargo test → 20 passing — formats::tests::full_crud_roundtrip_on_map_format runs Create→Update→Rename→Delete and re-decodes at each step, python_delete_removes_exactly_one_of_duplicate_sources proves stable-identity deletes don't cascade across shared display keys, delete_record_removes_and_reserializes/script_shard_roundtrips_through_try_decode/hash_shard_roundtrips cover the archive round-trips, tests/backend.rs covers sqlite_full_crud_roundtrip, rkyv_structural_strings_and_hex, both detection paths and MRU dedup/order, plus search index math (find_next/find_bytes), export escaping, and base64 vectors; byte-identical re-serialization was additionally checked against every real on-disk cache via a harness. Caveat: a database TUI is a known category (sqlitebrowser, litecli, harlequin) and the SQLite half claims nothing new; the candidate-first is the rkyv half — GitHub repo search (rkyv viewer|inspector|tui|dump|browser), gh search code (ratatui rkyv), a crates.io sweep and web searches surfaced only the rkyv library and its docs, no archive viewer, and none with write-back. "None found," not proven; private and non-rkyv-named tools are outside what those indexes cover. Scope is honest: typed decode + CRUD covers the eight registered formats, not arbitrary archives (an unknown type still needs its Rust definition added to the registry); rename is offered only for the map-keyed formats; and disassembly is correct only when the linked fusevm version matches the cache's. Companion to the zshrs rkyv cache layer, whose shards it exists to inspect and edit. MIT.

XI. zvcs — the version-control superset in depth

The entries above cover zvcs's load-bearing claims: the FIFO coordinator (#173), the differential parity harness (#174), the zero-FFI push client (#179), the in-binary REPL (#180), AOP command interception (#181), and the fleet monitor (#182). What follows is the rest of the superset — the capabilities that exist because one binary is the only git on the machine, and because a coordinator daemon is already running behind it. Each is a distinct capability with its own module, its own verbs, and its own tests; none of them is reachable from stock git's architecture, where every invocation is an isolated process with no shared index, no daemon, and no cross-repo view.

184

First VCS with reactive automation on two axes — raw filesystem triggers on any directory and typed subscriptions to semantic repository events (zvcs git ztrigger / git zon)

MED

Git's automation is pull-shaped: hooks fire only when you run a git command, so nothing happens between invocations. zvcs's daemon reacts to the machine instead. git ztrigger <DIR> <cmd> watches any directory recursively — it does not have to be a repository — and runs its command the instant a file under it changes, with a leading-edge throttle (default 500ms) so one save fires once rather than once per filesystem event, plus live views onto the fires (ztrigger tail streams them, ztrigger top is an in-place HUD of per-trigger counts and rate). git zon is the semantic half: it subscribes to typed events off the live feed — commit, stage, status, reconcile, optionally filtered by repo — and runs a command with ZVCS_EVENT/ZVCS_REPO/ZVCS_DETAIL/ZVCS_SHA in the environment, so a rule reads "when any repo commits, do X" rather than "when these bytes change". Both persist in the ledger (triggers / subscriptions tables), so they survive daemon restarts and are visible to every session. Basis: zvcs/src/extensions/src/superset/trigger.rs (the ztrigger/zwatch verbs, throttle, ~/.zvcs/fires.log tail/top), superset/zon.rs (subscription registry + typed dispatch), superset/watch.rs (the notify-driven daemon reactor that fires all three reaction kinds with no debounce). Test-verified: src/extensions/tests/trigger.rs::ztrigger_arms_dir_and_fires and ::zwatch_indexes_without_a_command drive the real daemon. Caveat: file watchers (entr, watchexec, fswatch) and event buses are old; the candidate-first is putting both inside the VCS — one binary that is git, watching non-repo directories and its own semantic feed, with the subscriptions stored in the same ledger the fleet verbs read. A command that itself commits can re-trigger its own subscription (documented; scope with --kind/--repo). "None found," not proven; sweep non-exhaustive. A zvcs addition. MIT.

185

First git hook system that needs no .git/hooks file in any repository — config-declared hooks fired by a filesystem watcher, with a typed event context (zvcs)

MED

A git hook is a file installed in every repo's .git/hooks; there is no way to say "for every repo on this machine, on commit, run X", which is why hook managers (husky, pre-commit, lefthook) exist to copy files into repos. zvcs inverts it: because every repo is in the daemon's index, the daemon watches them all and fires the hook named by [zvcs] hook in the repo's merged config — so one line in ~/.gitconfig applies to every watched repo and any repo may override it in its own .git/config, with nothing installed anywhere. The hook is not a bare notification: it runs under sh -c with the repo as cwd and a typed event context — ZVCS_EVENT classified from the reflog (commit, checkout, merge, pull, rebase, reset, clone, … falling back to ref-change), plus ZVCS_REPO, ZVCS_GIT_DIR, ZVCS_OLD_SHA, ZVCS_NEW_SHA, ZVCS_REF — which is enough to write cross-repo reactive rules ("on commit in this repo, do X in repo Y"). A failing hook is recorded in the ledger and surfaced on the next git command, since a daemon-fired hook has no exit code to return. Basis: zvcs/src/extensions/src/superset/hooks.rs (the merged-config hook lookup, reflog event typing, env contract, ledger failure record), superset/watch.rs (per-repo ref-tree watches). Test-verified: tests/hooks.rs::hook_fires_on_ref_change_in_watched_repo, tests/hook_event.rs::hook_receives_typed_commit_event, tests/watch_rescan.rs::a_repo_indexed_after_startup_is_picked_up_and_its_hook_fires. Caveat: hooks and hook managers are prior art; the candidate-first is a hook system whose trigger is the filesystem, whose declaration is git config, and whose scope is every indexed repo at once — none of which git's per-repo .git/hooks model can express. Local-events only: it sees ref moves on this machine, not remote activity. "None found," not proven; sweep non-exhaustive. A zvcs addition. MIT.

186

First VCS with a declarative, machine-wide command policy layer that refuses commands before they run (zvcs git zguard)

MED

Protecting a workflow in git means writing hook scripts per repo (and hoping nobody --no-verifys), or enforcing it server-side after the fact. zvcs adds a policy layer at the one place every command must pass — its own dispatcher. git zguard deny 'push*--force*' refuses a force-push before it runs; git zguard warn 'rm*-rf*' allows it with a warning; and rules can carry a predicate evaluated against the live repository — --when detached (no commits on a detached HEAD), --when unsigned (require signed commits), --when protected (no push while on main/master). Rules are (action, pattern, predicate, message) tuples persisted to $ZVCS_HOME/guards.tsv, machine-wide rather than per-repo, with zguard list | rm | clear | test <cmd…> for management and a dry test that answers "would this be refused" without running anything. The hot path costs a single stat when no rule is set. Basis: zvcs/src/extensions/src/superset/guard.rs (rule model, glob matcher, the detached/unsigned/protected predicates, TSV registry, zguard/zpolicy verbs), the pre-dispatch check in src/extensions/src/dispatch.rs. Caveat: the veto evolution of #181's around-advice, and pattern-based command policy exists in other domains (sudoers, command_not_found guards, CI required-checks); the candidate-first is a VCS binary carrying its own declarative refuse/warn policy that applies to every invocation of itself, including the ones a .git/hooks script never sees (git log, git rm, git checkout). Advisory only against a user who invokes a different git binary. "None found," not proven; sweep non-exhaustive. A zvcs addition. MIT.

187

First live tiled operations dashboard built into a VCS — fleet, processes, semantic events, and every git command on the machine, on one mouse-driven screen (zvcs git zdashboard)

MED

git status describes one repository at one instant. zdashboard is a full-screen, continuously refreshed console for the whole machine: a fleet tile (every indexed repo, most recently active first, read from the daemon status cache with the on-screen rows' HEAD state live-refreshed so nothing displayed is stale), a processes tile (each responsible process, its commit tally, live/dead state, last-commit age), an events feed (commits / stages / status changes / reconciles), and a commands feed (every git command run anywhere on the machine, attributed to the agent that ran it), with an aggregate header row. It is a real TUI, not a status dump: one tile is focused and its selected row is the cursor; Tab cycles tiles, //j/k/g/G move within one, the mouse moves the cursor under the pointer, the wheel steps it, right-click opens a per-row detail popup, feeds stay pinned to the newest row until you scroll up, and panes are resizable by dragging the divider (or H/L/J/K, = to reset) with per-pane minimums. It shares ztop's 31-scheme theme system, palette editor, and F1 help. Non-interactive callers keep an instant text summary (--once / --json / a non-tty stdout). Basis: zvcs/src/extensions/src/superset/dashboard.rs (the four tiles, cursor/mouse model ported from iftoprs, draggable dividers ported from zmax, theme integration, --once/--json paths), fed by superset/statusd.rs, zppid.rs, zevents.rs, zcommands.rs. Test-verified: tests/profiling.rs::profiling_and_dashboard_reflect_state; tests/json_output.rs::read_verbs_emit_valid_json covers the machine-readable path. Caveat: dashboards and TUIs are not novel, and this shares its substrate with #182; the candidate-first is the composition inside a VCS — repo state, process attribution, semantic events, and command history are four different observability domains, and only a binary that is simultaneously the fleet's git, its daemon, and its logger can show all four live at once. "None found," not proven; sweep non-exhaustive. A zvcs addition. MIT.

188

First VCS that attributes commits to the responsible process rather than the parent pid — stable per-agent identity across throwaway shells (zvcs git zppid / git zprocs)

MED

When N automated agents drive git concurrently, the obvious identity — getppid() — is useless: an agent spawns a fresh zsh -c … per command, so every commit reports a different parent and the data degenerates into a flood of one-commit rows. zvcs walks the parent chain instead, skipping transient wrapper shells (a shell invoked with -c, which runs one command and exits) and stopping at the first durable process — a real program (agent, editor, daemon) or an interactive login shell. That pid is stable across every commit one agent makes, so N concurrent agents map to exactly N rows, each carrying that process's command name and cwd so the number is legible. Attribution happens at command time: note_commit is called by the dispatcher right after any commit-producing verb and credits the process only when HEAD actually advanced, so a no-op commit with nothing staged and a rejected merge count nothing. zprocs extends the same identity to a per-verb tally (which mutating verbs each agent ran, how often, first- and last-seen), keyed to the same session so it joins straight onto the process row. Basis: zvcs/src/extensions/src/superset/zppid.rs (the responsible-process walk, COMMIT_VERBS, note_commit HEAD-advanced check), the ppids and proc_verbs tables in src/extensions/src/db.rs, the dispatcher hook in dispatch.rs. Caveat: process-ancestry walks are standard systems programming (pstree, ps -f), and git records an author, not a process; the candidate-first is a VCS that makes which running process produced this commit a first-class, queryable dimension — the question that only becomes interesting once a fleet of automated agents shares one tree. Heuristic by construction: an agent that execs through an unusual supervisor may resolve to that supervisor. "None found," not proven; sweep non-exhaustive. A zvcs addition. MIT.

189

First git binary with a built-in, queryable audit trail of every git command run on the machine, attributed per agent (zvcs git zaudit)

MED

Git keeps no record of commands. Shell history is per-shell, per-user, and unattributed; server-side logs see only pushes. Because zvcs is the sole git on the machine, every invocation passes through one dispatcher, and it logs time, the responsible agent, the repo, and the argv to $ZVCS_HOME/commands.log. zcommands (#182) is the live feed over that log; zaudit is the historical, accountable side: filter by agent, by repo, or by command; restrict to state-changing commands; or aggregate a --summary of who ran what. In a fleet of concurrent agents it answers the question no other VCS tooling can — "which agent ran push --force against which repo, and when" — without instrumenting any of the agents. Off by default; the hot path is a single stat when logging is disabled. Basis: zvcs/src/extensions/src/superset/zaudit.rs (filters, state-changing classification, --summary aggregation), superset/zcommands.rs (the log format and live feed), the log_invocation hook in src/extensions/src/dispatch.rs, agent identity from superset/zppid.rs (#188). Caveat: auditing is a solved problem outside the tool (shell audit daemons, auditd, CI logs, server hooks); the candidate-first is the VCS auditing itself — complete because the binary is the only git, and attributable because it already resolves the responsible process. It records commands run through this binary; a different git on PATH is invisible to it. "None found," not proven; sweep non-exhaustive. A zvcs addition. MIT.

190

First VCS whose write verbs are asynchronous jobs on a supervised, cancellable, restartable ledger (zvcs git zcommit / zpush + zjob / zqueue / zwait / zbarrier)

MED

git commit and git push are synchronous: the terminal blocks until the work finishes, and a failure in a scripted batch is a stack of retries. zvcs adds an async lane. git zcommit / git zpush build a job spec, hand it to the daemon over the socket, and return immediately with a job number; the daemon runs it off the caller's critical path in a bounded worker pool (at most n concurrent, the rest queued) and records every transition in the SQLite ledger (queuedrunning → terminal). Because jobs are ledger rows with cancellation handles, they are controllable: zjob stop aborts a running job by killing its child, or flips a still-queued job to stopped before a worker takes it; zjob restart clones the row, links it by parent_job_id, and re-enqueues it. The join half is a set of coordination verbs — zqueue shows what is in flight, zwait blocks until one repo's jobs drain, zbarrier until the whole queue is idle. Two safety properties matter: a job executes the faithful porcelain by spawning this same binary with the job's workdir as cwd (so async never forks a second implementation of add/commit/push), and if no daemon is reachable the verb runs synchronously in-process and is still recorded, so it always works. zpush additionally does a network-free pre-flight against the remote-tracking ref and refuses a diverged push before enqueue rather than failing asynchronously later. Basis: zvcs/src/extensions/src/superset/queue.rs (spec build, submit, synchronous fallback, pre-flight), src/extensions/src/jobpool.rs (bounded pool + Cancel registry + restart-by-clone), src/extensions/src/jobrun.rs (faithful-porcelain execution), superset/coord.rs (zqueue/zwait/zbarrier), the jobs table in src/extensions/src/db.rs. Test-verified: tests/queue.rs::zcommit_is_queued_executed_and_recorded, tests/jobctl.rs::zjob_restart_and_stop_control, tests/zjobs_limit.rs, tests/zcommit_async_identity.rs. Caveat: job queues are ancient and CI systems run VCS operations asynchronously all the time; the candidate-first is the VCS itself exposing its write verbs as supervised jobs with a durable ledger, cancellation, restart-with-lineage, and a synchronous fallback — where git's model is one process, one operation, one exit code. "None found," not proven; sweep non-exhaustive. A zvcs addition. MIT.

191

First cross-repository state barrier in a VCS — block until the whole tree is clean, idle, synced, or at a given commit (zvcs git zwaitfor)

MED

Scripts that coordinate multi-repo work poll: until git status --porcelain | grep -q .; do sleep 1; done, per repo, with no notion of the tree as a whole. git zwaitfor <condition> makes the wait a first-class operation over the daemon's cached fleet state and exits 0 when the condition holds (1 on --timeout): clean — every indexed repo has nothing uncommitted; idle — no queued or running daemon jobs; synced — every repo is up-to-date with its upstream; and <substr> <sha> — the repo whose path contains <substr> is at that commit (prefix match). Where zwait/zbarrier (#190) are job-scoped, this is a barrier on state, which is what an orchestration script actually needs before it proceeds to the next phase. Because it reads the daemon's repo_status cache rather than walking every worktree, the check is constant-cost regardless of fleet size. Basis: zvcs/src/extensions/src/superset/zwaitfor.rs (the four conditions over cached repo_status, timeout handling), fed by superset/statusd.rs (#197). Caveat: barriers and wait-for-condition loops are elementary; the candidate-first is a VCS shipping a tree-wide state barrier as a verb, which presupposes both a machine-wide repo index and a daemon keeping status warm — neither of which exists in stock git. Requires the daemon to be maintaining status; without it the conditions have nothing to read. "None found," not proven; sweep non-exhaustive. A zvcs addition. MIT.

192

First VCS with atomic whole-tree restore points and wall-clock time travel across a nested submodule tree (zvcs git zsnapshot / zrestore / zrewind)

MED

A submodule tree has no single state: the parent records pointers, each submodule has its own HEAD, and putting the whole thing back to "how it was an hour ago" is a manual walk with a reset --hard per repo — if you can even reconstruct the targets. zvcs makes both forms one command. git zsnapshot <name> records the exact HEAD of the current repo and every nested submodule as one named restore point in the ledger; git zrestore <name> puts the entire tree back to those commits, and zsnapshots lists them. git zrewind <duration> needs no prior setup at all: for the repo and every nested submodule it reads each one's reflog, finds the HEAD it had <duration> ago, and resets to it — the whole tree to an arbitrary wall-clock moment, with --dry-run to preview and an explicit report of any repo whose reflog does not reach that far back. Both reuse the faithful ported reset --hard, so the restore is reflogged and therefore itself undoable, and zrewind refuses a dirty repo so uncommitted work is never clobbered. Basis: zvcs/src/extensions/src/superset/snapshot.rs (zsnapshot/zrestore/zsnapshots + the snapshots table), superset/zrewind.rs (per-repo reflog resolution at a timestamp, dry-run, dirty guard). Test-verified: tests/snapshot.rs::snapshot_and_restore_tree builds a real submodule tree, snapshots, moves it, and restores. Caveat: snapshots are the defining feature of other systems (ZFS, Time Machine, git stash-style savepoints) and a monorepo sidesteps the problem entirely; the candidate-first is named and time-addressed restore points over a nested-submodule tree as one unit, inside the VCS, using each repo's own reflog as the time index. zrestore is deliberately destructive to tracked changes (that is what restore means; untracked files survive), and zrewind can only reach as far back as the reflogs do. "None found," not proven; sweep non-exhaustive. A zvcs addition. MIT.

193

First tree-wide stash — parking uncommitted work across a repo and every nested submodule as one named unit (zvcs git zstash)

MED

git stash is per-repository and does not reach a submodule's dirty state through the parent, so parking in-flight work across a deep tree means remembering which submodules were dirty and stashing each by hand — and remembering the same list to restore. git zstash [<name>] walks the current repo and every nested submodule, stashes each dirty one through the faithful ported git stash push, and records the whole set under one name (default wip); git zunstash [<name>] pops them back LIFO and zstashes lists what is parked. It complements #192: zsnapshot captures committed HEADs, zstash captures uncommitted work, and together they cover the two halves of a tree's state. The boundary is stated rather than faked: zvcs's git stash pop applies only onto an unchanged HEAD (3-way apply is not ported), so a repo whose HEAD moved in the meantime is reported and its stash kept intact rather than half-applied or lost. Basis: zvcs/src/extensions/src/superset/zstash.rs (tree walk, per-repo stash through the porcelain, the stashes table, LIFO restore, live-name guard). Test-verified: tests/zstash.rs::zstash_parks_and_zunstash_restores and ::zstash_refuses_reusing_a_live_name. Caveat: stashing is core git and multi-repo tools can script a loop; the candidate-first is a single named stash object spanning a whole submodule tree, tracked in a ledger so the set is restorable as one unit. Restore is only guaranteed onto the commits the work was stashed on. "None found," not proven; sweep non-exhaustive. A zvcs addition. MIT.

194

First fleet-wide undo — one command that rewinds the last mutating operation across many repositories, dry-run by default and refusing to lose work (zvcs git zrollback)

MED

git reset --hard HEAD@{1} undoes one repo's last operation; across a fleet, undoing a bad batch means running it by hand in every affected repo while deciding, per repo, whether it is safe. git zrollback does the whole selection at once: for every selected repo it resolves HEAD@{steps} from the reflog and rewinds to it — the last commit, merge, rebase, or reset — with three refusals built in. A repo is skipped, not rolled back, when its worktree is dirty (uncommitted work would be lost), when it is mid-operation (an in-flight merge/rebase), or when the rollback would diverge it from its remote (the commits being discarded are already pushed); --force overrides. It is dry-run by default: with no --apply it prints exactly what each repo would do and changes nothing. And because the underlying reset --hard is reflogged, a rollback is itself undoable. Basis: zvcs/src/extensions/src/superset/zrollback.rs (reflog resolution per repo, the dirty / mid-operation / diverged guards, dry-run default, --force), the shared selector grammar in superset/select.rs. Caveat: per-repo undo is git's own reflog and multi-repo runners (mr, gita) can loop a command; the candidate-first is undo as a fleet operation with per-repo safety analysis — the guards are the point, since a blind loop over reset --hard is exactly how a batch mistake becomes data loss. Bounded by what each reflog retains. "None found," not proven; sweep non-exhaustive. A zvcs addition. MIT.

195

First machine-wide merged reflog — one time-ordered timeline of what moved in every repository, with per-step and since-a-point rewind (zvcs git zlog / zundo / zsince)

MED

Git's reflog is per repository, so "what happened across this tree in the last hour" has no answer: you would open each repo's reflog and merge them by hand. git zlog merges the HEAD reflogs of every indexed repo into one machine-wide, time-ordered timeline — what moved, where, and when — which is the view a fleet of concurrent agents actually needs. git zundo rewinds a repo one step by reading its previous HEAD from the reflog and resetting to it (reusing the faithful porcelain reset, refusing on a dirty worktree so nothing is clobbered). git zsince <duration|snapshot> answers the delta question directly: everything that happened across the tree since a wall-clock offset (90s, 45m, 2d, 1h30m) or since a named snapshot's creation time, filterable by kind and repo. Basis: zvcs/src/extensions/src/superset/oplog.rs (zlog merge across the repo index, zundo one-step rewind), superset/zsince.rs (duration/snapshot baseline over the event feed), superset/zevents.rs (the append-only events table the window is read from). Test-verified: tests/oplog.rs::zlog_timeline_and_zundo_rewind. Caveat: the reflog is git's; merging logs is elementary; the candidate-first is the VCS treating every repo on the machine as one reflog domain, which requires the repo index and the event feed that only the daemon maintains. Coverage is limited to indexed repos and what their reflogs retain. "None found," not proven; sweep non-exhaustive. A zvcs addition. MIT.

196

First one-command isolated worktree of an entire nested submodule tree, written in git's own linked-worktree format (zvcs git zworktree)

MED

git worktree add gives one repository a second checkout; a submodule tree needs one per repo, wired by hand, and the result is easy to get subtly wrong. git zworktree add <name> provisions a complete private checkout of the current repo and every nested submodule under <base>/<name>/ (default ~/.zvcs/worktrees), each repo a real linked git worktree — its own index, HEAD, and working directory on a fresh zwt/<name> branch — that shares the existing object store, so nothing is re-cloned and stock git recognizes the result (git worktree list, fsck). That is what makes it useful for a fleet: each agent gets a tree that cannot collide with any other, at the cost of a checkout rather than a clone. Because gix has no worktree-creation API, the bookkeeping is written directly in git's format — <gitdir>/worktrees/<name>/{HEAD,commondir,gitdir,index} plus the worktree's .git file — which is why compatibility is a tested property rather than a hope. Basis: zvcs/src/extensions/src/superset/zworktree.rs (tree walk, per-repo linked-worktree creation, the git-format bookkeeping, the worktrees table). Test-verified: tests/zworktree.rs::zworktree_isolated_tree_add_and_remove, ::zworktree_add_writes_absolute_gitdir_for_relative_dest, and ::zworktree_remove_rejects_path_traversal; tests/worktree_reuse.rs covers reuse. Caveat: linked worktrees are git's feature and multi-repo tools can script the loop; the candidate-first is the whole submodule tree provisioned as one isolated worktree by one verb, with the linked-worktree metadata authored directly because the pure-Rust engine offers no API for it. "None found," not proven; sweep non-exhaustive. A zvcs addition (gitoxide engine vendored). MIT.

197

First VCS with a never-idle background status pool — every repository on the machine kept seconds-fresh by a parallel sweeper with a single-writer WAL split (zvcs statusd)

MED

A dirtiness scan is the expensive part of git status, and doing it on demand across thousands of repos is unusable — which is why every multi-repo tool either shows stale data or blocks. zvcs runs a dedicated daemon pool that never idles: one worker per core, each pulling the next repo off a shared rotating cursor, computing its status, handing the result to a single writer thread, and immediately taking the next — no pauses and no sleep phase, so every repo's status is refreshed every few seconds. The compute/write split is the design point: the expensive worktree scan is parallel and read-only, while one writer batches results into SQLite, because WAL allows a single writer at a time and letting every worker write would thrash the write lock. Everything interactive reads that cache — zdashboard (#187), ztop (#182), zstatus --all, the --dirty/--ahead/--behind selectors, and zwaitfor (#191) — which is what makes those instant and accurate rather than one or the other. Status transitions also write status rows into the event feed via table triggers, so the reactive layer (#184) needs no extra plumbing. Basis: zvcs/src/extensions/src/superset/statusd.rs (the rotating-cursor pool, single-writer batching, repo_status maintenance), the repo_status table and its triggers in src/extensions/src/db.rs. Test-verified: tests/statusd.rs::daemon_keeps_status_cache_warm, tests/status_daemon.rs. Caveat: background indexers are common (Spotlight, IDE indexers, updatedb); the candidate-first is a VCS maintaining a machine-wide freshness invariant over repository state, with the parallel-read / single-writer split that a WAL database forces. It is a cache: a repo is fresh to within a sweep, not instantaneously, and on-screen rows are re-read live for exactly that reason. "None found," not proven; sweep non-exhaustive. A zvcs addition. MIT.

198

Fleet-wide secret scanning built into the VCS binary itself, fork-free across every indexed repo (zvcs git zscan)

LOW

Secret scanners are separate tools you remember to run (gitleaks, trufflehog, detect-secrets), which is why leaked credentials are usually found after the push. git zscan puts the scan in the binary that is git: it sweeps the tracked file content of every selected indexed repo in parallel over the shared worker pool, with no fork/exec per repo, for common credential patterns — AWS keys, private keys, provider tokens, and high-entropy key = "…" assignments — printing path:line:pattern:snippet per hit and exiting non-zero when anything is found, so the same verb doubles as a CI or pre-push gate. It reuses the native content scan zgrep already implements, so scanning a whole tree of repositories is one command at the speed of one process. Basis: zvcs/src/extensions/src/superset/zscan.rs (pattern set, entropy heuristic, non-zero exit), superset/query.rs (parallel_map and the shared native scan), superset/select.rs (the selector grammar that scopes it). Caveat: this is a crowded category and the detection itself claims nothing new — the pattern set is deliberately conventional; the only novel part is where it lives: inside the VCS, over a machine-wide repo index, fork-free. Tracked content only (no history rewrite scan, no full-history sweep), and pattern-based detection has the usual false-positive and false-negative profile. "None found" is not claimed for secret scanning at all. A zvcs addition. MIT.

199

First fleet-wide commit-signature gate — signature verification as a parallel policy check across every repository, with the payload reconstructed natively (zvcs git zsigs)

MED

git verify-commit checks one commit in one repo, and "is anything unsigned anywhere in this tree" has no answer short of a scripted loop. git zsigs checks the top -n commits (HEAD by default) of every selected repo and flags any that are not a good signature — unsigned (N), bad (B), or unverifiable (E/X/Y/R) — printing <code> <repo> <sha> <subject> per offender and exiting non-zero if any is found, so it gates a push or a CI stage the way an unsigned-commit policy needs. Verification uses zvcs's shared signature substrate: the signature and the signed payload are reconstructed natively from the object (there is no shell-out to git verify-commit) and then handed to gpg or ssh-keygen — the same tools git itself invokes — so the trust decision stays with the user's existing keyring while the object handling stays in-process. Basis: zvcs/src/extensions/src/superset/zsigs.rs (fleet sweep, status codes, non-zero exit), src/extensions/src/gitsig.rs (native payload/signature reconstruction and the gpg / ssh-keygen bridge), superset/select.rs (scoping). Caveat: signature verification is git's own feature and CI systems enforce signing server-side; the candidate-first is the whole fleet checked in one verb by the VCS binary, with the verification payload rebuilt natively rather than delegated to another git. Trust ultimately rests on the external gpg / ssh-keygen result, and only the top -n commits per repo are inspected. "None found," not proven; sweep non-exhaustive. A zvcs addition. MIT.

200

First VCS with a built-in scheduler for its own fleet commands, contention-free by construction (zvcs git zsched)

MED

Recurring VCS maintenance normally lives outside the tool — a crontab entry, a systemd timer, a CI cron — each of which must re-derive which repos exist and how to reach them. git zsched puts the schedule in the tool: entries live in $ZVCS_HOME/schedule.tsv as id \t interval_secs \t command, and the daemon's scheduler thread fires each one on its interval across the fleet. The concurrency design is the interesting part and is deliberately asymmetric: the CLI owns every write to the file (add / rm / clear) and the daemon thread only ever reads it, tracking last-fire times in memory. That split means the two processes can never contend on the file, and the worst case of a lost in-memory timing update is one schedule firing a tick later — never a corrupted schedule set. Because the thread re-reads the file each tick, zsched add/rm take effect within one tick with no daemon reload. Basis: zvcs/src/extensions/src/superset/zsched.rs (the TSV format, CLI-owns-writes rule, in-memory fire tracking, per-tick re-read), spawn_scheduler there, started by superset/zdaemon.rs:505. Caveat: cron is fifty years old and git maintenance already schedules git's own housekeeping through the system scheduler; the candidate-first is a VCS hosting its own scheduler for fleet-wide verbs, with a single-writer file protocol chosen so scheduling can never race the daemon. Interval-based only — no cron expressions, no calendar semantics — and it fires only while the daemon runs. "None found," not proven; sweep non-exhaustive. A zvcs addition. MIT.

201

First git implementation with persistent, provably-never-stale caches for derived object data — tree diffs, blame runs, and abbreviations, precomputable before they are asked for (zvcs git zprecache)

MED

Git recomputes derived data on every invocation: log --stat re-diffs each commit pair, blame re-walks the file's history, and every short SHA is re-derived against the object database. zvcs caches all three in the SQLite ledger — treediff (a tree pair's change list and per-file line tallies), blame (a commit/path/algorithm's run list), and abbrev (an OID's short form at a given length) — and git zprecache fills them for a repository's recent commits before anyone asks, leaving log --stat, --numstat, --shortstat, --name-status, and the abbreviated formats reading from the ledger instead of the object store. The daemon does the same work automatically whenever a watched repo's refs move (zvcs.precache, on by default), so the on-demand verb exists mainly for after a large clone or a fetch that landed while the daemon was down. The correctness argument is what makes this safe to do at all: every cached value is a pure function of immutable inputs — a commit's abbreviation is fixed once the object exists, and a tree pair's change list and line tallies are a pure function of two immutable trees — so there is no invalidation problem to get wrong, and nothing here guesses at what the user will run. Basis: zvcs/src/extensions/src/superset/zprecache.rs (the on-demand warm pass and its --limit/--quiet flags), the treediff / blame / abbrev tables in src/extensions/src/db.rs, src/extensions/src/abbrev.rs, the daemon precache path in superset/watch.rs. Test-verified: tests/precache.rs::warmed_caches_render_exactly_what_the_cold_path_does asserts the warm and cold paths produce identical output — the property the whole feature rests on — plus ::a_single_run_leaves_its_cache_rows_on_disk, ::the_limit_bounds_how_much_is_warmed, ::an_unborn_head_warms_nothing_without_failing. Caveat: git has its own persistent accelerators (commit-graph, midx, fsmonitor, core.untrackedCache) and this is the same idea; the candidate-first is caching rendered derived data — diffs, blame runs, abbreviations — in a queryable database, with the immutability argument that makes staleness structurally impossible, and a verb that warms it ahead of demand. Cache hits require the ledger; a missing or read-only ledger degrades to the normal compute path. "None found," not proven; sweep non-exhaustive. A zvcs addition. MIT.

202

First multi-threaded git log -p / diff renderer — per-commit and per-blob patch rendering fanned across the machine, where git's diff machinery has no threading at all (zvcs)

MED

Git's diff machinery is single-threaded: git log -p over a thousand commits renders every patch on one core while the rest of the box idles, and nothing about the work requires that — each entry is an independent tree-to-tree diff over objects that are immutable for the duration of a read-only command. zvcs fans that work out. Patch bodies for a batch of commits are rendered in parallel, and so are the per-delta bodies within a single large diff; workers pull from a shared cursor rather than taking a fixed slice, because one commit that rewrites a large file costs more than a hundred that touch a line each and a static split would leave every worker but that one idle. Two rules keep it from backfiring: a batch must carry a minimum number of items per worker (four commits; two deltas) or the sequential path is taken outright, and the worker count is capped by the machine's parallelism and pinned exactly by ZVCS_THREADS (1 forces sequential) — because CI containers report the host's core count through available_parallelism while being cgroup-limited to far less, and benchmarks need the variable held still. Since neither gix::Repository nor the blob platform is Sync, each worker owns a handle clone that shares the underlying object store, so parallelism costs a handle rather than a re-open. Basis: zvcs/src/extensions/src/porcelain/diff.rs (commit_patches batch renderer and the per-delta fan-out), src/extensions/src/porcelain/log.rs (render_span parallel entry blocks), src/extensions/src/threads.rs (the min_per_thread rule, available_parallelism cap, ZVCS_THREADS override). Caveat: parallelism is not a novel idea and git parallelizes elsewhere (pack-objects, index-pack, fsmonitor, checkout); the candidate-first is specifically the diff/log rendering path, which upstream leaves single-threaded, being fanned across cores in a git-compatible binary. Output order is preserved and byte-parity with stock git is asserted by the #174 harness, so this is a pure latency change; gains are workload-dependent and small batches deliberately stay sequential. "None found," not proven; sweep non-exhaustive. A zvcs addition (gitoxide engine vendored). MIT.

203

A superset that documents and installs itself — man pages generated from the dispatch table, symlinks derived from it, and tests that fail when any of it drifts (zvcs git zdashed / zdoctor / zverbs)

MED

A binary that invents 116 verbs stock git never had has a documentation problem no upstream man page can solve, and a compatibility problem the moment it replaces git on PATH: nothing else provides the dashed git-<verb> external forms tools still expect. zvcs generates both from its own dispatch tables. superset/manpage.rs holds one structured Doc per verb and renders real man(1) roff on demand, so git help zsync works with no prior setup, while git zdashed writes a git-<verb> symlink for every builtin and superset verb into ~/.zvcs/bin — the verb set read from PORCELAIN_VERBS + SUPERSET_VERBS, never hardcoded — idempotently (a correct symlink is left alone, a stale one repointed, a real file never clobbered). git zverbs lists the live table, and git zdoctor checks the installation end to end: is this binary the git on PATH, is $ZVCS_HOME present, is the coordinator running, is there a ledger, are the man pages and dashed symlinks installed, is ~/.zvcs/man on MANPATH — each OK/WARN/FAIL, exiting non-zero only on a hard failure so it is scriptable. The anti-drift property is enforced, not aspirational: tests fail the build when the documentation and the dispatch tables disagree. Basis: zvcs/src/extensions/src/superset/manpage.rs (the DOCS table and roff renderer), superset/dashed.rs (symlink installer driven by the dispatch tables), superset/doctor.rs, the zverbs verb (print_verbs, with --json for scripting and --html emitting the full docs/reference.html) in src/extensions/src/dispatch.rs. Test-verified: tests/manpage.rs::docs_cover_exactly_the_superset_verbs (no verb undocumented, no doc orphaned), ::html_reference_covers_every_verb, ::roff_has_the_mandatory_sections, ::install_all_writes_one_page_per_verb; tests/zverbs.rs::zverbs_lists_every_superset_verb; tests/docs_freshness.rs::quoted_verb_counts_match_the_dispatch_tables and ::documented_zvcs_switches_match_the_ones_the_tree_reads fail when prose counts or documented switches drift from the code. Caveat: generated man pages and shell-completion generators are common (clap, help2man); the candidate-first is the closed loop — one dispatch table is simultaneously the router, the man-page index, the symlink source, the health check, and the thing tests assert documentation against — in a binary that replaces git. "None found," not proven; sweep non-exhaustive. A zvcs addition. MIT.

204

First git implementation shipping the whole credential-helper suite inside the one binary, with a keychain helper that stops rewriting an unchanged secret (zvcs)

MED

Stock git's credential helpers are separate executables — git-credential-osxkeychain, git-credential-store, git-credential-cache plus its --daemon, and the contrib git-credential-netrc Perl script — resolved off PATH and shipped, or not shipped, by whoever packaged git. zvcs implements all of them as verbs of the single multicall binary, so a machine with zvcs as its git has the full set by construction, cross-compiled with it: credential (fill/approve/reject), credential-osxkeychain, credential-store, credential-cache, credential-cache--daemon, and credential-netrc. The keychain helper is a port of git's git-credential-osxkeychain.c over Security.framework and carries two behaviors the original contrib helper does not: it updates an existing item instead of silently keeping the old secret on re-store (upstream's add-only version leaves a rotated credential permanently stale), and it suppresses the write entirely when the secret has not changed — both via git's own capability[]/state[] protocol and via a compare-before-write on the stored value, because a keychain write is a separate authorization from a read and rewriting an unchanged item on every fetch and push re-raises the macOS authorization dialog on each operation. It also stores password_expiry_utc and oauth_refresh_token in the item's data blob as upstream does, so an expiring OAuth token is refreshed on schedule rather than after it starts failing. Basis: zvcs/src/extensions/src/porcelain/credential_osxkeychain.rs (the Security.framework port, encode_state_seen, the duplicate-item compare-before-write, the expiry/refresh blob, upstream's O_EXLOCK self-lock), credential.rs, credential_store.rs, credential_cache.rs, credential_cache__daemon.rs, credential_netrc.rs, routed from src/extensions/src/dispatch.rs. Test-verified: porcelain::credential_osxkeychain::tests covers the state-token encoding and the stored-secret layout (state_token_matches_upstream_encoding, state_from_get_blob_survives_the_round_trip_to_store, rotated_password_changes_the_state_token, secret_blob_appends_expiry_and_refresh_token_as_protocol_lines); tests/credential_config.rs covers helper configuration. Caveat: credential helpers are git's own design and the protocol is git's; the candidate-first is the complete suite living in one binary rather than as separately-packaged executables, plus the write-suppression behavior, which is a correctness/UX fix over the contrib helper rather than a new capability. The keychain path is macOS-only by construction (it compiles to no-ops elsewhere, as git's helper is macOS-only too). "None found," not proven; sweep non-exhaustive. A zvcs addition. MIT.

205

First git implementation that waits out a foreign index.lock instead of failing on it — a fair queue that degrades to patience against stock git (zvcs)

MED

Stock git's index.lock is O_EXCL: a contended writer does not wait, it fails (fatal: Unable to create '.git/index.lock': File exists), which under many concurrent writers is a thundering herd of retries with no fairness. #173 replaces that with a daemon FIFO for zvcs's own writers, but a mixed machine still has foreign lock holders — an IDE, a stock git invocation, another tool — and the FIFO cannot serialize what it does not mediate. So zvcs adds the missing half: before an index-mutating operation it waits for a foreign <git-dir>/index.lock to clear, within a budget (ZVCS_INDEX_LOCK_WAIT_MS, 0 disabling the wait entirely), and only if the lock outlasts the budget does it fall back to queueing behind the coordinator. The common case — a foreign writer holding the lock for milliseconds — becomes patience rather than a failure, which is what a scripted batch needs. The coordinator guard itself is RAII: dropping it on normal return, ?, or panic sends RELEASE, and the daemon auto-releases on socket EOF, so a crashed holder can never wedge a repo; with no daemon reachable it degrades to a no-op guard and the operation runs exactly as stock git would. Basis: zvcs/src/extensions/src/lock.rs (wait_for_foreign_index_lock with the ZVCS_INDEX_LOCK_WAIT_MS budget, RepoLock::acquire, the RAII Drop that emits RELEASE, the no-daemon no-op path). Test-verified: tests/index_lock_queue.rs::waits_out_a_foreign_lock_that_clears, ::queues_when_the_lock_outlasts_the_wait, ::a_queued_rerun_never_requeues_itself, ::zero_wait_disables_the_budget; tests/lock_reentrant.rs; tests/daemon_race.rs::concurrent_start_on_stale_socket_yields_one_daemon. Caveat: waiting on a lock is elementary and other VCSs block by default; the candidate-first is a git-compatible binary that keeps git's on-disk lock protocol (so stock git and IDEs interoperate with it byte-for-byte) while replacing the failure semantics with waiting and, beyond the budget, with a fair queue. It cannot make a foreign writer fair — only patient toward it. "None found," not proven; sweep non-exhaustive. A zvcs addition. MIT.

206

First VCS binary that is also a working shell for its own console — native, fork-free filesystem and process-state verbs plus a git-aware ls (zvcs git zls / zcd / the fs verbs)

LOW

Once git zrepl (#180) is a long-lived console, the shell's absence becomes the friction: you cannot change directory, set a variable, or copy a file without leaving it. zvcs adds those as verbs of the same binary. Process-state verbs persist across console lines because the console is one process — zcd navigates, zenv NAME=VALUE sets a variable every later line sees, zunset clears one, with zpwd and zecho rounding out the basics. Filesystem verbs (zmkdir, ztouch, zrm, zcp, zmv, zcat, zln) are implemented natively — no fork, no /bin/sh — so the console can create, copy, move, and remove without spawning anything. And git zls is a git-aware listing in the style of eza --git: each entry carries a two-column [staged][unstaged] status field using eza's letters (N new, M modified, D deleted, R renamed, C copied, T type-change, U conflicted, I ignored, - unchanged), with a directory folding the status of everything beneath it so a subtree with any change is visible at a glance, computed from the same gix status walk git status uses; outside a repo it degrades to a plain listing. Basis: zvcs/src/extensions/src/superset/shell.rs (process-state and native filesystem verbs), superset/gitls.rs (the folded two-column status listing over the shared status walk). Test-verified: tests/shell.rs::zcd_persists_across_console_lines, ::zenv_set_query_and_unset_round_trip, ::zecho_joins_args_and_honors_dash_n; tests/fsops.rs::filesystem_verbs_roundtrip and ::zrm_guards_and_force; tests/gitls.rs::zls_shows_two_column_git_status and ::zls_outside_repo_omits_git_column. Caveat: the weakest entry in this section, and honestly so — eza --git already does git-aware listing (and does more of it), and shell builtins are shell builtins. The only novel part is where they live: inside the git binary, so its own console is self-sufficient and the git-status column comes from the same in-process status engine rather than by parsing another program's output. Not a shell: no pipes, no redirection, no job control. "None found" is not claimed for git-aware listing. A zvcs addition. MIT.

207

First cross-repository coordination plane for automated agents — advisory leases, inter-agent messaging, contention analysis, and a fleet topology view (zvcs git zclaim / zbroadcast / zcontend / zgraph)

MED

Git has no concept of a peer. When N automated agents share one tree, everything they need to avoid stepping on each other has to be invented outside the VCS. zvcs puts that plane in the binary, on the shared ledger. Leases: git zclaim records "this session is working this repo", zunclaim releases, zwho lists holders; the claim is race-safe via a primary key and attributed to the caller's session, and it is deliberately advisory — it coordinates intent, while physical serialization stays with the FIFO lane (#173). Messaging: git zbroadcast posts a message to every session or one (--to), and with no arguments prints this session's unread messages and marks them read — a pull inbox, so peer messaging costs nothing on the hot path; git zhandoff <repo> <session> reassigns a claim to another agent and leaves it a note. Contention: git zcontend joins three reads — who holds which lease, each repo's queued/running job depth, and their intersection — to answer "who is stepping on whom", the actively contested repos being exactly those both claimed and backed up. Topology: git zgraph shows the relationship git cannot see at all, because git only ever knows one repo: which local checkouts are the same upstream (a dup group — one origin URL, N working trees), which is how a fleet discovers that two agents are editing the same project in different directories. Basis: zvcs/src/extensions/src/superset/claim.rs (zclaim/zunclaim/zwho over the claims table, session identity from crate::session_key), superset/zbroadcast.rs (the messages/message_reads tables, zhandoff), superset/zcontend.rs (claims × job backlog), superset/zgraph.rs (origin-URL dup groups). Test-verified: tests/claim.rs::claim_is_exclusive_across_sessions, tests/claim_force.rs, tests/select_filters.rs::selector_dirty_and_claimed_filters, tests/session_key.rs. Caveat: advisory locking (flock, lease services), message queues, and dependency graphs are all long-established; the candidate-first is a VCS carrying an agent-coordination plane natively — leases, inbox, contention analysis, and same-upstream topology as verbs of the git binary, on the same ledger its other fleet verbs read. Advisory by design: a claim does not block a writer, and an agent that ignores the plane is unaffected by it. "None found," not proven; sweep non-exhaustive. A zvcs addition. MIT.

XII. Round-3 additions — hosting, in-process pipelines, and the IPC substrate

Six substrate claims, none of which is a product: what a runtime must implement to host a foreign toolkit through its own ABI (#208), what falls away when twelve interpreters are already linked into the editor asking for them (#209), the wire protocol underneath ztmux and ztmux-core (#210), the event loop both of them run on once libevent is gone (#211), what a version control system has to expose before a third party can ship it a compiled plugin (#212), and the same question for a terminal multiplexer, where the answer has to reach the command language and the format engine as well (#213). #208 and #209 were written up in the Invention Ledger book (chapters 55 and 56) before they were entered here; this section closes that gap.

208

First non-Tcl runtime to host the real, unmodified Tk toolkit through Tcl's stub ABI — a bytecode-VM frontend standing in where the interpreter is expected (tclrs --tk)

HIGH

Tk 9.0 does not link against Tcl: its shipped dylib has no undefined Tcl_* symbol at all (nm -u /opt/homebrew/lib/libtcl9tk9.0.dylib | grep -c _Tcl_0). Every call Tk makes goes through a table of function pointers Tcl_InitStubs pulls out of whatever interpreter it is handed — which turns "what would it take to run Tk" from a documentation question into a measurement: hand Tk a table whose every slot is a trap that names itself, call Tk_Init, and read off what it asks for. tclrs — a Tcl frontend that compiles to shared fusevm bytecode and has no traditional Tcl interpreter — answers that measurement and then satisfies it: src/tk is 18,010 lines across 21 modules and implements no widget, only the ABI beneath one. The four stub tables are generated from the upstream headers (scripts/gen_tk_stubs.py) at their real sizes — TclStubs 691 slots, TclIntStubs 262, TclPlatStubs 4, TclIntPlatStubs 31 — and the probe binary reports what Tk actually touches: tk-probe records Tk calling 39 distinct slots over 274 calls before it stops at Tcl_EvalEx(interp, "file tildeexpand ~/.Xdefaults", …), the first request that needs an evaluator rather than a data structure, so Tk_Init exercises under 7% of the table. With the object layer, evaluator and notifier behind the table, tk-host reaches 2,737 calls over 75 distinct slots and Tk_Init returns200 of the 691 slots have bodies. Three things a language frontend otherwise never needs had to exist, each of them evidence this is an ABI implementation rather than a shim: Tcl's notifier (Tk registers an event source and calls Tcl_DoOneEvent, so hosting Tk means hosting the event queue, timers and idle handlers, ported from Tcl 9.0.4 onto a CFRunLoop); a C trampoline (src/tk/trampoline.c, compiled by build.rs) because seven slots are C-variadic and stable rustc refuses to define one (error[E0658], tracking issue 44930) with no AAPCS64 workaround — four of them carry a payload Tk reads back, including Tcl_ObjPrintf, which is how wm geometry . returns its value; and three operations that are not table calls at allTcl_IncrRefCount / Tcl_DecrRefCount / Tcl_IsShared are macros over objPtr->refCount, which forces a shadow Tcl_Obj with pinned storage and a stated ownership rule for every pointer crossing the boundary (and two of the objects Tk operates on live on Tk's own C stack, one with refCount uninitialised). Tcl_HashTable and Tcl_ChannelType push the same way: the host has to implement Tcl's hash table and to call into Tk's channel driver. The rule that keeps the 200 honest: an unimplemented slot ends the process rather than returning a plausible zero, and a trap counts as a failure, never a skip. Basis: tclrs/src/tk/mod.rs:1-150 (the measurement write-up, the four not-in-the-table structures, the variadic analysis); tclrs/src/tk/generated.rs:21 (691), :3487 (262), :4808 (4), :4839 (31); tclrs/src/tk/ (21 modules, 18,010 lines: abi, obj, objtype, hash, channel, notifier, eval, dispatch, load, session, …); tclrs/src/tk/trampoline.c; tclrs/tests/tk_abi.rs, tk_probe_session.rs, tk_notifier.rs, tk_obj.rs, tk_session.rs, tk_eval.rs, tk_main_thread.rs, tk_console_channels.rs, tk_cold_lowering.rs, tk_index_pkg.rs. Caveat: hosting a C library through its ABI is not novel — every language with an FFI does it, and the stub mechanism exists so extensions can be written against a stable table. What is unusual is the direction: the table is normally provided by Tcl to Tk, and here it is provided to Tk by something that is not a Tcl interpreter. 200/691 slots have bodies and no widget path is claimed beyond what the harness exercises; measured against Homebrew arm64 tcl-tk 9.0.4 on macOS, so the notifier leg is CFRunLoop-specific. "Running Tk" in the broad sense is ordinary — dozens of languages do it through a real Tcl — and is not what is claimed. "None found," not proven; sweep non-exhaustive.

209

Twelve language runtimes chained as pipeline stages inside the editor process — no fork, no pipe, and the text bound as a native value in every stage (zmax :xpipe)

MED

Filtering a selection through an external command is one of the oldest moves in text editing — ! in vi, M-| in Emacs — and it has always cost the same thing: a three-stage awk | ruby | php filter is three fork+execve pairs, six pipe descriptors, three waitpids and a full encode/decode of the text at every boundary, for interpreters that in this stack are already linked into the editor binary. :xpipe runs the same chain as N function calls on the editor thread. Twelve runtimes are addressable as stages — awk, arb, ruby, python, node, php, rlang, tcl, zsh, stryke, elisp, vim — with no process created, no pipe opened, and the whole chain landing as one undo step. The part that makes it more than a speed trick is the binding: each stage receives the incoming text as a real value on that stage's own runtime — a Ruby String, a Python str, a JS string, a PHP variable, an R character vector, a Tcl global, a zsh parameter, a stryke scalar, an elisp symbol value, a VimL g: variable — which cost work upstream rather than in the editor, because every frontend's eval_str resets its host and wipes a global installed beforehand. Each therefore grew an entry point that seeds bindings after the reset and captures output in-process (eval_str_captured in rubylang, pythonrs and node-js, eval_capture_with in phplang, eval_captured in rlang, bind_scalar + begin_capture in strykelang, execute_script_captured in zshrs, set_global_string in vimlrs; elisp needed nothing new). Stages are separated by a whitespace-delimited |> — a language constraint, not a style choice, since a bare | is live syntax in most of the twelve (awk's print | "cmd", Ruby and JS block parameters, zsh pipelines). And the threading rule falls out of the runtimes rather than being asserted: Stage::is_pure is true only for awk and arb — the two that build a fresh runtime per call and touch nothing shared — and Pipeline::is_pure folds it with all, so a chain leaves the editor thread only when every stage can. Basis: zmax/zmax-term/src/commands/scripting/pipeline.rs:60-62 (the twelve-name LANGUAGES table), :89-91 (Stage::is_pure = Awk | Arb, with the per-language reasons the other ten are pinned), pipeline.rs:1-56 (the per-frontend capture entry points and why the reset forced them); zmax/zmax-term/src/commands/scripting/mod.rs:730 (Pipeline::is_pure folding with all). Caveat: editors have embedded a scripting language for decades (Emacs/elisp, vim/VimL, Sublime/Python, VS Code/JavaScript), and multi-language plugin hosts exist — but they host each language in a separate process or VM instance and marshal across the boundary. The novelty is the conjunction: twelve, chained, in-process, value-bound, one undo step. Ten of the twelve are pinned to the editor thread (thread-local interpreter state; zsh's capture swaps process fds; elisp and VimL reach the editor through a thread-local raw pointer), so the parallel path is awk/arb-only chains. Overlaps #120, which is the embedding; this is the chaining. "None found," not proven; sweep non-exhaustive.

210

First pure-Rust port of the current-generation OpenBSD imsg IPC framework — a tmux server and client that speak imsg natively, with no C linkage and no CLI scraping (ztmux / ztmux-core)

MED

imsg is OpenBSD's IPC framing — the message layer its privilege-separated daemons are built on, vendored into portable tmux as the server↔client channel. The Rust ecosystem talks to tmux the other two ways: through the CLI (tmux_interface, 150,555 downloads, its own one-liner is "Rust language library for communication with TMUX via CLI" — build a command line, run the tmux binary, parse the text back), or through C. ztmux does neither: it ports imsg itself. src/ported/compat/imsg.rs (700 L, 27 public fns) plus imsg_buffer.rs (1,699 L, 65 public fns) — 2,399 Rust lines, 92 public entry points — reimplement the 1,703 vendored C lines of imsg.c / imsg-buffer.c / imsg.h: the ibuf/ibufqueue/msgbuf machinery, header-callback framing, size and overflow accounting, and SCM_RIGHTS fd passing, with no bindgen, no C shim, and no link against a system imsg (the build script's own words: "ztmux has no C libraries to find or link"; the only C-adjacent dependency in Cargo.toml is libc for syscalls). What makes it current-generation is the target: the vendored sources are $OpenBSD: imsg.c,v 1.42 2025/06/16, imsg-buffer.c,v 1.36 2025/08/25, imsg.h,v 1.24 2025/06/05 — the post-2023 rewrite where write/read state lives in a heap struct msgbuf reached through imsgbuf->w, framing is driven by an imsg_parse_hdr callback instead of an embedded read buffer, and stack buffers are marked IBUF_FD_MARK_ON_STACK rather than max == 0. The only other Rust imsg port found — tmux-rs, the repo ztmux was seeded from — predates that rewrite: of six markers of the new API, msgbuf_new_reader, imsg_parse_hdr, ibufqueue and IBUF_FD_MARK_ON_STACK appear 0 times in its src/compat/imsg.rs (570 L) + imsg_buffer.rs (661 L), against 5 / 4 / 29 / 13 in ztmux's. The port is load-bearing, not vendored decoration: src/ported/proc.rs runs the real server↔client loop on imsgbuf_read / imsg_get / imsg_compose / imsg_get_fd, and because the anti-drift gate (#175) covers vendor/tmux/compat/*.c, every ported fn name is build-checked against the C. The client half is independent and entirely safe Rust: ztmux-core/src/transport.rs writes the 16-byte native-endian imsg header (type, len, peerid, pid) straight onto an AF_UNIX/SOCK_STREAM socket with PROTOCOL_VERSION = 8 carried in peerid, so zterminal is a first-class tmux client with no tmux subprocess and no output scraping anywhere in the path — the GUI reads command output over the file protocol (MSG_WRITE_OPENMSG_WRITEMSG_EXIT), not off a pipe. Basis: ztmux/src/ported/compat/imsg.rs:1 (the port header naming imsg.c,v 1.42 / imsg.h,v 1.24 and the three generation changes) and imsg_buffer.rs; ztmux/vendor/tmux/compat/imsg.c:1, imsg-buffer.c:1, imsg.h:1 (the vendored revisions); ztmux/src/ported/proc.rs:16-106 (live use); ztmux/build.rs:1-5 (no C to link) + ztmux/Cargo.toml:52 (deps: libc only); commit 202d62952c "port: re-port imsg to the vendored (new) OpenBSD API"; ztmux/tests/ported_fn_names_match_c.rs:224 (gate scope includes vendor/tmux/compat/*.c); ztmux-core/src/transport.rs:7-128 (safe-Rust framing, PROTOCOL_VERSION = 8, the file protocol). Prior-art sweep (2026-08-18): GitHub code search imsg_compose language:Rust returns 4 hits in 2 repositoriesrichardscollin/tmux-rs and MenkeTechnologies/ztmux — and a crates.io search for imsg returns only iMessage/Bluetooth-MAP crates, no OpenBSD-imsg crate. Caveat: not "first imsg in Rust" — tmux-rs precedes it, and ztmux was seeded from tmux-rs; the candidate-first is narrower: the current-generation API (roughly 2× the surface) ported in pure Rust, plus a native-imsg tmux client engine. Nearest non-tmux prior art is privsep 0.0.2 (reyk/privsep-rs, privsep/src/imsg.rs, 274 L, last published 2021-09-18), which is imsg-inspired — tokio UnixStream + serde payloads + a zerocopy header — not a port of the C API (no ibuf/msgbuf queues, no imsg_compose/imsg_flush surface), and its README calls the crate "experimental and WIP". The ztmux port is a faithful unsafe transliteration (65 and 168 unsafe occurrences in the two files) that mirrors the C's pointer semantics for parity — not an idiomatic safe-Rust redesign; the safe half (ztmux-core) implements only the client framing subset, with no fd passing and no write queue. imsg is OpenBSD's design (ISC) — the claim is the port and the CLI-free client path, not the protocol. Sweep was crates.io + GitHub code search only; "none found," not proven. MIT (derivative of tmux, ISC).

211

First tmux that runs with no libevent at all — libevent's classic C API reimplemented in-tree in Rust (ztmux-event 1.0), so a from-source port keeps every call site and links no C (ztmux)

HIGH

tmux is written against libevent, and from inside the program the dependency is not negotiable: the server loop, the tty, every pane pty, timers, signals and the client socket all reach the kernel through event_add / bufferevent / evbuffer. A Rust port therefore has two ordinary options, and the field took both. Bind the C — what tmux-rs, the project ztmux was seeded from, still does: its install instructions read "Like tmux, it requires libevent2 and terminfo database (usually packaged with ncurses)", and its author's own discussion of dropping it lands on "I wonder if it would be possible to use tokio instead of libevent""This isn't a main goal because I think it would mean diverging from tracking upstream tmux." Or rewrite the program onto an async runtime — which is exactly that divergence: the call sites change, and byte parity with the C ends. ztmux takes a third route — keep the API, replace what is under it. src/extensions/event_loop is libevent's classic (pre-event_base_*) surface as tmux uses it — an implicit global base, caller-owned struct event registrations, evbuffer byte queues, classic bufferevents — reimplemented in 2,373 lines of Rust across five modules, exporting 44 libevent-named entry points (plus the three types and six EV_* constants) that the ported tree calls in 418 places across 33 files, with not one call site changed. The commit that did it (bef02bd2f9, 2026-07-28) deleted the 364-line FFI shim src/ported/event.rs and 151 lines of pkg-config probing from build.rs, which now opens "ztmux has no C libraries to find or link": a build needs a Rust toolchain and nothing else — no libevent-dev, no Homebrew prefix, no pkg-config — and Cargo.toml's static / dynamic features survive only as documented no-ops. The readiness syscall is what marks this a port rather than a rewrite that happens to compile: it is select on macOS and poll everywhere else, deliberately not kqueue or epoll, because tmux itself forces libevent off both — vendor/tmux/osdep-darwin.c:102-103 sets EVENT_NOKQUEUE/EVENT_NOPOLL and osdep-linux.c:97 sets EVENT_NOEPOLL, since the tty, the pane ptys and /dev/null are not sockets and epoll cannot watch /dev/null. Parity with tmux includes parity with the syscall tmux insists on. Signals keep libevent's shape too — a self-pipe written from an SA_RESTART sigaction handler and drained in the dispatch turn, plus event_reinit for the post-fork server. Verification runs on two levels: 19 unit tests in the module (a timer that fires once and does not repeat, persistent read events, delete-from-callback cancellation, write watermarks, EOF reaching the error callback, the evbuffer line-ending families) and the byte-differential parity suite, 1,194 of 1,194 cases, every one of which runs through this loop, because each case starts a real ztmux server whose dispatch is this code. The loop names itself: event_get_version() returns "ztmux-event 1.0", and ztmux doctor reports it as a build check. Basis: ztmux/src/extensions/event_loop/mod.rs:1-24 (the module's statement of the job and the re-export list), base.rs (937 L: registration, dispatch, timers, signals — :203-205 the version string, :208-214 event_get_methodselect/poll, :637-700 the signal self-pipe and sigaction), backend.rs:1-9 (why select/poll and not kqueue/epoll, citing tmux's own osdep files), buffer.rs (508 L, evbuffer), bufev.rs (532 L, bufferevent); ztmux/build.rs:1-5 ("no C libraries to find or link"), ztmux/Cargo.toml:44-50 (static/dynamic kept as no-ops) and :52-59 (deps: libc for syscalls, terminfo-lean for terminfo — no -sys crate); commit bef02bd2f9 "Replace libevent with a Rust event loop" (−364 L src/ported/event.rs, −151 L of build.rs probing), against its predecessor 49ed6af348 "build: probe libevent via pkg-config, fail with install instructions"; ztmux/vendor/tmux/osdep-darwin.c:102-103 + osdep-linux.c:97 (the constraints being mirrored); cargo test --lib event_22 passed, 0 failed (19 of them the event loop's own); ztmux/parity/parity_summary.json ("total": 1194, "passed": 1194, "failed": 0, ztmux 3.7.38 against tmux next-3.7, generated 2026-08-10); ztmux/src/extensions/doctor.rs:140-152 and :479-486 (the event-loop build check and its test). Prior-art sweep (2026-08-18): crates.io for libevent returns bindings, not reimplementations — libevent 0.2.0 "Rust bindings to the libevent async I/O framework", libevent-sys 0.4.0 "Rust FFI bindings to the libevent library"; the nearest non-binding hit is td_revent 0.3.2 (2022) "Event library for Rust, Async IO similar to libevent"similar to, with its own API, not libevent's. A web search for a pure-Rust reimplementation of event_add/evbuffer/bufferevent returns those bindings and general async runtimes, nothing API-compatible. The other Rust tmux port requires libevent2 by its own README. Caveat: not "first pure-Rust reactor", and not claimed as one — mio, tokio, polling and calloop long predate this and are better at that job; what was not found is an API-compatible stand-in for libevent's classic C surface, and what is claimed is a tmux that no longer carries the dependency. The implementation is deliberately partial: only what the port calls exists, and everything libevent grew for other users (rate limiting, OpenSSL bufferevents, evdns, evhttp, threading, multiple event_bases) is absent by design. It is also not safe Rust — the API is FFI-shaped (raw pointers, caller-owned registrations), 155 unsafe occurrences across the five modules; the claim is no C, not no unsafe. The parity figure is the committed summary of the last full run, not a re-run for this entry, and the loop is single-base and single-threaded because the API tmux uses has no room for anything else. "None found," not proven; sweep was crates.io + web search only. MIT (derivative of tmux, ISC).

212

First VCS with a plugin package manager of its own — compiled, in-process plugins over a stable C ABI that add or replace its subcommands (zvcs git znative)

MED

Git's only extension point for a third party is the dashed external: name an executable git-foo, put it on PATH, and git foo will exec it (execv_dashed_external, git.c). There is nothing else — no installer, no registry, no in-process API, no way to replace a built-in verb, and every invocation is a fork of a separate program that then talks to git by running git again. The neighbours each have one half and not the other. Mercurial has genuine in-process extensions, but they are Python source enabled by hand in an hgrc [extensions] section and obtained however you like — there is no package manager in hg. GitHub CLI has the package manager — gh extension install owner/repo, --pin, even precompiled binary extensions — but gh is not a VCS and its extensions are still separate executables it forks, with no ABI and no ability to override a built-in command. zvcs has both halves at once, inside the git binary: git znative add|load|remove|list|info|update|gc installs plugins into one content-addressed global store under $ZVCS_HOME/pkg (sources auto-classify — owner/repo, github:…, git+URL, path:…, with @ref pinning — and each install is SHA-256 pinned in installed.toml), and a native plugin is a Rust cdylib compiled against the versioned znative C ABI and dlopened into the running git, registering verbs that dispatch in-process. A plugin may also override an existing verb — its handler runs in place of the built-in implementation and calls dispatch_verb to run the original — which git's fork-an-external model structurally cannot express. The host API a plugin calls back through is the VCS, not a shell: run (any subcommand, in this process, no fork), config_get/config_set, repo_info, resolve_rev, object_read/object_write. Script plugins — a repo of git-<verb> executables, the shape every existing third-party subcommand already ships in — install into the same store from the same command, so the manager is additive rather than a replacement ecosystem. The interesting engineering is the load model, and it is not inherited from the shell original: a shell loads its plugins once into a process that lives for hours, while git is a fresh process per command, so nothing is loaded until a verb proves to belong to a plugin. The verbs a native plugin registers are discovered by loading it once at install time — never declared, so the recorded set cannot lie — and projected into two flat side tables (verbs.tsv, overrides.tsv) that are deleted rather than written empty; a machine with no plugin installed therefore pays two failed stats per command and never opens a file. Basis: zvcs/ZNATIVE.md (command, store and ABI surface); zvcs/src/plugin/src/lib.rs (the dependency-free ABI crate — #[repr(C)] HostApi/PluginInfo/ObjectBuf, MAGIC, ABI_VERSION, INIT_SYMBOL, declare_plugin!); zvcs/src/extensions/src/plugin_host.rs (dlopen via libloading, the magic + version gate, staging buffers, verb/override registries, purge-before-dlclose unload, the side-table lookup); zvcs/src/extensions/src/pkg/ (manifest.rs, store.rs, resolver.rs, commands.rs) + superset/znative.rs; the resolution hook ahead of external::try_dashed in src/extensions/src/lib.rs and the override hook in dispatch.rs; zvcs/examples/plugin-hello (added verb + an override that delegates), plugin-wip (git wip, composing add/commit through host.run), plugin-todo (the script kind). Test-verified: zvcs/src/extensions/tests/znative_plugin.rs drives the real git binary through install, plugin-verb dispatch, override-then-delegate, precedence over a same-named git-hello on PATH, the script kind, and the cold case that asserts neither side table exists when nothing is installed. Caveat: every ingredient exists somewhere — dlopen plugin hosts are ancient, hg has in-process extensions, gh has an extension installer, and this project's own zshrs shipped the ABI (#40c) and the compiled-plugin package manager (#40d) first, from which this is ported. The candidate-first is the combination in a version control system: a VCS that ships its own plugin package manager, installs compiled plugins over a stable versioned ABI, runs them in-process, and lets one replace a built-in subcommand — with a per-process discovery model that keeps the cost at two stats when unused. Prior-art sweep found no VCS with a built-in plugin package manager of any kind; "None found," not proven, and searches are not exhaustive. A zvcs addition (ABI and manager ported from zshrs's znative). MIT.

213

First terminal multiplexer whose plugins are compiled native code loaded into the server, registering first-class commands, #{…} format variables and hooks — with the package manager inside the multiplexer (ztmux znative + ztnative)

MED

tmux has no plugin API. Its only extension point is run-shell, so every plugin ever published is a shell script that drives the server by shelling out to tmux bind-key …, and the manager everyone uses (TPM) is a third-party shell script that clones repos into ~/.tmux/plugins and runs their *.tmux files. The multiplexers that do have a plugin system each stop short of a different half. Zellij has both a plugin system and a plugin manager, but its plugins are sandboxed WASM modules talking protobuf across a host boundary, loaded from file:/http(s):/zellij: URLs or a plugin directory; its documented API is events, exported commands, filesystem access and async workers — a plugin renders its own pane and issues existing actions, with no documented way to register a new zellij verb or a status-bar variable, and its "plugin manager" is a loader/monitor rather than a store with ref pinning and integrity hashes. WezTerm clones plugin repos from git URLs (wezterm.plugin.require, plugin.list(), plugin.update_all()) but they are Lua applied to the config at startup — a fetcher, no ABI, nothing compiled. kitty's kittens are Python/Go terminal programs run as overlay processes that drive kitty over remote control, with no ABI and no manager. ztmux has the compiled half and the manager half at once, inside the server: a plugin is a Rust cdylib compiled against the versioned [ztnative](https://github.com/MenkeTechnologies/ztmux/tree/main/ztnative) C ABI and dlopened into the running server, and what it registers are the host's own primitives — a command that is a real cmd_entry in tmux's command table, so tmux's own args_parse parses the plugin's flags from the template it declared and the command works from .tmux.conf, a key binding, the command prompt and the CLI alike; a #{…} format provider consulted during expansion, so a plugin extends the format language the status line is drawn from with no shell job on the redraw path; and a hook subscription called from notify_add. It calls back for print/error to the client that ran it, run (parse and queue any tmux command text), get_option/set_option (including the @user options plugins configure themselves with), and format_expand against the running command's target. znative add|load|remove|list|loaded|info|update|gc|clean installs into one content-addressed store under $ZTMUX_HOME/pkg — sources auto-classify (owner/repo, github:…, git+URL, path:…, each with @ref pinning), every install SHA-256 pinned in installed.toml — and the same command installs unmodified TPM plugins into the same store, so the manager is additive rather than a replacement ecosystem. Three parts are specific to a multiplexer and are not inherited from the shell original. Long-lived references force the unload discipline: a parsed tmux cmd holds its cmd_entry by reference for as long as it sits in a command list, key binding or menu, which outlives the plugin — so entries are leaked deliberately, registrations are purged before the dlclose, and every dispatch resolves its handler by name at call time, turning "plugin removed under a queued command" into a diagnostic instead of a jump into an unmapped page. The redraw path sets the cost floor: format and hook dispatch sit behind a relaxed atomic, so a server with no native plugin pays one atomic load per #{…} resolution and never takes a lock. A script plugin has to reach the right server: TPM plugins call bare tmux, so znative runs them with a generated tmux shim first on PATH that execs this ztmux against this socket — necessary because ztmux deliberately adopts $TMUX only for a socket in its own directory (so a ztmux command inside a real tmux pane does not speak ztmux's protocol at a tmux server), which would otherwise leave a plugin on a -S/-L server configuring the default one. A native plugin's identity also comes from the compiled artifact when the repo declares none: the cdylib is probed for its PluginInfo before installation, so a repo called tmux-battery whose plugin declares itself battery installs as battery@0.2.0. Basis: ztmux/docs/ZNATIVE.md; ztmux/ztnative/src/lib.rs (the dependency-free ABI crate — #[repr(C)] HostApi, PluginInfo, HookEvent, ABI_VERSION, INIT_SYMBOL, declare_plugin!); ztmux/src/extensions/plugin_host.rs (dlopen via libloading, the version gate, staging buffers, command/format/hook registries, the leaked cmd_entry + shared exec trampoline, purge-before-dlclose unload, probe); ztmux/src/extensions/pkg/ (manifest.rs, store.rs, resolver.rs, commands.rs, cmd_znative.rs); the three wiring points in the port — src/ported/cmd.rs (CMD_TABLE 92 → 93, and the cmd_find overlay consulted only after the static table misses), src/ported/format.rs (format_find), src/ported/notify.rs (notify_add); ztmux/examples/plugin-hello/ (a complete plugin — one command, one format, one hook). Verified end to end against a live server: install/load/list/loaded/info/remove/ update/gc/clean, the example plugin's command and alias dispatching, its format resolving, its session-created hook firing, an unmodified TPM plugin (tmux-fzf-url) binding its key against the correct server, the two-start .tmux.conf flow, and a plugin trying to register new-window being refused. Caveat: the ingredients are individually old — dlopen plugin hosts are ancient, zellij already ships a multiplexer plugin system, wezterm already fetches plugin repos, and this project's own zshrs shipped the ABI (#40c) and the compiled-plugin package manager (#40d) first, from which this is ported (the sibling port into a VCS is #212). The candidate-first is the combination in a terminal multiplexer: compiled in-process plugins over a stable versioned ABI that register the host's own commands, formats and hooks, plus a package manager in the binary that installs them and the existing shell-script ecosystem from one pinned store. The scoping against zellij rests on its published plugin docs (WASM modules; events/commands/filesystem/workers), not on reading its source. "None found," not proven; prior-art sweep non-exhaustive. A ztmux addition, alongside #175. MIT (ztmux is a derivative of tmux, ISC).

Appendix — deep prior-art analyses (marquee claims)

Why each near-miss isn't a dup — GP DAW as a plugin / embeddable (#64)

  • NI Maschine — a hybrid groovebox tied to NI's hardware/ecosystem workflow. By NI's own words it "has never been a full DAW" (no complex automation/mixing, by design). Maschine 3 software runs without a controller, but it's a groove workstation, not a general-purpose DAW.
  • Komplete Kontrol — a plugin host + preset browser + smart-play. No step sequencing or arrangement at all — definitively not a DAW.
  • Tracktion Engine — a compile-time developer library for building DAW apps, not a loadable plugin you embed at runtime.
  • Sequencer plugins (SEQUND, Stepic, B-Step, Playbeat) — step sequencers, not full DAWs.

Net: no clean prior art for a general-purpose full DAW arranger as a runtime plugin / embeddable component, and none for one driving non-audio hosts off its timeline. Claimed as "none found", owned by MenkeTechnologies, not stamped as a proven absolute. (The non-audio-host embeds are wired today — traderview registers the clip-engine's Tauri commands and ztranslator mounts clip-seq.js; what is unproven is depth, not presence — see the #64 caveat.)

Why each near-miss isn't a dup — fully modular DAW (#65)

  • Bitwig Studio (The Grid) — a modular sound-design device inside a conventional DAW; the DAW's tracks/mixer/routing are a fixed architecture, not a patch graph.
  • Reaktor / Max / Max for Live / VCV Rack — fully modular instruments/environments, but not DAWs (no general-purpose arranger + mixer + project model).
  • Usine Hollyhock — a modular audio environment with sequencing, the closest near-miss; patch-based but presents as a modular host/performance tool rather than a general-purpose track-and-arrangement DAW.
  • Reason (Reason Studios) — the strongest near-miss: a full DAW with a modular rack (patch CV/audio cables between fixed devices). But it is not fully modular — devices are fixed-architecture units, the signal path/mixer isn't a free graph, and many parameters have no CV input. zpwr-daw's claim is stronger: every track/layer/bus is a patch graph and every block param is a graph node param, modulatable from the mod matrix. Reason is rack-modular; zpwr-daw is graph-modular end to end.

Net: no clean prior art found for a general-purpose DAW whose every track/layer, mixer bus, synth, and mod matrix is one user-patchable graph (with no un-modulatable params). "None found", owned by MenkeTechnologies, not stamped absolute; the modular audio engine is still being wired.

Why each near-miss isn't a dup — solo + from-scratch JIT VM + 5+ frontends (#1)

A deep-research pass (fan-out web search → source fetch → adversarial verification) found that the documented prior art splits cleanly: solo authors reach a real JIT only on one language; 5+ frontends on one runtime appear only in team/foundation/company efforts. No documented project does all three.

  • LuaJIT (Mike Pall) — solo, a genuine tracing JIT, but one language (Lua). Fails on breadth.
  • LuaJIT Remake / Deegen (Haoran Xu, "sillycross") — the closest near-miss: a solo-built from-scratch VM with a real copy-and-patch baseline JIT. But it implements only 1–2 languages and frames multi-language generality as future work. Caveat: the arXiv paper lists a second author (his advisor), so "solo" applies to the repo/blog/implementation — the most contestable attribution here.
  • Parrot VM (Perl community / Parrot Foundation)9 frontends, but a team/foundation effort that never shipped a production JIT. Fails on solo and JIT.
  • clox / Crafting Interpreters (Bob Nystrom) — solo from-scratch bytecode VM, but a pure interpreter and one language (Lox). Fails on JIT and breadth.
  • Team shared runtimes — JVM, CLR/.NET, BEAM, GraalVM/Truffle, LLVM, RPython/PyPy — 5+ frontends and a JIT, but every one is an institutional/company/community effort, not solo.

Net: no clean prior art found for a single author who built a from-scratch VM with a real machine-code JIT and five+ distinct language frontends targeting it. Recorded as "none found", owned by MenkeTechnologies, not stamped a proven categorical first. Time-sensitive: Deegen is actively developed and explicitly designed to generalize, so a future release could become the first documented counterexample.

Why each near-miss isn't a dup — the git-shadowing coordination superset (#173)

The claim is not "git in Rust" (gitoxide already is that, and zvcs vendors it as the engine) and not "a better VCS." It is narrow: a single binary literally named git that shadows stock git on PATH and serves identical porcelain, whose per-repo FIFO zdaemon replaces .git/index.lock's fail-fast O_EXCL semantics with an arrival-ordered userspace coordinator, so many automated writers over a meta-repo of nested submodules serialize first-come-first-served instead of racing. A prior-art sweep (WebSearch, 2026-07, US-only, non-exhaustive) splits cleanly: the tools that are git-compatible are not git-shadowing drop-ins, and the community's actual answer to index-lock contention is retry-or-worktrees, not a shipped coordinator.

  • Stock git — the problem, not a near-miss. .git/index.lock is O_EXCL: a contended writer does not queue, it fails. The documented fixes are retry-with-exponential-backoff (the thundering herd zvcs removes), with no fairness and possible starvation.
  • git worktrees — the partial fix everyone reaches for: each worktree gets its own index file, so staging stops racing. But it does not coordinate a shared index; ref updates and object packing on the common .git still contend, and it is a different-index workaround, not an arrival-ordered serializer over one repository. (One search hit is Claude Code's own worktree lock-contention issue — the problem is live and unsolved in git.)
  • Jujutsu (jj) — a Git-compatible VCS, but its own system with git as a backend, driven by a jj CLI; a layer / alternate front-end, not a binary named git that shadows stock git on PATH. Its concurrency safety is about surviving rsync/Dropbox replication without corruption, not a FIFO many-writer coordinator over a single shared .git/index.
  • Sapling (Meta) — a monorepo VCS (Mercurial-derived) with its own sl CLI and server-backed storage (Mononoke/EdenFS); not a drop-in git binary and not this .git/index.lock coordinator mechanism.
  • Workflow layers (git-branchless, git-town, …) — porcelain conveniences on top of git; no lock coordinator, and they do not shadow the git binary.

Net: no prior art found for a git-shadowing drop-in git binary whose per-repo FIFO daemon makes many-writer, submodule-heavy, automated workflows lock-free and fair, with zsync/zbump codifying attached, forward-only submodule discipline and a differential fuzz harness (#174) holding the git-compat floor to byte parity. Recorded as "none found", owned by MenkeTechnologies, not stamped a proven absolute; the sweep is non-exhaustive and cannot cover private/internal tooling.

Why each near-miss isn't a dup — value lineage as a shell builtin (#40f)

The claim is narrow: a shell that answers "where did this parameter's bytes come from, and what did the bytecode do to them?" through a builtin, at value granularity. No shell in the history of Unix — Thompson sh, Bourne sh, csh/tcsh, ksh88/ksh93, bash, zsh, ash/dash, mksh, fish, elvish, nushell, oil/YSH, PowerShell — has shipped it. The near-misses are not close calls; each answers a different question, and the split is clean.

  • OS / kernel-level provenance (PASS, CamFlow's LSM, SPADE, Hi-Fi) — a different layer. These record system objects: processes, files, sockets, and the edges between them. They can tell you that /bin/date wrote to a pipe a shell process read; they cannot name the parameter that received the bytes, because the shell's parameter table is private process memory the kernel never sees.
  • Command-granular capture (ProvDB's provdb <cmd> prefix; the ReproZip / Sumatra / noWorkflow family) — a different granularity. The unit is one invocation or one script run, recorded for reproducibility and re-execution. Nothing in that model has a name for "this variable, built from that substitution three lines up, concatenated with a literal, then handed to tar as argv[2]".
  • Shell features routinely mistaken for it — a different question. set -x/PS4 xtrace prints each command as it executes and then forgets it; zsh's SOURCE_TRACE reports which files were sourced; typeset -p/declare -p print current contents and attributes with no history; funcfiletrace/BASH_SOURCE/funcsourcetrace locate where code was defined. None retains an ancestry for a value, and none survives the value being rebuilt by an expansion.
  • Taint tracking (Perl's -T) — the closest relative in spirit, still a different mechanism: taint propagates a single boolean through derived values to gate dangerous operations. It answers "is this untrusted?", never "what produced it" — no origin, no op chain, no line numbers — and it is a language feature, not a shell one.
  • zshrs's own recorder (PFA-SMR, src/recorder/) — deliberately the other half of the pair, named here so the two are not conflated: the recorder answers "what state did this shell define, and where" (aliases, functions, options, bindings, with file:line). Provenance answers "how was this value built". Same shell, orthogonal questions, independent subsystems.
  • Dataflow-lineage research languages (LIO, Adapton) and stryke's own mark/provenance (#47) — the concept exists in languages; #47 is this author's own, and #40f is its first appearance in a shell, where the enabling mechanism (heap-Arc identity) does not survive the parameter table and had to be replaced by the three-key scheme the entry describes.

Net: no prior art. Recorded on the author's own prior-art search plus the sweep summarized above; the adjacent systems are catalogued here precisely because they are the ones a reviewer would reach for, and each misses on layer, granularity, or question — not by inches.

Methodology & caveats

the ledger's method: candidate, research fan-out, adversarial refutation, confidence tag, and a falsifiable None-found entry

This ledger was assembled by sweeping every repo in the monorepo with parallel research agents — reading documented "firsts" and inferring novel capabilities from source/architecture (many entries were never documented as inventions before). Confidence tags are honest: low entries are early/WIP, design-doc-only, or known-category tools whose novelty is the combination/packaging. Every "world's first" rests on non-exhaustive prior-art absence, not proof.

A few entries were deliberately excluded as non-original: fzf-tab (upstream Aloxaf/fzf-tab, only CI additions), revolver and zunit (upstream molovo zsh forks), and LearningCollectionAPI (conventional Spring Boot CRUD). zmax's tree-sitter language breadth, rainbow brackets, and indent queries are baseline editor capabilities and are not claimed as firsts. Several "apps" are scaffolds whose real artifact is the -core crate (zpdf, zoffice, zphoto, thin zemail/zftp/ zreq/ztunnel shells; zftp-core transports are a phased deliverable; app-store is a static storefront).