No description
  • Rust 55%
  • TypeScript 36.3%
  • CSS 4.2%
  • Shell 2.8%
  • Python 1.5%
Find a file
calum 94945160da docs(park): 0.8.2 end-of-session — Patch/Matrix separated per canonical
Current-state section rewritten to reflect 0.8.2 (live smoke,
canonical two-screen separation restored, six-part promise green,
chain-integrity 12.176m preserved).

NEXT SESSION rewritten to be a cold-start brief:
- Calum installs 0.8.2 (direct .exe if self-update won't cross the
  key rotation) and drives the acquisition test on a NEW blank
  project.
- Two-screen shape check against CANONICAL_SIGNAL_CHAIN.md (Patch =
  TX-left/RX-top Dante Controller; Matrix = Inputs-top/Outputs-left
  DiGiCo with delay/gain toggle defaulting to Delay).
- Real-venue entry — the two headlines: does patch work end-to-end,
  do delays match commissioned reality (DJ-vs-stage delta).
- If deviations show up: fix the law first, then the code against the
  corrected law. Recovery pattern from Turn 68 (correct-canonical-
  before-flip) worked well.

Standing non-blockers carried forward:
- Signing: rotated key live (pubkey 791398F5A8190457), password at
  /root/.secrets/lpa-updater.password. Calum's 3 machines still need
  manual reinstall to cross the pubkey change. Future vault:
  self-hosted Vaultwarden on trusted-services VLAN via WireGuard.
- loud-win other-project coordination: LOUD Patch process-scoped;
  other projects' env-var hygiene is their owners' problem.
- loud-proxy: reboot test / snapshot drop / df monitor / off-box
  catalogue backup — pending, non-blocking.
- Equipment library admin cleanup tool — deferred.

Historical park (2026-07-10 at 82037fd, Slice A + reshape design) is
now preserved below the current section as historical context.

Reconciliation of the 0.8.2 report's sidebar list: the report said
"… Speakers / Delay Matrix …" — the actual code at HEAD has no
`delay_matrix` key or import; the report's list was wrong. No stale
entry to remove. Confirmed at parking time.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-07-11 07:12:38 +04:00
apps/desktop chore(0.8.2): version bump — Patch↔Matrix separation restoration smoke 2026-07-11 07:01:09 +04:00
docs docs(park): 0.8.2 end-of-session — Patch/Matrix separated per canonical 2026-07-11 07:12:38 +04:00
scripts fix(publish-release): sig-verify gate unwraps the .sig before minisign 2026-07-11 04:44:04 +04:00
services/equipment-library fix(equipment-library): chown bind-mount to container UID 1000 2026-07-10 04:31:56 +04:00
.gitignore Stage 2: mTLS gate on updater endpoint + Rust command trio + bundled cert 2026-07-01 22:43:48 +04:00
README.md docs(README): update stale status line to Phase 2 MVP on v0.2.2 / IPC v0.6 2026-07-01 15:45:30 +04:00

LOUD Patch Authority

A local-first desktop app that is the project source of truth for Dante / Q-SYS audio routing and spatial delay design. It sits above Q-SYS Designer, Dante Controller and CAD — documenting devices, signals, Dante channels, speakers, sources, routes and source-relative speaker delays, and exporting clean schedules for programming and commissioning.

Product: Patch Authority · Brand: LOUD · ae.loud-dxb.patch-authority

Status

Phase 2 MVP complete on v0.2.2, IPC contract v0.6. Floorplan import / calibrate / measure / place / link / primary-toggle / persistence + three activated validation rules are all human-eyeballed and accepted; only GUI/UX polish remains on the floorplan. Next: auto-updater (ADR-0003) before Phase 3 (Delay MVP). See docs/CONTINUATION.md for live state.

Dev quickstart

cd apps/desktop
npm install
npm run tauri dev

See apps/desktop/README.md for the full check matrix (cargo check, cargo test, tsc, ESLint) and the project layout.

Documentation

Doc What it's for
docs/PRODUCT_CONTEXT.md Why it exists, workflows, principles
docs/ARCHITECTURE.md System structure, stack, modules, validation
docs/DATA_MODEL.md Schema intent and the link model
apps/desktop/src-tauri/migrations/001_initial.sql Schema source of truth
docs/IPC_CONTRACT.md Frozen-per-phase Rust↔frontend command surface
docs/ROADMAP.md Phases, acceptance criteria, agent strategy
docs/DECISIONS.md ADRs (the why behind locked choices)
docs/RELEASE_PROCESS.md Build hosts, signing, updater, versioning
docs/IMPLEMENTATION_BOOTSTRAP.md Setup + scaffold steps
docs/CONTINUATION.md Live handoff / PM memory

Stack

Tauri 2 · React 19 + TypeScript + Vite · Rust core · SQLite via rusqlite.

First milestone

Create project → add a source → add speakers → import a floorplan → place points → set scale → calculate source-to-speaker delays → view the delay table → export CSV. Staged across Phases 03 in the roadmap.

Guiding principle

Build the clean local data + spatial core first. Don't let Q-SYS, Dante/DDM or CAD complexity block the first useful version. Everything after that is automation.