digest-engine grows from a single household digest into four per-person sections, and gains the memory and inputs to make them worth reading. Per-person sections. identity owns a digest_sections column per person, edited in the admin panel and read by digest-engine at the start of every run (GET /digest-preferences). A run generates the union the household asked for: a section nobody wants costs no LLM call and no ingestion of its sources. Each surface then filters to the person HA resolved. The display half is a filter, not an access control, and says so. Network is its own section, split out of household so the two can be wanted separately. Political section rebuilt around four questions (global class struggle, organising in Vorarlberg, mid-term consequences, the International and comrades' reports). ~30 international feeds added, each carrying owner and bias, with a symmetric ownership analysis rather than a reliability ranking; Zionist outlets get an explicit zero-trust rule that is not inversion. RCI social/podcast ingestion (YouTube Atom, podcast RSS, public Telegram via the existing session) feeds a watch-later window. Globe markers carry summaries with fold-out sources; counter_run drops citations whose URLs are not in the context. Meeting agendas: a Tagesordnung arriving by mail or WhatsApp is matched to its calendar event, read with pypdf, and its points extracted mechanically. The political section owns the contents and derives "Political todos"; the household section is told only that an agenda exists, enforced structurally. The archive keeps every ingested item and measured number across runs, so trends may finally be stated with figures and dates attached. ntfy push after each run, assembled from existing narrations, gated by the same per-person sections. identity gains GET /speaker: automatic recognition for the voice path from BLE plus recent face sightings. Unresolved means show less, never ask, and nothing displays a digest because someone walked past a screen. OPNsense credentials move into CoreSystemConfig.json; thin clients gain a Display switch (HDMI-CEC, DPMS fallback) so an empty room stops powering a TV. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NpKsMV1Q2EHJ5cZVoLvK9M |
||
|---|---|---|
| .. | ||
| thinclient_agent | ||
| requirements.txt | ||
| thinclient-agent.service | ||