"The 47 feeds include heavy F1 + global-news coverage squeezed into finance/tech/politics/africa. Add pills in Topic.filters; backend classifier must emit sport/world slugs to match. [client][backend]"
mk "Wire the Tailscale remote host in Connectivity"\
"Populate the Remote Access card's host so away-from-home auto-selects the Tailscale address. Verify the LAN<->Tailscale switch via /health probing. [client]"
mk "SSID-based trusted networks"\
"Pin trusted Wi-Fi by name. Needs the Access WiFi Information entitlement (real device + paid account); no-ops in the simulator. Currently approximated by LAN reachability. [client]"
mk "Optional in-app WireGuard tunnel"\
"NetworkExtension packet-tunnel so Jarvis can bring up a WireGuard tunnel itself (WireGuard/Netmaker configs only). Needs entitlement + real device. Deferred. [client]"
mk "App icon + launch assets"\
"AppIcon is an empty placeholder. [client]"
mk "Flesh out Latest / Saved / Search tabs"\
"Currently minimal reuse of the feed components; add proper empty/loading states and dedicated behavior. [client]"
mk "Verify hero image loading in the reader"\
"AsyncImage against real feed imageUrls (ATS, redirects, grey fallback) in the article reader. [client]"
mk "Validate infinite scroll / pagination at scale"\
"Validate loadMore/cursor round-trips against the live ~850-story dataset; guard against dupes. [client]"
mk "Topic-classifier coverage for the 47 feeds"\
"Ensure science/tech/world/sport map sensibly into the supported topic slugs. [backend]"
mk "Add unit/UI tests + test matrix leg"\
"The build matrix compiles but runs no tests yet; add a test target and a test matrix leg. [ci]"
mk "Offline-first polish"\
"Green cached dot + Saved tab depend on opening an article; consider pre-caching top stories. [client]"