a73x

History: build.zig

Ref:

Hash Message Author Date
9940d8fd test: consolidate native end-to-end journey a73x 2026-09-07
5b6c89ea refactor: share surface input encoding a73x 2026-09-07
ea49739c merge: integrate gui text selection sprint a73x 2026-09-06
0716f07b feat: keep native selections anchored as output scrolls a73x 2026-09-06
03138bb4 feat: forward native application mouse and clipboard writes a73x 2026-09-06
eedff557 feat: scroll native panes through history and applications a73x 2026-09-06
3754dae9 feat: select native terminal text and copy on release a73x 2026-09-06
b0a68b12 refactor: share terminal selection gestures with native clients a73x 2026-09-06
c5be8085 build: add pinned linting and reliable development checks a73x 2026-09-06
d0151836 feat: load Ghostty theme files for native appearance a73x 2026-09-06
e9c4a928 feat: configure native fonts and preserve them across display scales a73x 2026-09-06
58e66682 feat: centralize native colours with a warm theme trial a73x 2026-09-06
bb91afde build: include muxg in release and install targets a73x 2026-09-06
4d48bfad feat: mux d stop, dump and stats take --quic for a daemon whose socket is gone a73x 2026-09-05
74730ed7 refactor: isolate native core and component development gates a73x 2026-09-05
106552cd test: guard native raw-output responsiveness with release builds a73x 2026-09-05
04437bf9 feat: restore native workspaces and manage pane lifecycle a73x 2026-09-05
3eab2a35 feat: resize native pane dividers with mouse and keyboard a73x 2026-09-05
67a1e976 feat: add native host and session pickers a73x 2026-09-05
c5e30b30 feat: add independent native terminal panes a73x 2026-09-05
b7dbcdaf build: add opt-in native client and OpenGL probe a73x 2026-09-04
1970473f fix: mux a reads a scrollback chunk as cells, not as VT with SGR in it a73x 2026-09-04
12cb9419 build: the engine is its own module, and no client row links ghostty-vt a73x 2026-09-04
e542a342 docs: the Darwin arm, its measurements and the Mac e2e verdict a73x 2026-09-04
f4449add fix: one guard for every dial at a path that may not be a socket a73x 2026-09-03
64c0073b feat: the daemon's Darwin arm a73x 2026-09-03
3362909e build: the shell gate reaches deps/, and a release names its own target a73x 2026-09-03
36800478 fix: the client's agent probe sends through client_os, and the review's comment repairs a73x 2026-09-03
e5b27feb build: the QUIC prefix and the linker follow the target, not the host a73x 2026-09-03
c9980623 build: folder rule 7 keeps every OS-specific spelling under src/os a73x 2026-09-03
a514d02b refactor: the shared root asks the OS in portable words, and sockpath owns the runtime dir a73x 2026-09-03
808d5586 refactor: every remaining std.os.linux spelling goes through an os row or std.c a73x 2026-09-03
94838e6a refactor: the upgrade manifest rides server_os.anonFd a73x 2026-09-03
8657666e refactor: peer credentials and the parent walk go through the os rows a73x 2026-09-03
4d363861 refactor: the daemon fork is server_os.forkDetached, and rule 6 names it a73x 2026-09-03
a7a02f36 refactor: the pty forks, seals and resizes through server_os a73x 2026-09-03
be757517 refactor: a platform layer under src/os with one row per side a73x 2026-09-03
0bd41f5a feat: the hub serves the layout's panes and writes a birth back into it a73x 2026-09-03
81d2ce6b build: version 0.0.1-17, so an upgrade can call itself newer a73x 2026-09-01
0fffc3cf test: the harness gains pumpUntil and Link-backed awaits a73x 2026-08-31
6f45c707 fix: askpass binds through serve; retire keeps its no-close shape a73x 2026-08-31
3b47d5d5 refactor: the daemon socket binds through serve a73x 2026-08-31
b4020e15 feat: serve gives bind and the guarded unlink one owner a73x 2026-08-31
6cbd6c4c refactor: muxa rides the Link, and the second transport retires a73x 2026-08-31
8fe125a8 refactor: Transport wraps the Link, policy stays and mechanics move a73x 2026-08-31
273232d6 refactor: dial.ask asks the Link; askOn's loop becomes awaitFrame a73x 2026-08-31
40b14979 feat: link is the fd|pipe|quic union and the one await loop, as a row a73x 2026-08-31
54fd740a dial.ask and a decoder for upgrade_reply a73x 2026-08-31
90c7c32f The daemon's tests connect like a client: the dial sweep a73x 2026-08-31
8860165d Add dial: the client side of a daemon's socket a73x 2026-08-31
86beb855 Remove the layer and folder-edge enforcement; keep the source bans a73x 2026-08-31
8f9fef4e Remove the prose ratchets from the comment gate a73x 2026-08-31
66f43541 feat: five comment lines are an essay, and the count only falls a73x 2026-08-30
16ba9284 docs: the test order's comment claims only what the array does a73x 2026-08-30
3827724d refactor: layers count components, and the test order bands by touch a73x 2026-08-30
9a21f071 refactor: one term component — wire contract, engine, delta and replay core behind a single seam a73x 2026-08-30
2aa60529 docs: the exe comment counts muxa as the row it is, and two whys move to the mux row a73x 2026-08-30
e3f2d1ec refactor: the one binary's mains are child files of the dispatcher a73x 2026-08-30
4fa1d021 refactor: the client link owns its core, hosts file, handoff, layout, keymap and askpass as child files behind pub seams a73x 2026-08-30
f8e1938d refactor: the QUIC arm's suite is chained with the socket tests, not the cheap ones a73x 2026-08-30
daa3bf69 refactor: the daemon owns its command surface, shell integration, upgrade and QUIC arm as child files a73x 2026-08-30
70cad621 refactor: the wall owns its interaction loop, painter, selector and overlay as child files a73x 2026-08-30
d1c39002 feat: the wall answers ssh's prompts in a popup a73x 2026-08-30
a514d95d feat: a wall dial's ssh sends its prompts to mux, not to /dev/tty a73x 2026-08-30
1e157a6f feat: mux askpass is a mode named by the variable ssh hands it a73x 2026-08-30
a5fb22e2 feat: ssh's prompt is a line on a socket, and mux askpass carries it a73x 2026-08-30
fe5397f2 refactor: the daemon starts itself, and every other starter asks in words a73x 2026-08-30
ad3765ca release: v0.0.1-16 — one binary, a wall of hosts, and a one-run handoff a73x 2026-08-29
ab0c737f refactor: wall.zig is gone; the hosts file is the only wall a73x 2026-08-29
019b1c19 feat: the browser hub reads the hosts file and polls like the CLI wall a73x 2026-08-29
6e57f5f4 refactor: the host grammar and the one atomic writer live in hosts.zig a73x 2026-08-29
dc1f19a2 fix: D1 review — the comments the fold made false, and two dead imports a73x 2026-08-29
fed80c17 refactor: the hub resolves a tile through the one resolver a73x 2026-08-29
1b4ed4a8 refactor: one owner turns a spelling into a Target a73x 2026-08-29
c651e9a0 refactor: one QUIC client, dialled by the product and by the tests a73x 2026-08-29
01b6afb8 refactor: one owner for "where under XDG does this mux file live" a73x 2026-08-29
f5298ecc refactor: one owner for "make a hangup EPIPE, not a signal" a73x 2026-08-29
33b17560 fix: folder rules 4 and 5 had holes where a module could ask for a terminal a73x 2026-08-29
89de963b fix: the spawn is an exec, not a fork — four comments still said fork a73x 2026-08-29
93710915 build: the product is shell-free by rule, not by folder a73x 2026-08-29
5fa0d19a build: no production line in client or tui spells /bin/sh a73x 2026-08-29
6c5f6a37 feat: one binary — `mux d` / `mux a` / `mux web`, and the client with no letter a73x 2026-08-28
ce7fb793 build: every wall_test_* sibling is reached, or the build says which is not a73x 2026-08-28
2197eacd refactor: client names no tui module — the detach byte is keymap's a73x 2026-08-28
d22a2aa1 build: folder rule 4 reads production lines, not test bodies a73x 2026-08-28
461655ce build: the folder rule — tui imports client, never the reverse a73x 2026-08-28
907b6627 refactor: modules live in the folder of what owns them a73x 2026-08-28
6c535804 feat: a host's live sessions are its tiles — per-host poll, diff, stripe a73x 2026-08-28
ccd8f101 feat: hosts.zig — the wall file lists daemons, never sessions a73x 2026-08-28
91097513 release: v0.0.1-15 — one flag parser for the four binaries a73x 2026-08-27
ed7c14fd refactor: muxweb parses its flags with cliflags a73x 2026-08-27
2c7f1c38 refactor: muxa parses its flags with cliflags a73x 2026-08-27
9f3ec679 feat: cliflags grows a positional hook, short aliases, and --version a73x 2026-08-27
cafa56ed refactor: the four entrypoints move to src/cli/ a73x 2026-08-27
0ba8f95d feat: muxd's flags are read off the Opts struct a73x 2026-08-27
7c83f8de build: a server_test_ file nobody imports fails the build a73x 2026-08-26
3ee30f84 release: v0.0.1-14 — the daemon upgrades in place a73x 2026-08-26
db1ce9eb feat: a daemon that starts from another daemon's memory a73x 2026-08-26
35b76657 feat: the daemon can write down what only it knows a73x 2026-08-26
f973892a feat: upgrade_req/upgrade_reply on the wire a73x 2026-08-26
66faa2ff feat: the upgrade manifest — sections a stranger can skip a73x 2026-08-26
3bc953e2 feat: the upgrade version rule — strictly newer or refused a73x 2026-08-26
1cd82bd4 release: v0.0.1-13 — the wall splits into panes and remembers them a73x 2026-08-25
e8a4d85c feat: the wall's rects come from a tree that still cuts stripes a73x 2026-08-24
b5c91a0e feat: layout.zig grows the wall's container tree a73x 2026-08-24
76c34f89 feat: the doc gate holds every file to a byte budget a73x 2026-08-23
df9df600 release: v0.0.1-12 — a drag copies a73x 2026-08-22
d49ecd82 feat: a drag across a stripe highlights the lines it crossed a73x 2026-08-22
f04db7c5 feat: a drag over a zoomed tile paints what it crossed a73x 2026-08-22
cc6b38d8 feat: a drag is a state machine, and it knows nothing about terminals a73x 2026-08-22
b214af9e release: v0.0.1-12-pre2 a73x 2026-08-21
85152686 fix: the review round's two should-fixes and four nits a73x 2026-08-21
ddbd08e2 feat: -A with no agent is refused, not kept silently a73x 2026-08-21
0df4068a test: the tile's -A is what consents, and it is watched now a73x 2026-08-21
8c1af748 release: v0.0.1-11 — mux is the wall a73x 2026-08-20
ae70f4ec check: comment claims are verified, not trusted a73x 2026-08-20
794d1fa1 refactor: dead import, dead JSON writer, one socket-path owner a73x 2026-08-20
c7c055bf feat: a wall tile is an interact.Core, so the wheel works zoomed a73x 2026-08-20
43667a46 refactor: one exhaustive frame switch, in the Core a73x 2026-08-20
9c9ccd0f refactor: one session's interaction is one interact.Core a73x 2026-08-20
abe12351 refactor: interact.zig owns what happens at an open session a73x 2026-08-20
479b7d97 feat: an attach that claims the grid records its tile a73x 2026-08-20
b585c470 feat: the wall zooms in place — promote the tile, do not spawn a client a73x 2026-08-19
ef27667a feat: mux wall — CLI multiattach, the web hub's wall in a terminal (POC) a73x 2026-08-19
b1abaa34 release: v0.0.1-10 — ssh password prompts survive a first attach a73x 2026-08-19
bc2efee0 release: v0.0.1-9 — DA1 answered, PATH fallback corrected a73x 2026-08-18
a1215774 test: verify harness catches up with the wall header; runtime reads hashed a73x 2026-08-18
06adceda release: v0.0.1-8 — dynamic wall, make install, remote ~/.local/bin muxd a73x 2026-08-18
7e060cc7 release: v0.0.1-7 a73x 2026-08-18
83c02b92 feat: muxweb runtime wall — POST/DELETE/PUT /tiles, argv seeds or file restores a73x 2026-08-18
531b8767 feat: webhub Hub — runtime wall, stable tile ids, checkout/release a73x 2026-08-18
75465356 feat: wall.zig — spelling grammar, wall model, atomic persistence a73x 2026-08-18
bdb6f588 refactor: drive cli side channels from client core a73x 2026-08-18
c38ea811 test: exercise client core wasm canary a73x 2026-08-16
1b10f264 test: guard client core wasm compilation a73x 2026-08-16
f056acea refactor: add shared client terminal semantics a73x 2026-08-16
27c5bb05 release: v0.0.1-6 — sessions, agent surface, side channels a73x 2026-08-16
ab09f763 test(e2e): two sessions on one daemon, on the wall and over QUIC a73x 2026-08-15
f5ffc31d feat(web): TARGET#NAME names a tile's session; the browser appends it at attach a73x 2026-08-15
316ac48e feat(mux): --session NAME on every transport spelling a73x 2026-08-15
8bf9f055 feat: the instruments learn session names, and the wire module owns the payload a73x 2026-08-15
9e7707c0 build: every grant spelled, test twins enforce the column, shell gate a73x 2026-08-14
0769c1bb build: fmt gate also checks build.zig.zon a73x 2026-08-14
e4041d68 build: comptime row lookup for every hand-written module name a73x 2026-08-14
b2a07df2 build: the import graph as a declared, layer-checked table a73x 2026-08-14
866f0929 build: zig build fmt gate + check umbrella (fmt + unit tests) a73x 2026-08-14
4e6962dd Merge branch 'feat/agent-surface' a73x 2026-08-14
23eb7062 refactor: simplify-pass — one owner for fallback state, spawn prep, precmd, frame delimiting a73x 2026-08-13
af32c00c docs+build: record the diff-since deferral; the agent e2e becomes a gate a73x 2026-08-13
55484465 refactor(quic): one owner for the dial-address grammar a73x 2026-08-13
593f8fa3 feat(muxa): QUIC transport — same verbs, remote daemons, one reconnect re-issue a73x 2026-08-13
224be598 feat(muxa): run and await — exit codes over marks, spans from scrollback, session death is an answer a73x 2026-08-13
074ffa6e feat(muxa): agent client skeleton — status, capture, send over the unix socket a73x 2026-08-13
5cada44f feat(shellint): OSC 133 marks injected at spawn — ZDOTDIR shim, --init-file, vendor_conf.d a73x 2026-08-13
4c363aa6 feat(cmd): pure command state machine over OSC 133 mark events a73x 2026-08-13
aef51048 release: v0.0.1-5 — M17 web client, the simplify round, collect.sh a73x 2026-08-13
123bf352 fix(test): the wall tile's stand-in stays 1x1 across a resync a73x 2026-08-13
80dab7a2 refactor: one owner each for the sun_path bound and the key-picking rule a73x 2026-08-13
9273c18c fix(hub): never call readSmallMessage speculatively; dead-leg ping; one owner per recipe a73x 2026-08-13
a3fd1a94 test: e2e — hub scenarios: passivity pin, origin gate, tear/re-attach a73x 2026-08-13
633b38dd test: wsclient — scripted WebSocket replica client for hub scenarios a73x 2026-08-13
b7241c32 feat: muxweb — the hub binary; tiles are argv, transports are mux's own a73x 2026-08-13
1aba332b feat: webhub tile pump — envelope, frame messages, backoff shared with the CLI a73x 2026-08-13
a52200c3 feat: webhub — origin gate, route table, ws endpoint naming a73x 2026-08-13
2e414911 feat: wasm core — replica+keymap on wasm32-freestanding, flat damage-hinted viewport ABI a73x 2026-08-13
236e3205 feat: keymap.zig — normalized key events to VT bytes, tables pinned a73x 2026-08-13
bdc6eeb5 refactor: replica.zig owns replay — extracted from session(), finally unit-tested a73x 2026-08-13
eca05dea release: v0.0.1-4 a73x 2026-08-12
29d88ab2 refactor: sockpath follow-through — the seam gets its pin, the optional goes, the vestigial ordering is named a73x 2026-08-12
f9f8a3f2 refactor: DeltaTracker and socket-path identity extract with their tests a73x 2026-08-12
56ca01d6 refactor: quic.zig follow-through — client callbacks dedup, typed pathFrom, honest topology prose a73x 2026-08-12
b34e7a1a refactor: src/quic.zig owns the shared QUIC vocabulary; quic_server is just the listener a73x 2026-08-12
08fe4c4d refactor: extract src/paint.zig; the sync-update bracket exists once a73x 2026-08-12
a5ed558d refactor: quality fixes for the small-items batch — constraint-stating docs, sendPtyModeTo restored a73x 2026-08-12
df389073 refactor: small-items batch — detach_key, one SIGPIPE owner, dead Pty.read, ensurePtyModeSent, deps caching, writeFrame golden pin a73x 2026-08-12
013c8b6b fix: handoff — writer refuses port 0, one cache error vocabulary, composed readAnnounce a73x 2026-08-11
b6e51fdd feat: handoff vocabulary — announce line, per-host cache, dial-host strip a73x 2026-08-11
0a285e41 feat: lazy QUIC bind — endpoint_req stands up an ephemeral-port listener on demand a73x 2026-08-11
0a3c567f feat: attach auto-start — muxd proxy and local mux ensure a daemon a73x 2026-08-10
b03d9834 feat: ptyclient script engine — escapes, consume-cursor expect, verb parse a73x 2026-08-10
3ef748c2 test: make soak repeats the suite and attributes failures to runs a73x 2026-08-09
37ec2628 test: render helper replays a client capture into a dump-format grid a73x 2026-08-09
dc42cc6f feat: spawn.ensureDaemon — probe, detach, poll; the start/auto-start core a73x 2026-08-09
564591de feat: muxd keygen — one command replaces the /dev/urandom incantation a73x 2026-08-09
f8bcbbcb feat: xdg module — default key/log paths and key creation a73x 2026-08-09
78b8d479 feat: --version on both binaries, one source in build.zig a73x 2026-08-09
af1908af test: e2e — prediction confirmed, suppressed, demoted, and flushed, by counter a73x 2026-08-08
b96a01d5 test: rawmode and delaypipe — deterministic mode transitions and root-free RTT a73x 2026-08-08
cb63edb8 feat: predicted echo — the keystroke paints before the RTT a73x 2026-08-08
da104e26 feat: prediction overlay — speculation as a layer, never as state a73x 2026-08-08
a88c3250 feat: mux quic://host — the transport swap, third pass a73x 2026-08-08
d2cc2334 test: byte fidelity, non-vacuity, and the third sun_path victim a73x 2026-08-08
ae0b1138 feat: muxd speaks QUIC — one UDP fd, PSK, and the protocol never noticed a73x 2026-08-08
76b3bce5 feat: QUIC key handling — refused before anything listens a73x 2026-08-08
09d21a4f build: QUIC deps vendored and pinned — the spike's script grows up a73x 2026-08-08
1e3ab018 feat: mux HOST attaches over ssh — the VM hop is one word a73x 2026-08-08
a518671e feat: mux --via arbitrary-command transport; muxd proxy byte pump a73x 2026-08-08
d890ac97 feat: bytes-on-wire bench gates the M4 kill criterion; docs a73x 2026-08-08
7984d06e feat: mux client with replica grid, renderer, resize, Ctrl-\ detach a73x 2026-08-08
e68e5b9a feat: daemon server core with snapshot broadcast; replica fidelity test passes a73x 2026-08-08