Skip to content

Releases: ascottbell/doris

v0.1.1 — Wisdom Compilation System

23 Feb 17:32

Choose a tag to compare

Doris v0.1.1 — Wisdom Compilation System

Doris now distills raw wisdom entries into a living summary that gets loaded into her system prompt — so she doesn't just collect feedback, she actually learns from it.

What's New

Wisdom Compilation — A background job that periodically reads all wisdom entries and compiles them into a two-section summary:

  • Narrative Understanding — prose about who you are as a decision-maker. What you value, how you think about quality vs speed, your approach to tradeoffs. Written like a briefing for a new collaborator.
  • Operational Patterns — a punch list of specific do's, don'ts, and gotchas learned from real outcomes. Things like "verify enforcement, not existence" or "FTS5 default tokenizer doesn't split camelCase."

The compiler runs on a mid-tier model (Sonnet-class), triggers when 5+ new entries accumulate, and evolves the summary incrementally rather than rebuilding from scratch. The compiled summary is injected into Doris's system prompt adjacent to her immutable persona (WORM) — persona is who she is, wisdom is what she's learned.

New "development" action family — 8 action types for development workflow wisdom: architecture_decision, debugging_resolution, dependency_choice, config_change, gotcha, user_preference, approach_validated, approach_rejected. Use these with doris_wisdom_log to capture coding decisions and patterns.

Bug Fixes

  • Fix include_unrated in wisdom searchdoris_wisdom_search with an action_type filter now correctly passes include_unrated=True to get_relevant_wisdom(). Previously, since ~98.5% of wisdom entries have no feedback score, action-type filtered queries returned empty results.

Changes

File What changed
memory/wisdom_compiler.py New — compilation engine (threshold check, entry formatting, LLM call, output writing)
memory/wisdom.py Added "development" action family with 8 action types
maasv_bridge.py Added action_families config for maasv wisdom matching
llm/brain.py Added _load_wisdom_summary() with 10-min cache; wired into both get_system_prompt() and get_system_prompt_cached()
daemon/scheduler.py Added wisdom compilation job (every 2 hours, threshold-gated) with escalation notification
mcp_server/server.py Fixed include_unrated bug in doris_wisdom_search
README.md Documented compiled wisdom in Memory section

Upgrading from v0.1.0

No breaking changes. The wisdom compiler creates two new files in data/ on first run:

  • data/wisdom_summary.md — the compiled summary
  • data/wisdom_compiler_state.json — tracks last compilation timestamp

These are created automatically when the threshold is met. No migration needed.

v0.1.0 — Initial Release

23 Feb 17:31

Choose a tag to compare

Doris v0.1.0 — Initial Release

The first public release of Doris, a personal AI assistant that monitors your world, remembers your life, and acts before you ask.

Highlights

  • Provider-agnostic LLM layer — Claude, OpenAI, or Ollama via one env var
  • 42 tools — calendar, email, reminders, iMessage, weather, contacts, music, smart home, memory, and more
  • 9 scouts — background agents monitoring email, calendar, weather, reminders, health, location, time, system health, and memory
  • Sitrep engine — intelligent observation review replaces hash-based dedup. Scouts observe; Doris decides what's worth your attention.
  • 5 channel adapters — CLI, Telegram, Discord, BlueBubbles (iMessage), generic webhook
  • Full memory system powered by maasv — semantic retrieval, knowledge graph, wisdom (learning from feedback), sleep-time compute
  • MCP server — expose Doris's memory via Model Context Protocol for use with Claude Code, Claude Desktop, or any MCP client
  • Security hardening — 223 tests covering auth, injection scanning, content wrapping, PII detection, memory poisoning defense, MCP trust tiers, AppleScript sanitization
  • Docker support — multi-stage build, non-root user, pinned dependencies