Lays out Velox Download Manager (IDM-class download manager for Ubuntu 26.04) as a monorepo ready for parallel lane development. No implementation code by design. - docs/: architecture, roadmap M0-M7, IDM-parity GUI spec, engine design, Firefox extension spec, risks/spikes, packaging - contracts/: wire-contract skeleton (JSON Schema + fixture templates) — the single synchronization point between lanes - docs/agents/: one brief per lane (PROTO, CORE, DAEMON, GUI, EXT, PKG/QA) with owned directories, build order and definition of done - CLAUDE.md: rules of engagement — lane ownership, layering, non-negotiables - CMake scaffolding with dev/tsan/release/ci presets Two environment findings shape the design: Firefox here is the Mozilla snap (native-messaging risk, so the extension carries a loopback-WebSocket fallback), and Wayland forbids passive clipboard monitoring (so clipboard capture is explicit-action-first). Co-Authored-By: Claude Opus 5 <[email protected]>
27 lines
1.0 KiB
Markdown
27 lines
1.0 KiB
Markdown
# ADR 0001 — Record architecture decisions
|
|
|
|
**Status:** accepted · **Date:** 2026-09-09
|
|
|
|
## Context
|
|
|
|
Several agents build this project in parallel, and each starts without the others' context.
|
|
Decisions that live only in a chat log get re-litigated or silently reversed.
|
|
|
|
## Decision
|
|
|
|
Every non-obvious decision gets a numbered file here: context, decision, consequences,
|
|
alternatives rejected and why. Keep it under a page. Amend by adding a new ADR that
|
|
supersedes the old one — never rewrite history.
|
|
|
|
## Expected ADRs
|
|
|
|
| # | Subject | Owner | Due |
|
|
|---|---|---|---|
|
|
| 0002 | Qt 6 licensing and how packages link it | PKG | M0 |
|
|
| 0003 | Native messaging under snap Firefox (spike S1) | EXT | M0 |
|
|
| 0004 | Wayland clipboard capability (spike S2) | GUI | M1 |
|
|
| 0005 | Protocol v1.0.0 freeze and the versioning rule | PROTO | M0 |
|
|
| 0006 | Product name and icon-set licence | PKG | M0 |
|
|
| 0007 | Segment-stealing heuristics and defaults | CORE | M1 |
|
|
| 0008 | Loopback WS threat model and pairing design | DAEMON | M1 |
|