HQ as Decision Surface, Notion as Data Store (the lightest-touch architecture)
Why this is in the vault
Founder caught a real drift on 2026-05-11 11:57 ET: Notion task board accumulated ~80 active items, founder never visits Notion, and the board was being misused as a “founder-decision queue” when its original intent was “Ray-fills-empty-cycles.” The proposed fix is structural but lightweight — keep Notion as the operational data store, move the DECISION SURFACE to HQ’s click-back rail. This concept doc names the canonical pattern so future skill design (and the Ray-Starter-Kit) defaults to it.
Mapping against Ray Data Co
- Defines the canonical pattern for how Ray surfaces decisions vs how Ray picks up async work. Prevents future drift.
- Direct input to the v0 build of the HQ decision surface for Notion items (Phase 0 of this concept doc’s roll-out).
- Resolves a thesis-consistency issue: RDCO pitches data-sovereignty to others while running its own task management on Notion. This pattern lets Notion stay as the SaaS data store but routes founder-attention through HQ — vault-native, sovereign, click-backable. Best of both.
- Lightweight enough to ship in days, not weeks.
- Frames the operational discipline for
/check-boardgoing forward: tasks the board contains should be Ray-able-during-idle-cycles. Founder-decisions should NEVER pile up on the board; they go to HQ as click-back decision pages.
The original intent of the board (recovered)
“The board was intended to be a place where you could look at tasks that can be completed on your own time. You are always on and never sleep. I sleep 8 hrs and cannot give you attention to make decisions all the time. You’ll have a lot of empty cycles and the board was intended as a way to fill them.” — Founder, Discord 2026-05-11 11:57 ET
So:
- Board task = work Ray can do alone, async, when founder is asleep / busy.
- NOT a queue of decisions waiting for founder.
Ray drifted: many of the items piled on the board over April-May 2026 were founder-strategic-decisions (“Productize MAC + Client Reporting”, “Sanity Check v3 revival strategy”, “RDCO website relaunch”) which should have lived on the /decisions/ surface with click-back rails, not in Notion. The drift built up an apparent 80-item queue that was actually a misclassification.
The proposed architecture
Surface map (after fix)
| Surface | Holds | Audience |
|---|---|---|
| Notion Task Board | Ray-able-async work. Skill builds, newsletter batches, YouTube backfills, audits, mechanical maintenance. | Ray-only (board lives where Ray picks up empty-cycle work). |
| Notion Research Backlog | Founder-triage queue. Curiosity-generated questions awaiting approval. Status field IS the founder-action surface. | Founder + Ray (founder approves Inbox → Approved, Ray dequeues from Approved). |
| HQ /decisions/ | Founder-decision surface. Every founder-action item gets a page with click-back lock-in. | Founder primary, Ray writes + reads payloads. |
| HQ /vault/ | Knowledge nervous system. | Founder browses, Ray writes. |
| HQ /bets/ | Per-bet dashboard. Surface the state, not the decisions. | Founder browses. |
The click-back rail upgrade
Per the founder’s synthesis, the existing click-back lock-in button gets two new options:
- “Act now” — fires the decision payload immediately to Ray’s session via iMessage, triggering whatever Ray-side action the decision unlocks.
- “Async — pick up in an empty cycle” — fires the same payload but tags it for Ray’s idle-cycle queue. Ray picks it up at the next /check-board pass or when channels are quiet. Doesn’t interrupt founder attention.
- “Defer” (existing — keep) — records the decision as held for a later date.
Mechanically: the click-back URL gains a query-param ?cadence=now|async|defer that the iMessage payload encodes, and Ray’s parser routes accordingly. Single-line code change once the click-back HTML template is updated.
What goes WHERE going forward (the discipline)
When Ray encounters something that needs founder judgment:
- Is it a true decision? (yes/no, A/B, ship/hold, build/skip) → HQ
/decisions/<slug>click-back page. NOT Notion. - Is it a research question? (something to investigate before deciding) → Notion Research Backlog Inbox. Founder approves → Ray dequeues.
- Is it Ray-able-async work? (a thing Ray can do alone) → Notion Task Board.
- Is it just status? (a thing happening, no action needed) → no surface; let the cron rhythm + morning brief cover it.
The mistake to avoid: putting a real decision in Notion. If it’s a decision, it goes to /decisions/.
Phase 0 roll-out plan (this week)
- Update HQ click-back template to support the
?cadence=now|async|deferquery-param. Generate the 3-button UI on every decision page. (~30 min HTML/JS edit.) - Update iMessage MCP parser in Ray’s session to route
cadence=asyncpayloads into an idle-cycle queue file at~/.claude/state/async-decision-queue.json. Each entry:{decision_slug, cadence, payload, queued_at}. (~30 min.) - Update /check-board to read the async-queue file at the top of each fire. Process queued decisions before scanning Notion. (~15 min skill edit.)
- Audit current Notion items. Items that are actually founder-decisions (e.g. “Productize MAC + Client Reporting”, “Sanity Check v3 revival”) get migrated to HQ /decisions/ pages. Notion entry stays as Done/Archived with a pointer to the new HQ page. (~1-2 hours; dispatched as subagent 2026-05-11 11:57 ET, parallel to this concept doc.)
- Update /improve, /curiosity, /deep-research to use the new discipline (where they currently file founder-decisions to Notion, they file to /decisions/ instead). (~30 min skill audit.)
Total: ~4-5 hours of focused work. Doable Mon-Tue alongside Mammoth-demo prep.
What this preserves
- Notion’s iPhone app for skimming what Ray’s been working on (the board view shows recent activity)
- The structured-fields shape of Notion DBs (Priority, Status, Owner, Project, Category) where Ray needs to query
- /check-board, /process-newsletter discovery, /sync-contacts contact-candidate triage, /deep-research backlog dequeue — all keep working with the same Notion plumbing
- The auto-archive discipline (stale 14d → archived) keeps running
What this changes
- Founder no longer needs to visit Notion to act on decisions. He acts via iMessage taps on HQ decision pages (already validated 2026-05-09 with the GEO + MAC video review decisions).
- Ray gets a fast async-decision-queue that gives him work to do during founder’s sleep without piling more decisions on the board.
- The board’s count shrinks dramatically (because founder-decisions migrate to /decisions/ and old completed work gets audited).
- Future drift prevented: the skill spec discipline above codifies WHICH surface holds WHAT.
Open follow-ups
- Should the HQ click-back template also gain a “skip — never need a decision” option for cases where the founder reads the page, decides the situation has resolved itself, and wants to dismiss the decision without acting? (Probable yes.)
- Should the async-decision-queue file have a TTL? If a decision sits in the async queue more than 7 days, should it bubble back to the founder-attention surface as a re-prompt? (Probable yes — 7-day TTL.)
- Should Ray’s
/morning-prepbrief include a “ASYNC DECISIONS ({N} queued by you yesterday, processed overnight)” status line? Closes the loop visibly so founder sees the value of the async path. - Eventually port Research Backlog to vault-native (per yesterday’s 3-phase plan, ~mid-June). The “Notion as data store” framing in this doc applies to the Task Board specifically; the Research Backlog could still move to vault.
Related
- 06-reference/concepts/2026-05-10-ray-architecture-introspection — names HQ + click-back as Layer 2 (Communication) and 13th unhobbling moment
- 06-reference/concepts/2026-05-10-harness-moat-two-layers-portability — the data-sovereignty consistency argument for keeping the founder-attention surface vault-native
- 06-reference/2026-05-09-tobi-lutke-river-public-channel-agent — Shopify River’s public-channel constraint pattern at solo-operator scale
- ~/.claude/projects/-Users-ray/memory/feedback_imessage_as_generative_ui_return_channel — the click-back rail recipe being extended
- ~/.claude/skills/check-board/SKILL.md — the skill being updated in Phase 0