Architecture
Chronos is designed as a YAML first engine with a thin CLI layer, modular item types, and a scheduler that composes plans from templates.
Core Layers
- Console -
Modules/Console.pyparses input and dispatches commands. - Commands -
Commands/*.pythin wrappers that call ItemManager and modules. - Modules -
Modules/<Type>/main.pycontains item-specific logic. - Item Manager -
Modules/ItemManager.pyhandles YAML IO and generic verbs. - Scheduler -
Modules/Scheduler.pyandModules/Today.pybuild daily plans. - Utilities - dashboard server, points ledger, parsers, helpers.
Data Model
- Items live in
User/<TypePlural>/as individual YAML files. - Defaults in
User/Settings/<type>_defaults.yml. - Schedules in
User/Schedules/schedule_YYYY-MM-DD.yml. - Sequence mirrors in
User/Data/for analytics.
Scheduling Phases
- Gather items and templates.
- Score and rank candidates.
- Place ideal schedule with buffers and dependencies.
- Resolve conflicts and persist outputs.
Dashboard
The dashboard is a static SPA under Utilities/Dashboard. It serves views (Calendar, Template Builder, Cockpit, Canvas) and widgets via local HTTP APIs. Panels and wizards are loaded dynamically to keep the initial bundle light.
