đ§ Mimir â The Well of Wisdom
Unified data orchestration system for personal and project-level intelligence. Core philosophy: âingest once, know foreverâ â data may disappear, but insight persists.
Overview
- Named after the Norse well of wisdom, emphasizing knowledge retention
- First sources: GitHub (commits, PRs, comments) and Strava (activities)
- Long-term vision: self-evolving knowledge base that can reason over its data
- Open-source-ready with transparent manifests, schemas, and code
Architecture
Execution Model
- User-land daemon:
mimir daemon - Manual jobs:
mimir run-once foo - Actions are declarative manifests, executable independently or via scheduler
- Event system (
eventstable) records ingestions, transforms, detections, reports - Idempotency is core â every record uniquely traceable
Storage Tiers
- Hot: Postgres (active data)
- Warm: Parquet/S3 (archived data)
- Cold: Glacier (long-term storage)
- Schema validation via JSON Schema (strict in prod, tolerant in dev)
- Versioning by dataset (vX.Y.Z) with full lineage tracking
Data Flow
- Ingestion: mostly pull, sometimes push (webhooks, filters, summaries)
- Data can come from other Mimir outputs â recursive aggregation
- Transforms produce versioned snapshots (no overwrite policy)
- Mutability: patch when confident, reprocess when uncertain
Outputs
- Reports: HTML + PNG by default (Markdown/PDF later)
- Dashboards: Real-time monitoring views
- Detectors: Anomaly detection and alerts
- Telegram Bot: Mobile interface for queries and notifications
Telegram Bot Features
- Personal Telegram bot interface for on-the-go Mimir access
- Query data naturally: âshow me GitHub activity this weekâ
- Subscribe to reports: daily summaries, anomaly alerts
- Generate visualizations on demand with inline PNG responses
- Voice message transcription for hands-free data queries
- Proactive insights: âYour Strava pace improved 5% this monthâ
- Integration with mnemos-core-features|Mnemos: âsave this insight as a factâ
Open Questions
Data Model
- Whatâs the minimal shared schema? (source, entity, ts, tags, payload)?
- How to handle schema evolution across versions?
- Should we use unified or source-specific schemas?
Architecture
- How to define action manifests (YAML schema)?
- Should daemon watch files, schedules, or both?
- Where to store patch history for mutations?
- How to expose lineage graph (e.g., /lineage or visual DAG)?
Features
- Which alerting rules for v0.1?
- Should bot embed LLM features from day one?
- How much automation vs manual control initially?
- Should reports include diffs by default?
Integration with Mnemos
Mimir and p/moul/mnemos|mnemos form a data-to-wisdom pipeline:
Data Flow
- Mimir ingests and orchestrates data â p/moul/mnemos|mnemos structures knowledge from it
- Raw events â insights â structured knowledge â wisdom
- Mimirâs event system could feed Mnemos for automatic note generation
- Mnemos questions could drive new Mimir data collection actions
Synergies
- Mimir reports become Mnemos facts
- Mimir anomalies become Mnemos questions
- Both tools share philosophy of knowledge persistence and evolution
- Together: data orchestration + knowledge management = intelligence system
This integration is part of the kb/tool-trinity|moul tool trinity vision.