Entity Overview

All portal entities, their relationships, and the design philosophy behind them.

πŸ—ΊοΈ Entity Mindmap

Portal Entities πŸ“‹ Core Work Task, Sub-task, Report Task parent_id β†’ sub-tasks Report ✏️ Annotations Comment + Feedback πŸ’¬ Comment Permanent, append-only πŸ“₯ Feedback Lifecycle: open β†’ processed πŸš€ Execution Remote Jobs + Bifrost Remote Job (task_id) πŸ’¬ Communication Channels + Messages πŸ“Š Observability Logs + Velocity

πŸ“Š Entity Matrix

Entity D1 Table Mutable? Lifecycle API
πŸ“‹ Task tasks Yes draft β†’ backlog β†’ active β†’ done β†’ archived Full CRUD
πŸ“₯ Feedback feedback Yes open β†’ processed | parked β†’ archived Full CRUD
πŸ’¬ Comment comments No Append-only GET/POST
πŸ“Š Report reports Yes Active β†’ archived Full CRUD
πŸ’­ Message messages Yes Sent/read tracking Full CRUD
πŸš€ Remote Job remote_jobs Yes pending β†’ running β†’ done/failed Full CRUD + SSE
⏱️ Velocity velocity_logs Write-only β€” GET/POST/DEL
πŸ“ Session Log session_logs Write-only β€” GET/POST/DEL
πŸ“ Project projects Yes active β†’ completed β†’ archived Full CRUD
πŸ”΄ Problem problems Yes πŸ”΄ Solve β†’ 🟑 Bear β†’ 🟒 Accept Full CRUD
🌳 Nexus nexus Yes Vision tree nodes GET/POST/PATCH
πŸ§ͺ Distill distill Yes Pipeline items GET/POST/PATCH
πŸ“š Learning learnings Write-mostly β€” GET/POST
πŸ“Š Workflow Usage workflow_usage Write-only β€” GET/POST
βš™οΈ Preferences preferences Yes β€” GET/PATCH

🧬 Design Philosophy

Two opposing intents: The portal captures both permanent history (Comments, Logs) and actionable work-in-progress (Feedback, Tasks). These are deliberately separated into different entities to prevent conflation.
Two Loops reflected in entities: Entities have D1 tables and API endpoints. Concepts (like "Project" and "Session") are implicit β€” tracked via fields or conventions, not their own tables.
Soft-delete everywhere: No record is ever physically deleted. Status PATCHed to archived. Comments are the extreme case β€” they are literally append-only with no UPDATE or DELETE.