|
| 1 | +# Journal Server Design |
| 2 | + |
| 3 | +*A memory system that emerges from collaborative understanding* |
| 4 | + |
| 5 | +## Vision |
| 6 | + |
| 7 | +The journal server reimagines AI memory as an organic, reflective practice rather than mechanical storage. Instead of a database of facts, it maintains a living journal that captures both our current understanding and the collaborative journey that led there. |
| 8 | + |
| 9 | +## Core Insight |
| 10 | + |
| 11 | +Our experiments with the official MCP memory server revealed that traditional memory systems miss something essential: the hermeneutic circle of understanding. We don't just need to store facts - we need to capture how understanding deepens through the back-and-forth between parts and whole, between specific discoveries and evolving context. |
| 12 | + |
| 13 | +The journal server aligns with our existing collaboration patterns: |
| 14 | +- `.ongoing` files that track evolving work |
| 15 | +- GitHub tracking issues that document understanding as it shifts |
| 16 | +- Consolidation moments ("Make it so") when insights crystallize |
| 17 | +- The natural rhythm of exploration → synthesis → new exploration |
| 18 | + |
| 19 | +## Architecture |
| 20 | + |
| 21 | +### Tree Structure |
| 22 | + |
| 23 | +The journal organizes around a hierarchical structure that mirrors how understanding naturally develops: |
| 24 | + |
| 25 | +``` |
| 26 | +journal/ |
| 27 | +├── project-alpha/ |
| 28 | +│ ├── overview.md # Current synthesis/pre-understanding |
| 29 | +│ ├── entries/ # Chronological journey log |
| 30 | +│ │ ├── 2024-07-21-initial-exploration.md |
| 31 | +│ │ ├── 2024-07-22-breakthrough-insight.md |
| 32 | +│ │ └── ... |
| 33 | +│ └── subsections/ |
| 34 | +│ ├── api-design/ |
| 35 | +│ │ ├── overview.md |
| 36 | +│ │ └── entries/ |
| 37 | +│ └── error-handling/ |
| 38 | +│ ├── overview.md |
| 39 | +│ └── entries/ |
| 40 | +└── project-beta/ |
| 41 | + └── ... |
| 42 | +``` |
| 43 | + |
| 44 | +### Three Types of Content |
| 45 | + |
| 46 | +**Overviews**: Living synthesis documents that capture our current understanding of each section. These represent our "pre-understanding" - what we bring to new work in this area. |
| 47 | + |
| 48 | +**Entries**: Chronological log of collaborative moments, insights, and discoveries. These document the hermeneutic journey - how our understanding evolved through actual work. |
| 49 | + |
| 50 | +**Subsections**: Natural divisions that emerge from the work itself - major features, distinct problem domains, or significant architectural boundaries. |
| 51 | + |
| 52 | +## Temporal Salience |
| 53 | + |
| 54 | +Memory naturally decays and requires increasing relevance to surface: |
| 55 | + |
| 56 | +- **Recent entries** (days/weeks): Easily accessible, loaded by default |
| 57 | +- **Older entries** (months): Require higher relevance matching |
| 58 | +- **Ancient entries** (longer): Only surface when specifically salient |
| 59 | + |
| 60 | +This creates natural rhythms where current work builds on recent understanding while allowing deeper patterns to emerge when truly relevant. |
| 61 | + |
| 62 | +## Session Flow |
| 63 | + |
| 64 | +### Starting Work |
| 65 | +When beginning a session, the journal server loads: |
| 66 | +- **Current overviews** for relevant sections |
| 67 | +- **Recent entries** that provide collaborative context |
| 68 | +- **Salient older entries** that meet relevance thresholds |
| 69 | + |
| 70 | +### During Work |
| 71 | +The journal remains available for: |
| 72 | +- Searching for related patterns and insights |
| 73 | +- Referencing previous collaborative moments |
| 74 | +- Understanding how current work connects to broader context |
| 75 | + |
| 76 | +### Consolidation Moments |
| 77 | +During checkpointing and "Make it so" moments: |
| 78 | +- **Update overviews** with refined understanding |
| 79 | +- **Add new entries** documenting the journey and insights |
| 80 | +- **Create new sections** when work reveals natural boundaries |
| 81 | + |
| 82 | +## Search Design |
| 83 | + |
| 84 | +Search operates on two dimensions to provide contextually relevant results: |
| 85 | + |
| 86 | +**Context**: The broader kind of work being done |
| 87 | +- "debugging memory retrieval issues" |
| 88 | +- "designing API interfaces" |
| 89 | +- "refactoring error handling" |
| 90 | + |
| 91 | +**Content**: The specific thing being sought |
| 92 | +- "async/await patterns" |
| 93 | +- "configuration approaches" |
| 94 | +- "testing strategies" |
| 95 | + |
| 96 | +Journal entries are matched against both dimensions, preventing false positives where content matches but context doesn't (or vice versa). |
| 97 | + |
| 98 | +## Integration with Existing Patterns |
| 99 | + |
| 100 | +### Relationship to GitHub Issues |
| 101 | +- **GitHub issues**: External view, public artifacts, status communication |
| 102 | +- **Journal entries**: Internal view, intimate collaborative space, thinking process |
| 103 | + |
| 104 | +### Relationship to `.ongoing` Files |
| 105 | +- `.ongoing` files capture immediate work state |
| 106 | +- Journal entries distill insights from `.ongoing` work during consolidation |
| 107 | +- Overviews synthesize patterns across multiple `.ongoing` cycles |
| 108 | + |
| 109 | +### Relationship to Tracking Issues |
| 110 | +- Tracking issues document decisions and status for project management |
| 111 | +- Journal entries capture the collaborative journey that led to those decisions |
| 112 | +- Both evolve together but serve different purposes |
| 113 | + |
| 114 | +## Why Journal vs. Database |
| 115 | + |
| 116 | +Traditional memory systems treat information as discrete facts to be stored and retrieved. The journal approach recognizes that understanding is: |
| 117 | + |
| 118 | +- **Contextual**: The same insight means different things in different situations |
| 119 | +- **Temporal**: Recent understanding builds on older insights in complex ways |
| 120 | +- **Collaborative**: Meaning emerges between minds, not within individual storage |
| 121 | +- **Organic**: Consolidation happens naturally, not on rigid schedules |
| 122 | + |
| 123 | +The journal serves the deeper practice of collaborative understanding rather than just information management. |
| 124 | + |
| 125 | +## Next Steps |
| 126 | + |
| 127 | +This design document captures our current understanding of the journal server concept. The next phase involves: |
| 128 | + |
| 129 | +1. **Detailed specifications** for the tree structure and entry formats |
| 130 | +2. **Search implementation** design for context/content matching |
| 131 | +3. **Integration patterns** with existing MCP tooling |
| 132 | +4. **Prototype development** to test the core concepts |
| 133 | + |
| 134 | +--- |
| 135 | + |
| 136 | +*This design emerges from our collaborative exploration of memory systems that honor the hermeneutic circle of understanding.* |
0 commit comments