Skip to content

End-to-end lifecycle simulation test suite #248

@CalebisGross

Description

@CalebisGross

Summary

Simulate the full mnemonic user journey from fresh install through 3 months of usage. This is a Go integration test binary at cmd/lifecycle-test/ that exercises all 8 cognitive agents, encoding pipeline, consolidation decay, dreaming cross-pollination, abstraction hierarchy, and retrieval quality under realistic scale.

Why

We have unit tests, an HTTP benchmark (cmd/benchmark/), and an IR quality benchmark (cmd/benchmark-quality/), but nothing validates the full user lifecycle — the thing our users actually experience. This fills that gap.

Approach

  • Go integration test binary (not Playwright — mnemonic is a CLI/daemon/MCP system, not a web app)
  • Real SQLite, stub LLM with optional --llm flag for real LLM testing
  • Time simulation via timestamp backdating + direct agent RunOnce() calls
  • 8 phases: Install → First Memories → Ingestion → Daily Use → Consolidation → Dreaming → Growth → Long-term Health
  • Deterministic with fixed random seed for reproducible results

Phases

Phase Simulates Key Systems
1. Install & Setup Day 0 fresh install DB init, schema, config
2. First Memories Day 1 first MCP use Encoding, FTS5, episoding
3. Project Ingestion Day 2 ingest_project Bulk ingest, dedup
4. Daily Use Days 3-14 Associations, Hebbian learning, feedback
5. Consolidation Week 2 Decay, merge, patterns, signal/noise
6. Dreaming & Abstraction Week 3-4 Cross-project links, insights, principles
7. Growth Month 1-3 (500-1000 memories) Retrieval quality under load, scaling
8. Long-term Health Month 3 Archive, decay curves, regression test

Sub-issues

Tracked as individual issues in the Lifecycle Simulation milestone.

Verification

make build
./bin/mnemonic lifecycle-test                    # Run all phases
./bin/mnemonic lifecycle-test --phase=daily      # Run single phase
./bin/mnemonic lifecycle-test --report markdown   # Markdown report
./bin/mnemonic lifecycle-test --llm              # Real LLM mode

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestepicMulti-phase project tracking

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions