Projects¶
Project registry — identity, observations, memory, discovery, and lifecycle
Details¶
Projects are any bounded area of work or life the user tracks: research papers, coding repos, a book, a business, admin workflows. The project system captures understanding (what a project is, its current state, where it's heading) rather than substance (commit counts, task lists, dirty trees).
Three-layer architecture: - Layer 1: Collector (signal scan) — vault dirs, STATE.md, task tags, git, contracts. Produces projects_summary.md in context bundles. - Layer 2: Identity Registry (SQLite, projects/projects.db) — slug, name, status, description. Fast queries, no LLM cost. - Layer 3: Project Memory (Hindsight bank: project-memory) — LLM-extracted facts from observations, embedding-based semantic recall, mental models (project-landscape, active-risks, recent-decisions, inter-project-deps).
Key principle: Cheap identity, deep memory on demand. Always inject the project list (free SQLite query), let agents explore memory when they need it.
Lifecycle: active -> paused -> past. 'inferred' means discovered from signals but not yet confirmed.
Tag taxonomy (Hindsight): project:{slug}, source:chat|collector|state-file|user, session:{id}.
Integration points — project list is injected into: context collection (collect-and-orient), morning routine (context-snapshot), chrome triage (build_triage_context), task triage (gather step), task briefing (daily_briefing), blindspot detection (gather-signals), journal backlog routing, weekly review (gather step).
File layout: work_buddy/projects/ (store.py for SQLite identity), work_buddy/collectors/project_collector.py (signal scanner), work_buddy/memory/ (ingest.py, query.py for Hindsight), work_buddy/ir/sources/projects.py (IR source adapter).