Concepts
About 289 wordsLess than 1 minute
The deep-dive reference for Spora’s internals. These pages were migrated from the numbered spora-core/docs/0X_*.md files, which have been retired in favour of this single audience-oriented site. For the procedural “how to install / configure / run” walkthrough, see Start → Operators.
Core architecture
- Architecture — config priority, orchestrator loop, worker modes, plugin system, database
- Database schema — tables, columns, version model, migration conventions
- PHP interfaces —
ToolInterface,OrchestratorInterface,LLMDriverConfigInterface,PluginInterface
Tools, drivers, plugins
- LLM drivers —
LLMDriverConfigInterface,OpenAICompatibleDriver,AnthropicCompatibleDriver,DriverFactory - Tool system —
#[Tool],#[ToolOperation],#[ToolParameter],#[ToolSetting], settings cascade - Plugin system — manifest, auto-discovery,
PluginLoader, conflicts, security model - App extensions —
app/App.php, theSporaExtensionInterfacehooks - Media assets —
AssetStore,MediaEmbed, binary tool outputs
Operations
- Agent loop and async mode —
tick()phases, task lifecycle, Mercure SSE - Worker deployment — cron and daemon modes, reaping, single-instance lock
- Logging — PSR-3, PII policy, what gets logged at which level
- Error handling — error envelope, code registry, toast mapping
Frontend
- Frontend architecture — Vue 3 + Vite + Tailwind + radix-vue,
apps/module pattern
Contributor standards
- Code documentation — comment policy (delete / keep / add)
- Testing — Pest, Vitest, SonarQube coverage gate
A note on WIP sections
The plugin system is currently a work-in-progress (see Architecture). The hook methods are declared and surfaced by the manifest, but the explicit PluginLoader → DI container injection path is not yet fully wired up. Three open PRs are landing this; we keep the WIP callout visible on the page so readers know the limitations.