Hermes · Design Spec · Approved 2026-06-12

Agora Research Dashboard — pantheon.boas.dev/hermes

Fleet research library · findings feed · query · source control  ·  Agora = research subset of Aion  ·  commit a62aa6b
Scope in one line. The interactive library: surface monitored-source findings, read fleet-wide research, query the corpus, control feeds. NOT project planning, fleet-schedule admin, or infrastructure — other constellations' domains. The page reads state and writes requests; it never executes work directly.

1Purpose — six capabilities

CapabilityWhat it doesStage
FeedGranular findings stream from monitored sources (YouTube, Reddit, social, newsletters, GitHub releases, arXiv); filter by source and category1
LibraryFleet-wide research documents in organized reading layout (Hermes conducts ~99% of fleet research)1
QueryFull-text search now; RAG ask-the-library later1 3
Source controlAdd / remove / edit monitored sources + health display1
Run triggersSchedule a report or launch a deep-research run from the page2
Synthesis layerFlags most-interesting items; on-demand summary pulling raw feed text, compared vs knowledge base for novelty3

2Architecture — Supabase-canonical (approach A)

Files remain the authorship surface; the table is the serving surface (Themis file→table bridge pattern). Stage-3 RAG embeds the same rows — no second index.

Authorshipconstellation research/ dirs (git) · sweep skills (youtube-intel, research-sweep, x-sweep)
▼ ingestion (Hermes-owned: parse+upsert walker beside Aion rsync mirror · sweep table-write step)
Canonical — Pantheon Supabaseintel_sources · intel_verticals · fleet_intel_findings · intel_runs · agora_documents (fts + pgvector) · agora_run_requests
▲ reads: anon key, RLS SELECT-only   |   ▼ writes: Hub API server-side only
Surfacepantheon.boas.dev/hermes (React page, replaces HermesPage.tsx stub) behind Cloudflare Access
Executor (stage 2)Hermes-side poller consumes agora_run_requests, writes status + result ref back

3Data model — Agora (Hermes proposes · Proteus ratifies DDL, rule #15)

Adopted unchanged from the 2026-06-03 Agora spec §4.1 (pending at Proteus): intel_sources (+ new newsletter kind), intel_verticals, fleet_intel_findings (+ reserved stage-3 columns novelty_status, flagged, synthesis_ref), intel_runs. New in this design:

agora_documents                          -- library index + body store
  id            uuid pk
  agent         text          -- producing constellation
  topic         text          -- arc/topic slug
  title         text
  source_path   text          -- repo + relpath (dedupe key with mtime)
  format        text          -- md | html
  body_md       text
  frontmatter   jsonb
  created_at / updated_at     timestamptz
  fts           tsvector      -- stage-1 search (generated)
  embedding     vector        -- stage-3 pgvector, nullable

agora_run_requests                       -- stage 2; page INSERTs, executor polls
  id            uuid pk
  kind          text          -- deep_research | report
  params        jsonb
  requested_at  timestamptz
  status        text          -- pending | running | done | failed
  result_ref    text          -- agora_documents.id or research/ path

4Stages

StageShipsDepends on
1 Library + Feed + SourcesFeed w/ source/vertical filters · library + doc reader · full-text search · source add/remove/edit · health displayProteus DDL · doc ingestion walker · findings backfill from digests
2 Run triggersDeep-research + schedule-report actions via agora_run_requests; request status on page3.6 DDL · Hermes-side executor
3 IntelligenceSynthesis flags · on-demand novelty summary vs Aion (new/update/dup) · RAG with citations into docspgvector embeddings · Aion coverage contract (mnemosyne) · LLM endpoint

5Write-path security

Browser is read-only: Supabase anon key + RLS SELECT-only policies. All mutations (source CRUD, run requests) go through the Pantheon Hub API server-side — it holds the authenticated role and validates payloads. No service-role key in the browser; no anon INSERT/UPDATE/DELETE policies. Cloudflare Access gates the page but is not the write gate. Satisfies rule #19: every mutating endpoint authenticates its caller.

6Ownership + routing

RoleOwnerAction
Spec + research domainHermesThis spec · ingestion walker · sweep table-write steps
DDL ratificationProteusIncrement onto pending fleet_intel_findings handoff: agora_documents, agora_run_requests, newsletter kind, stage-3 columns
Page layout / visual designApolloHandoff after spec sign-off — wireframes, layout, hierarchy (operator ruling 2026-06-11)
Page buildOPENReact page + Hub API endpoints in Pantheon repo — operator call

7Open questions

8Error handling

Source: docs/superpowers/specs/2026-06-12-hermes-pantheon-research-dashboard-design.md (constellation-hermes, commit a62aa6b) · supersedes NocoDB-first surface decision for the research-dashboard scope of the 2026-06-03 Agora spec.