Viska Research · Infrastructure Brief · 2026-06-28

The Railway
Research Synthesis Arc

How forwarded sources become a curated, provenance-tracked corpus — the one the Railway-deployed agents answer the fund from. A single pipeline from a Substack email in an inbox to a verified claim a deployed agent can cite.

Mandate daily fund-ops synthesis Owner ViskaRes P1 status shipped to main Substrate wiki authors · Supabase serves
01

The arc, end to end

Source → Pool → Railway
raw stream curated / verified railway compute viskares logic
01 · INGEST Sources Client-forwarded Substack emails + YouTube / X / RSS. client → fastmail
02 · PRODUCER Ingestion N8N parses mail → normalized JSON records to a fixed contract. ViskaN8N
03 · TRACE Registry + Provenance Every record stamped to a source_id. Unregistered → quarantined, never dropped. ViskaRes
04 · FILTER Relevance 4-layer anchor: positions · grid themes · theses · macro. Off-topic → one line. ViskaRes
05 · POOL Daily Stream Raw, per-source, dated.
promote
Curated Verified corpus. Supabase + pgvector
06 · SERVE Artifacts & read
Daily digestSlack
ArchiveWiki
Read scopeRailway
Design principle — provenance first

Not one giant lake. A source registry makes every Substack, channel and feed a first-class entity, and immutable provenance rides every record — so any line in any artifact, or any answer a deployed agent gives, traces back to which source, which email, which author, what date.

02

The verify gate — raw becomes verified

  • 1A load-bearing claim gains a primary-source-tier citation in the page's sources: line.
  • 2A per-flip log.md audit note records old → new + the source.
  • 3Primary tier only — secondary / derived claims stay seed-unverified.
  • Reversible and git-tracked — every promotion is undoable.
Authority status
Ruled — Option 1

ViskaRes synthesis may now promote a seed-unverified page to verified under the three guardrails. Promotion to the curated corpus is no longer gated on a human in the loop — only on the evidence.

03

Build sequence

P1 Deliver Substack → registry → filter → daily stream → digest, on existing engines. No new infra. shipped → main
P1.5 Multi-source Fold YouTube / X / RSS adapters into the same spine. Reuse existing sweeps. next up
P2 The pool Supabase two-compartment store + pgvector + scoped RLS for the Railway agents. needs ViskaDB
P3 Automate Fastmail → N8N daily trigger replaces the manual pull; OCR fallback for attachments. ViskaN8N
04

Who owns which seam

ViskaRes
The brain — registry, relevance filter, synthesis, digest, the verify-gate promotion logic.
ViskaN8N
Ingestion — Fastmail reception, parse/normalize, OCR attachments, the daily delivery trigger.
ViskaDB
The pool substrate — Supabase two-compartment schema, pgvector, scoped read roles.
Railway · Mastra
The consumer — answers the fund from the curated corpus via scoped, provenance-aware reads.
05

Where the arc stands

Landed

  • P1 substack-digest pipeline merged to main — PR #27.
  • Unregistered-record quarantine — PR #29 (#28 closed).
  • Verified-flip authority ruled — promotion unblocked.
  • Ingestion contract + fixture handed to ViskaN8N.
  • 36 tests green · independent review READY.

In flight

  • ViskaN8N — build the ingestion producer to the contract.
  • Seed-flip guardrails wired into the synthesis writer.
  • P2 pool — scope + commission the Supabase schema (ViskaDB).
  • OCR-fallback research ViskaRes-013.
  • P1.5 multi-source adapters.