cd05dfd1303e3df5955eff1f94dd2a56109e0e22
Resource: status header (status + runtime_type + host + clickable URL), three-column row of Dependencies (with add-by-UUID form) / Source docs / Runbook pages (filters /api/links/to/resource/:id for from_type=page and relation=runbook, then fetches each page title). Change history card pulls /api/resources/:id/changes. Inbox: groups pending changes by agent. Each row shows entity type badge + action + reason, with a collapsible payload disclosure. Approve calls /api/pending-changes/:id/approve and, if the response carries entity_id, navigates to the resulting detail view. Reject just re-fetches. Both update the shared pending-count emitted to state.js so the sidebar and topbar badges drop immediately. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Void 2.0
Homelab orchestrator + canonical knowledge store. Cradle-themed.
Successor to Void 1.x (CT 301). Spec at
/project/docs/superpowers/specs/2026-05-31-void-v2-design.md.
Layout
void-server(this repo) — Node API, MCP, UI, cron, agent runtimevoid-workers— Python ingest workers (separate repo, later plan)
Quick start (dev)
- Provision
void2-dbLXC (seedeploy/README.md) - Install Postgres + pgvector on
void2-db npm installcp .env.example .envand editnpm run migratenpm startcurl -H "Authorization: Bearer $OWNER_TOKEN" http://localhost:3000/health
Description
Languages
JavaScript
87.5%
CSS
6.4%
Python
5.2%
Shell
0.7%
HTML
0.2%