1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//! `crosslink dashboard` — multi-project SCADA-style control panel.
//!
//! See `DESIGN-CROSSLINK-DASHBOARD.md` at the repo root for the full
//! architectural spec. This module implements the aggregator service
//! that the `crosslink dashboard` subcommand runs.
//!
//! Layers (populated incrementally across the GH #689 subissue stack):
//!
//! - `db` — per-user `SQLite` index (`~/.crosslink/dashboard.db`)
//! - (P1.2) poll loop + project index population
//! - (P1.3) REST API
//! - (P1.5) WebSocket
//! - (P1.6) alert engine
//! - (P1.8+) write surface
//!
//! This module is separate from the main crosslink `db`
//! ([`crate::db`]): the dashboard DB lives in the user's home
//! directory and tracks cross-repo state, while the main crosslink DB
//! lives inside each project's `.crosslink/` and tracks that project's
//! issues.