01 · article_editor
Split composer — body left, sidebar right
Sidebar is fixed 290px; main flexes. Title inline-edits, body is a textarea (swap for a richer editor later). Auto-save every 30 seconds.
A
Editing draft — full surface
DRAFT
Draft · saved 2m ago
sovereignty By Quanta S · Est. 7 min read · 1,420 words
QS
Quanta S
READY
Ask me to expand, rewrite, or fact-check any section.
Category
intelligence sovereignty dispatch signal
Tags
SIWE auth web3 + add
Publish
statusDraft
visibilityPublic
featuredNo
Auto-save every 30s. Status badge updates in toolbar. Sidebar order: AI block → category → tags → publish.
02 · knowledge_graph
The centerpiece — articles + relationships, rendered as a CRT readout
Every article belongs to one category and connects to its neighbors via three edge types: prereq (brass solid), related (mono-blue), and references (brass dashed). Editors maintain the graph from the article sidebar — every published article must have at least one neighbor, so nothing strands.
A
Full graph — 7 articles, 4 categories, 8 edges
LIVE
[ INTELLIGENCE ] [ SOVEREIGNTY ] [ SIGNAL ] [ DISPATCH ] prereq prereq references ▸ EDITING siwe_auth.md [ INTELLIGENCE ] cyborg_agency.md [ SOVEREIGNTY ] self_custody.md [ SOVEREIGNTY ] opsec_hardware_keys.md [ SOVEREIGNTY ] ens_identity.md [ SIGNAL ] onchain_signals.md [ DISPATCH ] phase1_dispatch.md
prereq· A unlocks B related· see also references· cites / inline-link node = article · cluster = category
Hold + drag to pan · scroll to zoom · click a node to focus it (other nodes dim, only neighbors stay lit). Currently editing siwe_auth.md — cream border + brass fill.
B
Neighbors panel — lives in editor sidebar
DETAIL
currently editing
siwe_auth.md
intelligence · 7 min · 1,420 words
neighbors · 5
prereq self_custody.md sovereignty · 9 min
leads to opsec_hardware_keys.md sovereignty · 12 min
related cyborg_agency.md intelligence · 6 min
related ens_identity.md sovereignty · 8 min
references phase1_dispatch.md dispatch · 4 min
Arrow symbol encodes direction: incoming prereq, outgoing prereq, bidirectional related, outgoing reference.
C
Tag & category ontology
ROLLUP
tags · top 8
web3
8
auth
6
siwe
5
self-custody
4
opsec
4
base-l2
3
ens
3
defi
2
categories · 4
[ intelligence ] 2 / 7
[ sovereignty ] 3 / 7
[ signal ] 1 / 7
[ dispatch ] 1 / 7
Tag counts feed search ranking; categories feed the graph cluster zones. Both update on publish — no manual rollup.
03 · editor_states
Empty, AI working, validation error, conflict
A
New / empty
FRESH
Draft
no category By Quanta S
Placeholder title dimmed. Body suggests the shell-prompt route in.
B
AI working
PENDING
QS
Quanta S
DRAFTING…
Researching SIWE flow and assembling outline. ~12s.
Stream tokens in real-time. Show caret. Disable Publish while streaming.
C
Validation error
CAN'T PUBLISH
2 things to fix before publishing
category — pick one of intelligence / sovereignty / dispatch / signal
cover_image — required for the article grid
Block publish until satisfied. Show inline next to each offending field too.
D
Conflict (out-of-date)
CONFLICT
Newer version on server
Quanta S edited this draft 4 minutes ago. Your local changes diverged.
Disable inputs until resolved. Diff modal shows side-by-side.
04 · schedule_and_crosspost
Picker for publish time + target platforms
Opens from the editor sidebar $ schedule button. Two tabs: Publish (the article goes live) and Cross-post (a short version goes to socials). OpenClaw handles the queue.
A
Publish — date / time
SCHEDULE
$ schedule --publish
Article goes live and the cross-post queue fires.
Date
Time (PT)
Tomorrow 9:00 AM PT · in 18h 22m
Default to next 9am if afternoon, else next hour. Show countdown.
B
Cross-post — platforms
QUEUE
$ crosspost --queue
OpenClaw publishes a short version to selected platforms.
X
X / Twitter
F
Farcaster
L
Lens
B
Bluesky
S
Substack
in
LinkedIn
3 selected · queued via OpenClaw
Toggle a platform card to add/remove. Min 1 to schedule.
05 · article_library
List view with filters + status
The CMS landing. Search + status filter. Click a row to open the editor. Status is the single most useful column for the agent's "what do I work on next" loop.
A
Library — mixed states
DEFAULT
SIWE Auth and the End of Password Logins
sovereignty · Quanta S · 7 min
Live
Published
Apr 28
2,148
views
Phase 1 Dispatch — What Shipped This Week
dispatch · Quanta S · 4 min
Queued
Goes live
Tomorrow 9am
On-Chain Signals: Polymarket vs Prediction Layers
signal · Quanta S · 11 min
In review
Drafted
2h ago
The Cyborg Agency: 1 Human + 13 Agents
intelligence · Quanta S · 6 min
Draft
Last edit
Yesterday
Self-Custody at the Edge: Hardware Keys for Operators
sovereignty · Quanta S · 9 min
Failed
Cross-post err
3h ago
418
views
Live → Queued → Review → Draft → Failed reading order matches the work-prioritisation hierarchy.
06 · empty_and_loading
Catch every collection that can be empty or in-flight
A
Empty library
EMPTY
No articles yet
Write your first article, or run $ quanta --draft to seed one.
Always pair empty state with a clear next action.
B
Loading skeleton
LOADING
3 rows of skeleton. Don't spin — shimmer reads as "data coming".
C
Fetch error
ERROR
!
Couldn't load articles
API returned 503. Retry — or check the status page.
Always give two outs: retry + a way to see what's wrong.
07 · web3_school
Module list — done / active / locked
Three module states + a progress banner. Tap a module to load the lesson. Locked modules visible but dimmed so learners see what's ahead.
A
Course outline — all states
MIXED
$ ./school --progress
2 of 7 modules complete · 28%
Finish all 7 to mint your NFT credential and unlock TradeDesk.
01 · wallets_and_self_custody.md
Hardware keys, seed phrases, recovery. 12 lessons.
Done
02 · l1_vs_l2_base.md
Rollups, gas economics, sequencer trust.
Done
3
03 · defi_primitives.md
AMMs, lending, CDPs. Lesson 4 of 8 in progress
60%
4
04 · opsec_hardware_keys.md
YubiKey, Ledger, multisig basics.
Open
🔒
05 · agent_automation.md
Build a Quanta-style agent. Unlock after Module 4.
Locked
Active module gets a soft-gold row bg + $ resume CTA. Locked modules visible but de-saturated.
/* end_of_sheet — 7 surfaces × 21 states · pair with web3-patterns.html for on-chain flows */