Sentinel as central orchestrator (Discord bot, chunk scheduler, HTTP metrics, MCP server), PostgreSQL LISTEN for pending chunks, chunk-to-node matching (capacity, permissions, Bloom filter), batch assign via SQL unnest, NodeCore state machine (Setup → Verifying → Registering → Ready → Working → Error), WorkerPool with mpsc channels, WorkItem (job_id, chunk_index, iterations, config_hash, seed_offset), Rayon parallel simulation within each node, chunk result posting back to sentinel, access control levels (public, user, discord guild, owner), cron jobs (reclaim stale chunks, presence sync, metrics, cleanup), Prometheus metrics export, job lifecycle (user submits → sentinel creates chunks → nodes process → aggregate results).
Next steps