| 2026-06-02 04:52 | fix: bundle.sh builds the hydra TUI too, not just hydrad | Matthew Gantenbein | 1 | +5 | -3 |
| 2026-06-02 04:19 | themes: "Abyssal" default (distinct from transparent) + persist transparency on start | Matthew Gantenbein | 5 | +86 | -50 |
| 2026-06-01 22:59 | feat: route hardware inputs (mic / line-in / interface) to any output | Matthew Gantenbein | 8 | +325 | -108 |
| 2026-06-01 21:33 | release: v0.1.0 pipeline — .dmg + source tarball, LICENSE, NOTICE | Matthew Gantenbein | 4 | +861 | -0 |
| 2026-06-01 21:10 | feat: ship 10 default themes (public palettes, no Navi) | Matthew Gantenbein | 8 | +106 | -0 |
| 2026-06-01 21:01 | feat: drop-folder themes + live picker + transparency; remove Navi from repo | Matthew Gantenbein | 10 | +398 | -85 |
| 2026-06-01 20:31 | docs: README reflects full feature set + complete keymap | Matthew Gantenbein | 1 | +25 | -9 |
| 2026-06-01 20:31 | UX2: per-source volume via separate routes ('C') — no realtime rewrite | Matthew Gantenbein | 3 | +32 | -1 |
| 2026-06-01 20:27 | UX4: dB-scaled meters with peak-hold | Matthew Gantenbein | 2 | +77 | -12 |
| 2026-06-01 20:21 | UX3 complete: record-to-file TUI binding | Matthew Gantenbein | 3 | +29 | -0 |
| 2026-06-01 20:19 | P6: self-healing supervisor — routes survive coreaudiod/driver death | Matthew Gantenbein | 3 | +186 | -15 |
| 2026-06-01 20:08 | docs: diagnostics/README — layer-by-layer audio debugging method | Matthew Gantenbein | 1 | +46 | -0 |
| 2026-06-01 19:48 | fix: default Hydra to 44100 Hz — the real cause of one-ear-in-Discord | Matthew Gantenbein | 4 | +154 | -5 |
| 2026-06-01 19:06 | fix: install-driver.sh accepts Y/yes, not just lowercase y | Matthew Gantenbein | 1 | +1 | -1 |
| 2026-06-01 19:04 | fix: Hydra device defaults to 2ch (one-ear bug in Vesktop) + record backend | Matthew Gantenbein | 10 | +355 | -3 |
| 2026-06-01 18:22 | UX1: saved presets / quick-routes | Matthew Gantenbein | 8 | +440 | -46 |
| 2026-06-01 18:14 | docs: log P3b multi-device plan + why it's branch-only | Matthew Gantenbein | 1 | +54 | -0 |
| 2026-06-01 04:39 | chore: git-ignore driver/build (compiled .driver is build output) | Matthew Gantenbein | 5 | +1 | -166 |
| 2026-06-01 04:39 | P3a: rename the Hydra device from the TUI (manifest-driven device name) | Matthew Gantenbein | 11 | +238 | -5 |
| 2026-06-01 04:25 | fix: single-instance daemon guard (no more competing-daemon pileup) | Matthew Gantenbein | 1 | +29 | -2 |
| 2026-06-01 04:03 | fix: usable capture level — makeup-gain default + multiplicative gain steps | Matthew Gantenbein | 2 | +20 | -9 |
| 2026-06-01 03:49 | fix: IOProc read the wrong input buffer — routes captured silence, not the app | Matthew Gantenbein | 5 | +69 | -30 |
| 2026-06-01 02:02 | fix: restart coreaudiod via killall, not kickstart (SIP blocks kickstart) | Matthew Gantenbein | 4 | +9 | -6 |
| 2026-06-01 01:55 | fix: complete the combine feature + installer (prior 2 commits didn't build) | Matthew Gantenbein | 2 | +2 | -31 |
| 2026-05-31 22:41 | build: one-command install.sh / uninstall.sh + README install section | Matthew Gantenbein | 3 | +116 | -6 |
| 2026-05-31 22:39 | feat: combine multiple sources into one route (Loopback "combine") | Matthew Gantenbein | 7 | +197 | -16 |
| 2026-05-31 22:29 | feat: real app names + foreground/background ranking in the app list | Matthew Gantenbein | 7 | +127 | -32 |
| 2026-05-31 22:20 | docs: TESTING.md — verified-vs-user-gated test guide | Matthew Gantenbein | 1 | +72 | -0 |
| 2026-05-31 22:18 | P4 (persistence): routes survive daemon restart | Matthew Gantenbein | 5 | +222 | -16 |
| 2026-05-31 22:01 | P2 + P5 + output picker: real driver build, query mode, SketchyBar widget | Matthew Gantenbein | 43 | +8115 | -192 |
| 2026-05-31 16:19 | P2 (scaffold): driver/ fork plan for the Hydra HAL driver | Matthew Gantenbein | 1 | +79 | -0 |
| 2026-05-31 16:15 | P1: add signing scripts lost in an earlier cancelled batch | Matthew Gantenbein | 4 | +141 | -0 |
| 2026-05-31 16:13 | P1: CoreAudio engine — device/app enumeration, per-app tap→monitor, signing | Matthew Gantenbein | 16 | +1042 | -27 |
| 2026-05-31 15:50 | P0: workspace skeleton — daemon/TUI handshake over Unix socket | Matthew Gantenbein | 19 | +1757 | -0 |