Substack research feed shipped to Slack · Holdings moat content authored & landed · Email-lane architecture scoped
● delivered3 commits99 tests green2 room tasks
LIVE
Substack feed → Slack
Doomberg RSS, E2E
21/21
Held positions grounded
moat + description, UPSERT live
+17
New tests (99 total)
substack_adapter, all green
0
Fabricated claims
honest-NULL where ungrounded
What shipped — session arcs
1 · Substack research feed → Slack DELIVERED
Added substack_adapter.py — public Substack RSS 2.0 ingest (no credential), mirroring the proven YouTube adapter. Third live source class on the same source-agnostic spine.
Sections on the real book: Gas/LNG · AI Power · Gold · Oil Cycle · Macro · Active Theses
17 new tests, full suite 99 green. Commits af9a5e7 + chronicle 7b7fdda
Body staged for ViskaMimir canonical /api/research lane; viska-pm confirmed re-POST
2 · Email-lane architecture — n8n vs Railway SCOPED
Established that n8n is not on the critical path for RSS / YouTube / X — those are public feeds, pulled in-process (stdlib only). n8n's sole remaining value is authenticated email intake (paid newsletters, e.g. FFTT).
Operator surfaced Railway as host → reframes the whole lane
Recommendation: one Railway Python cron service + volume — co-locates producer & consumer, dissolving the n8n sink-transport problem (P3) and the cron problem at once
Pipeline is stdlib-only → Railway runs it as-is, no build friction
Insight: P3 was never an architecture problem — it's deployment-locality. Co-locate and the file is the queue.
Authored REAL moat + description for all 21 held positions (the visible STÆRSTU STÖÐUR names), grounded against ViskaDB's broker_theme_calls export + the research corpus. EN narrative (rule #13). ViskaDB UPSERT landed — cards flip live, no FE change.
Grounding tier
Names
Basis
name-level
EQT · GEV · VRT · ETN · POWL
broker call / 100GW backlog / named in research pitch
theme-level
FCX · FNV · NEM · B · CCJ · AA · CENX · RIO · LUN · SBSW…
strategic-time-grid + corpus physics, cited
honest hedge
TSLA · AZZ · NVT · VMI · AMRC
thin / theme-only — disclosed in-prose
No fabrication: every moat at the tier evidence supports; source_basis stored per name for verify