Releases: Hidden-History/ai-memory
v2.2.3 — Complete Langfuse Observability Pipeline
📚 Documentation
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🧪 Tests
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🐳 Docker
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🪝 Hooks
- fix: Sprint 2026-02-02 - BUG-054, BUG-051, BUG-058 + backup scripts by @Hidden-History in #18
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
📊 Monitoring
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
⚙️ Other Changes
- fix(ci): align black version and fix macOS installation tests by @Hidden-History in #7
- chore(deps): bump the pip-minor-patch group with 7 updates by @dependabot[bot] in #8
- chore(deps): update structlog requirement from <25.0.0,>=24.0.0 to >=24.0.0,<26.0.0 by @dependabot[bot] in #9
- chore(deps-dev): update isort requirement from <6.0.0,>=5.13.0 to >=5.13.0,<8.0.0 by @dependabot[bot] in #11
- chore(deps): bump the actions-all group with 10 updates by @dependabot[bot] in #17
- fix(ci): resolve BUG-064 and BUG-065 broken community workflow actions by @Hidden-History in #32
- fix(ci): fix claude-assistant.yml curl timeout killing retry loop by @Hidden-History in #35
- v2.0.7: Langfuse LLM Observability (Optional) + Unified Stack Management by @Hidden-History in #37
- Housekeeping sprint: CI fixes, security, Dependabot, branding by @Hidden-History in #42
- chore(deps): bump the actions-all group with 2 updates by @dependabot[bot] in #41
- chore(deps): update bcrypt requirement from <5.0.0,>=4.0.0 to >=4.0.0,<6.0.0 by @dependabot[bot] in #30
- deps: Bump the pip-minor-patch group across 1 directory with 7 updates by @dependabot[bot] in #43
- feat: PLAN-009 multi-project sync + AI issue triage by @Hidden-History in #44
- Add Langfuse observability and improve Parzival context injection by @Hidden-History in #45
- feat: v2.1.0 — Langfuse V3 migration, data quality, observability by @Hidden-History in #52
- ci: bump actions/upload-artifact from 4 to 7 in the actions-all group by @dependabot[bot] in #46
- deps: bump the pip-minor-patch group with 5 updates by @dependabot[bot] in #47
- deps: update numpy requirement from <2.0.0,>=1.26.0 to >=1.26.0,<3.0.0 by @dependabot[bot] in #49
- deps: update pytest-rerunfailures requirement from <15.0.0,>=14.0.0 to >=14.0.0,<17.0.0 by @dependabot[bot] in #51
- fix: make Grafana E2E tests resilient to CI no-data state by @Hidden-History in #54
- deps: update pytest-randomly requirement from <4.0.0,>=3.15.0 to >=3.15.0,<5.0.0 by @dependabot[bot] in #50
- deps: update isort requirement from <8.0.0,>=5.13.0 to >=5.13.0,<9.0.0 by @dependabot[bot] in #48
- diag: include ConsoleMessage.location in E2E console error output by @Hidden-History in #55
- fix: filter grafana-lokiexplore-app /react/jsx-runtime 404 from E2E console tests by @Hidden-History in #56
- feat: agent-activated bootstrap + Parzival v2 injection architecture by @Hidden-History in #53
- feat: v2.2.1 Triple Fusion Hybrid Search + Prometheus Init Container (PLAN-013, BLK-021) by @Hidden-History in #57
- feat: Parzival gap remediation + AI Memory optimization (PLAN-013–017 + P15) by @Hidden-History in #60
- deps: bump the pip-minor-patch group across 1 directory with 3 updates by @dependabot[bot] in #62
- feat: LLM-as-judge evaluation pipeline + observability cleanup (v2.2.3) by @Hidden-History in #63
- feat(evaluator): complete Langfuse observability pipeline (v2.2.3B) by @Hidden-History in #64
📝 Full Changelog
Full Changelog: fd8cd44...v2.2.3
🙏 Contributors
Thank you to all contributors who made this release possible!
@Hidden-History, @dependabot[bot]
Complete Langfuse Observability Pipeline
All 6 LLM-as-judge evaluators now run automatically, scoring both individual observations and full traces. The evaluation pipeline is fully operational with automated scheduling, retry logic, and observation-level granularity.
Highlights
- Observation-level evaluation — EV-01 through EV-04 score individual Langfuse spans (retrieval relevance, injection value, capture completeness, classification accuracy)
- Automated scheduling — New
evaluator-schedulerDocker container runs evaluations daily at 05:00 UTC via croniter - Exponential backoff retry — Provider retries on HTTP 500/502/503/429 and network errors with configurable max_retries and jitter
- 12 evaluator definition files — 6 YAML configs + 6 prompt templates, filters aligned to actual codebase event_types
- Score config idempotency —
create_score_configs.pywith pre-check and--cleanup-duplicates(archive-based) - Ollama cloud auto-detection — Automatically uses
https://ollama.com/v1whenOLLAMA_API_KEYis set - CodeQL compliance — All 7 HIGH log injection findings in
monitoring/main.pyresolved
Upgrade Instructions
-
Pull and run installer:
cd /path/to/your/ai-memory-clone git pull origin main ./scripts/install.sh /path/to/your-project # Select Option 1
-
Build and start the evaluator-scheduler:
cd ~/.ai-memory/docker unset QDRANT_API_KEY docker compose -f docker-compose.yml -f docker-compose.langfuse.yml build evaluator-scheduler docker compose -f docker-compose.yml -f docker-compose.langfuse.yml --profile langfuse up -d evaluator-scheduler
-
Create score configs (one-time):
source .venv/bin/activate && cd ~/.ai-memory set -a && source docker/.env && set +a && unset QDRANT_API_KEY python scripts/create_score_configs.py
Resolves
TD-280, TD-281, TD-282, TD-283, TD-287, TD-288, TD-100, BUG-217
Full Changelog: v2.2.2...v2.2.3
v2.2.2 — AI Memory System Optimization (PLAN-015)
📚 Documentation
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🧪 Tests
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🐳 Docker
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🪝 Hooks
- fix: Sprint 2026-02-02 - BUG-054, BUG-051, BUG-058 + backup scripts by @Hidden-History in #18
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
📊 Monitoring
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
⚙️ Other Changes
- fix(ci): align black version and fix macOS installation tests by @Hidden-History in #7
- chore(deps): bump the pip-minor-patch group with 7 updates by @dependabot[bot] in #8
- chore(deps): update structlog requirement from <25.0.0,>=24.0.0 to >=24.0.0,<26.0.0 by @dependabot[bot] in #9
- chore(deps-dev): update isort requirement from <6.0.0,>=5.13.0 to >=5.13.0,<8.0.0 by @dependabot[bot] in #11
- chore(deps): bump the actions-all group with 10 updates by @dependabot[bot] in #17
- fix(ci): resolve BUG-064 and BUG-065 broken community workflow actions by @Hidden-History in #32
- fix(ci): fix claude-assistant.yml curl timeout killing retry loop by @Hidden-History in #35
- v2.0.7: Langfuse LLM Observability (Optional) + Unified Stack Management by @Hidden-History in #37
- Housekeeping sprint: CI fixes, security, Dependabot, branding by @Hidden-History in #42
- chore(deps): bump the actions-all group with 2 updates by @dependabot[bot] in #41
- chore(deps): update bcrypt requirement from <5.0.0,>=4.0.0 to >=4.0.0,<6.0.0 by @dependabot[bot] in #30
- deps: Bump the pip-minor-patch group across 1 directory with 7 updates by @dependabot[bot] in #43
- feat: PLAN-009 multi-project sync + AI issue triage by @Hidden-History in #44
- Add Langfuse observability and improve Parzival context injection by @Hidden-History in #45
- feat: v2.1.0 — Langfuse V3 migration, data quality, observability by @Hidden-History in #52
- ci: bump actions/upload-artifact from 4 to 7 in the actions-all group by @dependabot[bot] in #46
- deps: bump the pip-minor-patch group with 5 updates by @dependabot[bot] in #47
- deps: update numpy requirement from <2.0.0,>=1.26.0 to >=1.26.0,<3.0.0 by @dependabot[bot] in #49
- deps: update pytest-rerunfailures requirement from <15.0.0,>=14.0.0 to >=14.0.0,<17.0.0 by @dependabot[bot] in #51
- fix: make Grafana E2E tests resilient to CI no-data state by @Hidden-History in #54
- deps: update pytest-randomly requirement from <4.0.0,>=3.15.0 to >=3.15.0,<5.0.0 by @dependabot[bot] in #50
- deps: update isort requirement from <8.0.0,>=5.13.0 to >=5.13.0,<9.0.0 by @dependabot[bot] in #48
- diag: include ConsoleMessage.location in E2E console error output by @Hidden-History in #55
- fix: filter grafana-lokiexplore-app /react/jsx-runtime 404 from E2E console tests by @Hidden-History in #56
- feat: agent-activated bootstrap + Parzival v2 injection architecture by @Hidden-History in #53
- feat: v2.2.1 Triple Fusion Hybrid Search + Prometheus Init Container (PLAN-013, BLK-021) by @Hidden-History in #57
- feat: Parzival gap remediation + AI Memory optimization (PLAN-013–017 + P15) by @Hidden-History in #60
📝 Full Changelog
Full Changelog: fd8cd44...v2.2.2
🙏 Contributors
Thank you to all contributors who made this release possible!
@Hidden-History, @dependabot[bot]
AI Memory System Optimization (PLAN-015)
9 work packages delivering unified behavior specification, per-collection confidence gating, freshness injection blocking, error-to-fix linkage, remembrance protection, and best practices auto-activation. 97 files modified with 4 adversarial review cycles (48 findings fixed). 2378 tests pass on Python 3.10/3.11/3.12.
Added
- Per-collection confidence thresholds: Tier 2 injection uses collection-specific thresholds (conventions: 0.65, code-patterns: 0.55, discussions: 0.60)
- 4-tier gating model: HARD SKIP / SOFT SKIP / SOFT GATE / FULL — graduated injection with hard floor at 0.45
- Freshness injection blocking: STALE and EXPIRED code patterns blocked from injection (score penalty 0.0)
- Error-to-fix linkage: Errors and fixes linked via deterministic
error_group_id(SHA-256) with two-phase retrieval - Best practices auto-activation: Retrieves relevant best practices on error or 3+ edits to same file (confidence gate 0.6)
- Remembrance protection: Frequently-retrieved memories (access_count >= 3) exempt from temporal decay
- Agent-scoped compact restore: Named agents get their own cross-session memories filtered by agent_id
- Freshness metrics: 4 Prometheus metrics (status gauge, scan counter, blocked injections, scan duration)
- Unified Behavior Specification:
AI-Memory-Behavior-Spec-V1.md— single source of truth for all memory system behavior
Changed
max_retrievalsdefault increased from 5 to 10- Code chunk size increased from 512 to 1024 tokens
- Prose overlap corrected to 15% per spec
- Metrics prefix standardized to
ai_memory_
Fixed
- Hook exit codes: all hooks exit 0 on failure (§1.2 Principle 4)
- Error pattern false positives: pattern matching replaces substring matching
- Tier 2 type filtering: excludes user_message, error_pattern from injection
- Dead code removal: ~175 lines removed from session_start.py
- Langfuse V3 compliance: zero V2 violations across 31 files
Upgrade Instructions
cd /path/to/your/ai-memory-clone
git pull origin main
./scripts/install.sh /path/to/your-project
# Select Option 1 (Add project to existing installation)Full changelog: See CHANGELOG.md for complete details including deprecation notices.
v2.2.1 — Triple Fusion Hybrid Search + Prometheus Init Container
📚 Documentation
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🧪 Tests
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🐳 Docker
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🪝 Hooks
- fix: Sprint 2026-02-02 - BUG-054, BUG-051, BUG-058 + backup scripts by @Hidden-History in #18
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
📊 Monitoring
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
⚙️ Other Changes
- fix(ci): align black version and fix macOS installation tests by @Hidden-History in #7
- chore(deps): bump the pip-minor-patch group with 7 updates by @dependabot[bot] in #8
- chore(deps): update structlog requirement from <25.0.0,>=24.0.0 to >=24.0.0,<26.0.0 by @dependabot[bot] in #9
- chore(deps-dev): update isort requirement from <6.0.0,>=5.13.0 to >=5.13.0,<8.0.0 by @dependabot[bot] in #11
- chore(deps): bump the actions-all group with 10 updates by @dependabot[bot] in #17
- fix(ci): resolve BUG-064 and BUG-065 broken community workflow actions by @Hidden-History in #32
- fix(ci): fix claude-assistant.yml curl timeout killing retry loop by @Hidden-History in #35
- v2.0.7: Langfuse LLM Observability (Optional) + Unified Stack Management by @Hidden-History in #37
- Housekeeping sprint: CI fixes, security, Dependabot, branding by @Hidden-History in #42
- chore(deps): bump the actions-all group with 2 updates by @dependabot[bot] in #41
- chore(deps): update bcrypt requirement from <5.0.0,>=4.0.0 to >=4.0.0,<6.0.0 by @dependabot[bot] in #30
- deps: Bump the pip-minor-patch group across 1 directory with 7 updates by @dependabot[bot] in #43
- feat: PLAN-009 multi-project sync + AI issue triage by @Hidden-History in #44
- Add Langfuse observability and improve Parzival context injection by @Hidden-History in #45
- feat: v2.1.0 — Langfuse V3 migration, data quality, observability by @Hidden-History in #52
- ci: bump actions/upload-artifact from 4 to 7 in the actions-all group by @dependabot[bot] in #46
- deps: bump the pip-minor-patch group with 5 updates by @dependabot[bot] in #47
- deps: update numpy requirement from <2.0.0,>=1.26.0 to >=1.26.0,<3.0.0 by @dependabot[bot] in #49
- deps: update pytest-rerunfailures requirement from <15.0.0,>=14.0.0 to >=14.0.0,<17.0.0 by @dependabot[bot] in #51
- fix: make Grafana E2E tests resilient to CI no-data state by @Hidden-History in #54
- deps: update pytest-randomly requirement from <4.0.0,>=3.15.0 to >=3.15.0,<5.0.0 by @dependabot[bot] in #50
- deps: update isort requirement from <8.0.0,>=5.13.0 to >=5.13.0,<9.0.0 by @dependabot[bot] in #48
- diag: include ConsoleMessage.location in E2E console error output by @Hidden-History in #55
- fix: filter grafana-lokiexplore-app /react/jsx-runtime 404 from E2E console tests by @Hidden-History in #56
- feat: agent-activated bootstrap + Parzival v2 injection architecture by @Hidden-History in #53
- feat: v2.2.1 Triple Fusion Hybrid Search + Prometheus Init Container (PLAN-013, BLK-021) by @Hidden-History in #57
📝 Full Changelog
Full Changelog: fd8cd44...v2.2.1
🙏 Contributors
Thank you to all contributors who made this release possible!
@Hidden-History, @dependabot[bot]
What's New
Triple Fusion Hybrid Search (PLAN-013)
Dense vectors augmented with BM25 sparse vectors and optional ColBERT late interaction reranking via Qdrant's native RRF fusion. 4-path search composition with automatic fallback. RRF score normalization to [0.5, 0.95] range for compatibility with existing confidence thresholds.
- BM25 sparse vectors: All 5 collections gain BM25/IDF sparse embeddings via fastembed
Qdrant/bm25model - ColBERT late interaction reranking (opt-in):
COLBERT_RERANKING_ENABLED=trueadds ColBERT multi-vector reranking - 4-path search composition: hybrid+decay → hybrid-only → decay-only → plain dense — automatic fallback
- Turnkey enablement:
enable-hybrid-search.shhandles pre-flight checks, container rebuild, migration, and verification - Migration script:
migrate_v221_hybrid_vectors.py— idempotent, resumable migration for existing data
Langfuse Visibility (PLAN-014)
- Trace tags: All 93 trace emit calls include semantic tags for Langfuse dashboard filtering
- Skill tracing: 9 Python-based skills instrumented with Langfuse trace events
- Embedding GENERATION traces: Dense, sparse, and ColBERT API calls emit Langfuse GENERATION observations
Prometheus Init Container (BLK-021)
- Root cause:
prom/prometheus:v2.55.1is BusyBox-based (not Alpine) —apk addfails, no package manager available - Fix: Python 3.12-alpine init container generates
web.yml(bcrypt hash) andprometheus.yml(env var substitution) before Prometheus starts viadepends_on: service_completed_successfully - Removed: Custom Dockerfile and docker-entrypoint.sh — Prometheus now uses stock image
- Security: Atomic file writes, stale config cleanup, world-readable permissions for nobody user (65534)
Additional Fixes
- Installer Option 1 Docker sync: Add-project mode now copies Docker files alongside hooks/scripts/skills
- 16 tech debt items resolved: TD-187/188/197/208/209/215/216/225/242/247/248/260/261 + TD-003/058/109
- 3-tier soft confidence gating and configurable score gap threshold for injection quality
discussionmemory type: New MemoryType for general discussion points (total types: 31)
Upgrade Instructions
1. Update code and reinstall
cd /path/to/your/ai-memory-clone
git pull origin main
./scripts/install.sh /path/to/your-project
# Select Option 1 (Add project to existing installation)
# This updates hooks, scripts, skills, AND Docker files2. Recreate Prometheus (required — fixes health check 401s)
cd ~/.ai-memory/docker
unset QDRANT_API_KEY
docker compose --profile monitoring up -d --force-recreate prometheus-init prometheusThis starts the new init container which generates web.yml with a fresh bcrypt hash from PROMETHEUS_ADMIN_PASSWORD. No image rebuild required — uses stock Prometheus image.
3. Enable hybrid search (optional)
unset QDRANT_API_KEY && ~/.ai-memory/scripts/enable-hybrid-search.shOr equivalently:
unset QDRANT_API_KEY && ~/.ai-memory/scripts/stack.sh enable-hybridThis handles everything automatically: pre-flight checks, embedding container rebuild, config update, data migration, and verification.
4. Optional — ColBERT reranking
Add to ~/.ai-memory/docker/.env before running enable-hybrid-search.sh:
COLBERT_ENABLED=true
COLBERT_RERANKING_ENABLED=trueNotes
- No Qdrant schema changes required — sparse vectors are added alongside existing dense vectors
- Plain dense search continues to work without migration
- Installer Option 1 now syncs Docker files alongside hooks, scripts, and skills
Full Changelog
See CHANGELOG.md for complete details.
v2.2.0: Parzival V2 Agent-Activated Injection Architecture
📚 Documentation
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🧪 Tests
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🐳 Docker
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🪝 Hooks
- fix: Sprint 2026-02-02 - BUG-054, BUG-051, BUG-058 + backup scripts by @Hidden-History in #18
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
📊 Monitoring
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
⚙️ Other Changes
- fix(ci): align black version and fix macOS installation tests by @Hidden-History in #7
- chore(deps): bump the pip-minor-patch group with 7 updates by @dependabot[bot] in #8
- chore(deps): update structlog requirement from <25.0.0,>=24.0.0 to >=24.0.0,<26.0.0 by @dependabot[bot] in #9
- chore(deps-dev): update isort requirement from <6.0.0,>=5.13.0 to >=5.13.0,<8.0.0 by @dependabot[bot] in #11
- chore(deps): bump the actions-all group with 10 updates by @dependabot[bot] in #17
- fix(ci): resolve BUG-064 and BUG-065 broken community workflow actions by @Hidden-History in #32
- fix(ci): fix claude-assistant.yml curl timeout killing retry loop by @Hidden-History in #35
- v2.0.7: Langfuse LLM Observability (Optional) + Unified Stack Management by @Hidden-History in #37
- Housekeeping sprint: CI fixes, security, Dependabot, branding by @Hidden-History in #42
- chore(deps): bump the actions-all group with 2 updates by @dependabot[bot] in #41
- chore(deps): update bcrypt requirement from <5.0.0,>=4.0.0 to >=4.0.0,<6.0.0 by @dependabot[bot] in #30
- deps: Bump the pip-minor-patch group across 1 directory with 7 updates by @dependabot[bot] in #43
- feat: PLAN-009 multi-project sync + AI issue triage by @Hidden-History in #44
- Add Langfuse observability and improve Parzival context injection by @Hidden-History in #45
- feat: v2.1.0 — Langfuse V3 migration, data quality, observability by @Hidden-History in #52
- ci: bump actions/upload-artifact from 4 to 7 in the actions-all group by @dependabot[bot] in #46
- deps: bump the pip-minor-patch group with 5 updates by @dependabot[bot] in #47
- deps: update numpy requirement from <2.0.0,>=1.26.0 to >=1.26.0,<3.0.0 by @dependabot[bot] in #49
- deps: update pytest-rerunfailures requirement from <15.0.0,>=14.0.0 to >=14.0.0,<17.0.0 by @dependabot[bot] in #51
- fix: make Grafana E2E tests resilient to CI no-data state by @Hidden-History in #54
- deps: update pytest-randomly requirement from <4.0.0,>=3.15.0 to >=3.15.0,<5.0.0 by @dependabot[bot] in #50
- deps: update isort requirement from <8.0.0,>=5.13.0 to >=5.13.0,<9.0.0 by @dependabot[bot] in #48
- diag: include ConsoleMessage.location in E2E console error output by @Hidden-History in #55
- fix: filter grafana-lokiexplore-app /react/jsx-runtime 404 from E2E console tests by @Hidden-History in #56
- feat: agent-activated bootstrap + Parzival v2 injection architecture by @Hidden-History in #53
📝 Full Changelog
Full Changelog: fd8cd44...v2.2.0
🙏 Contributors
Thank you to all contributors who made this release possible!
@Hidden-History, @dependabot[bot]
What's New
Agent-Activated Architecture — Cross-session memory moves from automatic ambient injection to agent-activated retrieval via skills. Sessions start clean — no Qdrant noise on startup or resume.
Key Changes
- No ambient injection: resume outputs nothing; compact restores session summary only (non-Parzival) or rich context (Parzival)
- SessionStart matcher: Simplified to resume|compact for ALL states (startup trigger removed)
- Parzival V2 deployment: Thin-shim architecture via _ai-memory/ deployable package — 17 skills, 9 commands, 3 agents
- PCB step-file workflows: Structured session start, status, blocker, decision, verify, team prompt, handoff, and closeout workflows
- Constraint re-injection: Behavioral constraints auto-loaded on compact and via skill
- Installer V2 pipeline: 7 new functions, V1-to-V2 migration, stale matcher cleanup
- V1 fully removed: commands/parzival/, agents/parzival/, deploy_parzival_commands() all deleted
Bug Fixes
- BUG-206: SessionStart hook no longer injects noise on resume/compact
- BUG-207: Stale startup|clear triggers removed from matcher
- FAIL-03: merge_settings.py no longer preserves stale startup matcher on upgrade
- FAIL-06: GC-13 constraint synced to source repo
- FAIL-07: install.sh V1 skill cleanup covers all 13 legacy names
Verification
- 2,116 unit tests pass
- 314-test verification report: 297 PASS, 0 blocking issues
- 3 adversarial review rounds passed
- Langfuse verified: 1,043 traces, all hook types, 0 flush errors
Upgrade Notes
Existing installations should run the installer (Option 1: Add project to existing installation) to get V2 deployment. The installer automatically:
- Strips startup from SessionStart matcher
- Removes V1 directories (commands/parzival/, agents/parzival/)
- Deploys _ai-memory/ package with Parzival V2 content
- Cleans up 13 legacy V1 skill names
Full Changelog: v2.1.0...v2.2.0
v2.1.0 — Langfuse V3 Migration & Observability
📚 Documentation
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🧪 Tests
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🐳 Docker
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🪝 Hooks
- fix: Sprint 2026-02-02 - BUG-054, BUG-051, BUG-058 + backup scripts by @Hidden-History in #18
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
📊 Monitoring
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
⚙️ Other Changes
- fix(ci): align black version and fix macOS installation tests by @Hidden-History in #7
- chore(deps): bump the pip-minor-patch group with 7 updates by @dependabot[bot] in #8
- chore(deps): update structlog requirement from <25.0.0,>=24.0.0 to >=24.0.0,<26.0.0 by @dependabot[bot] in #9
- chore(deps-dev): update isort requirement from <6.0.0,>=5.13.0 to >=5.13.0,<8.0.0 by @dependabot[bot] in #11
- chore(deps): bump the actions-all group with 10 updates by @dependabot[bot] in #17
- fix(ci): resolve BUG-064 and BUG-065 broken community workflow actions by @Hidden-History in #32
- fix(ci): fix claude-assistant.yml curl timeout killing retry loop by @Hidden-History in #35
- v2.0.7: Langfuse LLM Observability (Optional) + Unified Stack Management by @Hidden-History in #37
- Housekeeping sprint: CI fixes, security, Dependabot, branding by @Hidden-History in #42
- chore(deps): bump the actions-all group with 2 updates by @dependabot[bot] in #41
- chore(deps): update bcrypt requirement from <5.0.0,>=4.0.0 to >=4.0.0,<6.0.0 by @dependabot[bot] in #30
- deps: Bump the pip-minor-patch group across 1 directory with 7 updates by @dependabot[bot] in #43
- feat: PLAN-009 multi-project sync + AI issue triage by @Hidden-History in #44
- Add Langfuse observability and improve Parzival context injection by @Hidden-History in #45
- feat: v2.1.0 — Langfuse V3 migration, data quality, observability by @Hidden-History in #52
📝 Full Changelog
Full Changelog: fd8cd44...v2.1.0
🙏 Contributors
Thank you to all contributors who made this release possible!
@Hidden-History, @dependabot[bot]
v2.1.0 — Langfuse V3 Migration & Observability
Full Langfuse V3 SDK migration, agent identity metadata, content limit standardization, and infrastructure hardening.
Highlights
- Langfuse V3 SDK: All 19 hook scripts + 2 service modules migrated from V2 to V3 patterns (
get_client(),@observe(),shutdown()) - Agent Identity (DEC-038):
CLAUDE_AGENT_NAME/CLAUDE_AGENT_ROLEenv vars propagated through 17 hook scripts for per-agent trace filtering - TRACE_CONTENT_MAX: Standardized from mixed 300/2000 to 10000 across 18 files
- ClickHouse Memory Cap: Explicit 16 GiB limit (down from unlimited default) for OOM prevention
- Graceful Shutdown:
atexithandlers on classification worker, GitHub sync, and code sync services
Stats
- 86 files changed, 1479 insertions, 611 deletions
- 12 commits across Python 3.10/3.11/3.12
- 2115 unit tests pass, 9/9 CI jobs green
- 8 tech debt items resolved (TD-236/238/239/240/241/243/245/246)
Upgrade
Non-breaking release. No migration required.
git pull origin main
pip install -e .Optional new env vars: CLAUDE_AGENT_NAME, CLAUDE_AGENT_ROLE, LANGFUSE_FLUSH_TIMEOUT_SECONDS
See CHANGELOG.md for full details.
v2.0.9 — Injection Quality + Langfuse Observability
📚 Documentation
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🧪 Tests
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🐳 Docker
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🪝 Hooks
- fix: Sprint 2026-02-02 - BUG-054, BUG-051, BUG-058 + backup scripts by @Hidden-History in #18
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
📊 Monitoring
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
⚙️ Other Changes
- fix(ci): align black version and fix macOS installation tests by @Hidden-History in #7
- chore(deps): bump the pip-minor-patch group with 7 updates by @dependabot[bot] in #8
- chore(deps): update structlog requirement from <25.0.0,>=24.0.0 to >=24.0.0,<26.0.0 by @dependabot[bot] in #9
- chore(deps-dev): update isort requirement from <6.0.0,>=5.13.0 to >=5.13.0,<8.0.0 by @dependabot[bot] in #11
- chore(deps): bump the actions-all group with 10 updates by @dependabot[bot] in #17
- fix(ci): resolve BUG-064 and BUG-065 broken community workflow actions by @Hidden-History in #32
- fix(ci): fix claude-assistant.yml curl timeout killing retry loop by @Hidden-History in #35
- v2.0.7: Langfuse LLM Observability (Optional) + Unified Stack Management by @Hidden-History in #37
- Housekeeping sprint: CI fixes, security, Dependabot, branding by @Hidden-History in #42
- chore(deps): bump the actions-all group with 2 updates by @dependabot[bot] in #41
- chore(deps): update bcrypt requirement from <5.0.0,>=4.0.0 to >=4.0.0,<6.0.0 by @dependabot[bot] in #30
- deps: Bump the pip-minor-patch group across 1 directory with 7 updates by @dependabot[bot] in #43
- feat: PLAN-009 multi-project sync + AI issue triage by @Hidden-History in #44
- Add Langfuse observability and improve Parzival context injection by @Hidden-History in #45
📝 Full Changelog
Full Changelog: fd8cd44...v2.0.9
🙏 Contributors
Thank you to all contributors who made this release possible!
@Hidden-History, @dependabot[bot]
What's New
Injection quality sprint (PLAN-010) + Langfuse observability + installer fixes.
Highlights
- Dedicated
githubcollection — eliminates 79.6% noise from discussions collection - Structured error detection — eliminates 100% false positives in code-patterns
- Langfuse trace visibility restored — full pipeline content visible (TRACE_CONTENT_MAX=10000)
- Parzival layered priority bootstrap — L1-L4 deterministic + semantic retrieval
- Installer Option 1 fix — recursive copy now works correctly (BUG-205)
Added
- New
githubQdrant collection with 7 GitHub-specific indexes - 7
emit_trace_event()calls across search, injection, and session pipelines - Parzival layered priority bootstrap (L1 handoff, L2 decisions, L3 insights, L4 GitHub)
- Content quality gate (skip messages under 4 words or low-value patterns)
Fixed
- BUG-200: Error pattern capture false positives
- BUG-201: Tier 2 injection missing type filter
- BUG-204: 15 hardcoded [:300] truncations removed from hook scripts
- BUG-205: Installer Option 1 recursive copy + chmod
- TD-237: Classifier LLM prompt includes error_pattern type
- CodeQL: Removed partial API key logging (CWE-117)
- Migration renames remaining error_fix → error_pattern
Upgrade Instructions
See CHANGELOG.md for complete upgrade path:
- Installer Option 1 (code-only update)
- Rebuild classifier-worker container (and github-sync if used)
- Run migration script (
migrate_v209_github_collection.py)
Full Changelog: v2.0.8...v2.0.9
v2.0.8: Multi-Project Sync + Credential Hardening
📚 Documentation
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🧪 Tests
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🐳 Docker
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🪝 Hooks
- fix: Sprint 2026-02-02 - BUG-054, BUG-051, BUG-058 + backup scripts by @Hidden-History in #18
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
📊 Monitoring
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
⚙️ Other Changes
- fix(ci): align black version and fix macOS installation tests by @Hidden-History in #7
- chore(deps): bump the pip-minor-patch group with 7 updates by @dependabot[bot] in #8
- chore(deps): update structlog requirement from <25.0.0,>=24.0.0 to >=24.0.0,<26.0.0 by @dependabot[bot] in #9
- chore(deps-dev): update isort requirement from <6.0.0,>=5.13.0 to >=5.13.0,<8.0.0 by @dependabot[bot] in #11
- chore(deps): bump the actions-all group with 10 updates by @dependabot[bot] in #17
- fix(ci): resolve BUG-064 and BUG-065 broken community workflow actions by @Hidden-History in #32
- fix(ci): fix claude-assistant.yml curl timeout killing retry loop by @Hidden-History in #35
- v2.0.7: Langfuse LLM Observability (Optional) + Unified Stack Management by @Hidden-History in #37
- Housekeeping sprint: CI fixes, security, Dependabot, branding by @Hidden-History in #42
- chore(deps): bump the actions-all group with 2 updates by @dependabot[bot] in #41
- chore(deps): update bcrypt requirement from <5.0.0,>=4.0.0 to >=4.0.0,<6.0.0 by @dependabot[bot] in #30
- deps: Bump the pip-minor-patch group across 1 directory with 7 updates by @dependabot[bot] in #43
- feat: PLAN-009 multi-project sync + AI issue triage by @Hidden-History in #44
📝 Full Changelog
Full Changelog: fd8cd44...v2.0.8
🙏 Contributors
Thank you to all contributors who made this release possible!
@Hidden-History, @dependabot[bot]
What's New
Multi-Project Sync (PLAN-009)
Prometheus-style projects.d/ directory discovery for managing multiple repositories and Jira instances from a single AI Memory installation.
- Per-project YAML configs with
discover_projects()andregister_project_sync() - Per-repo GitHub sync state files with collision-safe naming
- Per-instance Jira sync state files for multi-Jira support
- Branch parameter propagated through all sync engines
- Legacy
GITHUB_REPOenv var fallback for backward compatibility - 52 new tests
AI Issue Triage (GitHub Actions)
Multi-model Ollama consensus triage for new issues — 3 analysis + 3 classification passes with 2/3 majority vote. Bot filter prevents cost amplification. Graceful degradation when no API key is configured.
Security
QDRANT_API_KEYmoved fromsettings.jsontosettings.local.json(gitignored) — fixes #38- Project ID detected from git remote instead of folder name — fixes #39
Bug Fixes
- BUG-193: Installer
import_user_env()stripped quotes from.envvalues - BUG-194:
create_agent_id_index()failed whendocker/.envmissing - BUG-195:
settings.local.jsonnot in.gitignore - BUG-196: Embedding container missing
PYTHONPATH - SPEC-021: SessionStart trace coverage gaps
- 3 CI fixes (BUG-128/129/130), BSD sed compatibility, Compose v5 compatibility
Changed
- All memory commands renamed to
aim-prefix (e.g.,/memory-status→/aim-status) - Installer
set_env_value()rewritten for BSD sed compatibility - Sync engine constructors now accept per-project parameters
Dependencies
bcrypt<5.0.0 → <6.0.0,pydantic-settings2.12→2.13,anthropic0.77→0.80,ruff0.14→0.15, and others
Stats
49 commits, 139 files changed, +7,104/-1,558 lines. 2,139 tests pass (0 failures). 16/16 containers healthy. Verified by Parzival — AI Memory Oversight Agent (PM #132).
Full changelog: v2.0.7...v2.0.8
v2.0.7: Langfuse LLM Observability (Optional) + Unified Stack Management
📚 Documentation
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🧪 Tests
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🐳 Docker
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🪝 Hooks
- fix: Sprint 2026-02-02 - BUG-054, BUG-051, BUG-058 + backup scripts by @Hidden-History in #18
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
📊 Monitoring
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
⚙️ Other Changes
- fix(ci): align black version and fix macOS installation tests by @Hidden-History in #7
- chore(deps): bump the pip-minor-patch group with 7 updates by @dependabot[bot] in #8
- chore(deps): update structlog requirement from <25.0.0,>=24.0.0 to >=24.0.0,<26.0.0 by @dependabot[bot] in #9
- chore(deps-dev): update isort requirement from <6.0.0,>=5.13.0 to >=5.13.0,<8.0.0 by @dependabot[bot] in #11
- chore(deps): bump the actions-all group with 10 updates by @dependabot[bot] in #17
- fix(ci): resolve BUG-064 and BUG-065 broken community workflow actions by @Hidden-History in #32
- fix(ci): fix claude-assistant.yml curl timeout killing retry loop by @Hidden-History in #35
- v2.0.7: Langfuse LLM Observability (Optional) + Unified Stack Management by @Hidden-History in #37
📝 Full Changelog
Full Changelog: fd8cd44...v2.0.7
🙏 Contributors
Thank you to all contributors who made this release possible!
@Hidden-History, @dependabot[bot]
What's New
Langfuse LLM Observability (Optional)
Full pipeline tracing for your AI Memory system — entirely opt-in via LANGFUSE_ENABLED=true.
- 9-step pipeline tracing: Every memory operation traced from capture through classification (
1_capture→9_classify) - Session grouping: Traces grouped by Claude Code session ID for conversation-level visibility
- File-based trace buffer: ~5ms overhead per event — traces written to disk, flushed asynchronously
- Kill-switch control:
LANGFUSE_ENABLED=falsedisables all tracing with zero overhead - Custom model registration: Cost tracking for ollama and openrouter models
- Grafana integration: LLM Observability dashboard row with Langfuse deeplinks
- 7 new Docker services: Langfuse Web, Worker, PostgreSQL, ClickHouse, Redis, MinIO, Trace Flush Worker
Langfuse is entirely optional. AI Memory works fully without it. Core system: 8 services, 16 GiB RAM. With Langfuse: 15 services, 32 GiB RAM.
Unified Stack Management
New scripts/stack.sh v1.1.0 — single command to manage the full Docker stack:
./scripts/stack.sh start # Start all enabled services
./scripts/stack.sh stop # Graceful shutdown (correct ordering)
./scripts/stack.sh status # Container health, ports, volumes
./scripts/stack.sh restart # Full cycle
./scripts/stack.sh nuke # Remove everything (with confirmation)Bug Fixes
20 bugs fixed (BUG-131 through BUG-151): 8 Langfuse install bugs, 3 auth/config fixes, 3 runtime fixes, 2 pipeline span fixes, 3 deployment fixes, 1 stack management fix.
Documentation
- New:
docs/LANGFUSE-INTEGRATION.md— comprehensive setup, architecture, and troubleshooting guide - Updated: CHANGELOG, INSTALL.md, README.md, docker/README.md with stack.sh references and Langfuse optionality callouts
- Adversarial doc review: 12 findings caught and fixed
Stats
- 92 commits, 263 files changed, +49,557/-1,691 lines
- Includes v2.0.6 foundation (18 specs, 42 bug fixes, Parzival integration)
- 4 new specs: SPEC-019 (Infrastructure), SPEC-020 (SDK), SPEC-021 (Pipeline), SPEC-022 (Session + Grafana)
- 0 open bugs, 0 active blockers
Full changelog: v2.0.6...v2.0.7
v2.0.6: LLM-Native Temporal Memory
📚 Documentation
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🧪 Tests
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🐳 Docker
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
🪝 Hooks
- fix: Sprint 2026-02-02 - BUG-054, BUG-051, BUG-058 + backup scripts by @Hidden-History in #18
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
📊 Monitoring
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.6: LLM-Native Temporal Memory — Decay, Freshness, GitHub Sync, Parzival by @Hidden-History in #34
⚙️ Other Changes
- fix(ci): align black version and fix macOS installation tests by @Hidden-History in #7
- chore(deps): bump the pip-minor-patch group with 7 updates by @dependabot[bot] in #8
- chore(deps): update structlog requirement from <25.0.0,>=24.0.0 to >=24.0.0,<26.0.0 by @dependabot[bot] in #9
- chore(deps-dev): update isort requirement from <6.0.0,>=5.13.0 to >=5.13.0,<8.0.0 by @dependabot[bot] in #11
- chore(deps): bump the actions-all group with 10 updates by @dependabot[bot] in #17
- fix(ci): resolve BUG-064 and BUG-065 broken community workflow actions by @Hidden-History in #32
- fix(ci): fix claude-assistant.yml curl timeout killing retry loop by @Hidden-History in #35
📝 Full Changelog
Full Changelog: fd8cd44...v2.0.6
🙏 Contributors
Thank you to all contributors who made this release possible!
@Hidden-History, @dependabot[bot]
[2.0.6] - 2026-02-17
LLM-Native Temporal Memory: Decay scoring, freshness detection, progressive injection,
GitHub enrichment, security scanning, and Parzival session agent integration.
Added
Temporal Memory (Phase 1a)
- Exponential decay scoring via Qdrant Formula Query API (SPEC-001)
- Audit trail with tamper-detection (SPEC-002)
- GitHub sync engine with PR/issue/commit/CI ingestion (SPEC-003)
- Source authority classification (SPEC-004)
- Content deduplication and versioning (SPEC-005)
- Memory type routing for collection/type assignment (SPEC-006)
- Token budget management for context injection (SPEC-007)
- Docker infrastructure, install script, Grafana dashboard, CLI, and collection setup (SPEC-008)
Security & Injection (Phase 1b+1c)
- 3-layer security scanning pipeline: regex + detect-secrets + SpaCy NER (SPEC-009)
- Dual embedding routing for prose vs code content (SPEC-010)
- SOPS+age encryption for secrets management (SPEC-011)
- Progressive context injection with 3-tier bootstrap (SPEC-012)
- Freshness detection with git blame integration (SPEC-013)
Skills & Integration (Phase 1d)
- 5 new skills: /memory-purge, /search-github, /github-sync, /pause-updates, /memory-refresh (SPEC-014)
- 2 Parzival skills: /parzival-save-handoff, /parzival-save-insight for cross-session memory (SPEC-015)
- Post-sync freshness feedback loop for merged PRs (SPEC-014)
- Parzival session agent integration with Qdrant-backed memory (SPEC-015)
- Parzival session pipeline: enhanced bootstrap, GitHub enrichment, closeout dual-write (SPEC-016)
- 3 upgraded skills: /memory-status (4 new sections), /search-memory (decay scores), /save-memory (agent types) (SPEC-017)
Release Engineering (Phase 1d)
- v2.0.5 → v2.0.6 migration script with auto-backup (SPEC-018)
- Historical handoff ingestion (57+ sessions → Qdrant) (SPEC-018)
- 6 cross-phase E2E integration tests (SPEC-018)
- 3 new docs: GITHUB-INTEGRATION.md, TEMPORAL-FEATURES.md, PARZIVAL-SESSION-GUIDE.md (SPEC-018)
Parzival Integration (PLAN-007)
- 37 oversight templates now tracked in git (
templates/oversight/) — fixed.gitignoreroot-anchor pattern - CLAUDE-PARZIVAL-SECTION.md template moved to
templates/root for user CLAUDE.md integration - 8 POV reference docs added to
docs/parzival/(deprecating standalone POV repo) - Backup-on-overwrite for Parzival commands during re-install (
.bak.YYYYMMDDHHMMSS) - Agent files always deploy latest version on re-install (system-owned files)
Fixed
Install #7 Bug Fixes (BUG-112 through BUG-115)
-
BUG-112 (HIGH): Code blob sync hangs indefinitely — Added total timeout, per-file timeout via
asyncio.wait_for(), circuit breaker, and progress logging every 10 files. -
BUG-113 (MEDIUM): Embedding service timeouts with no retry — Added retry with full-jitter exponential backoff (AWS formula).
-
BUG-114 (LOW):
indexed_vectors_count=0appeared broken — Documented as expected behavior. -
BUG-115 (LOW):
install.shinitial sync has no timeout — Wrapped sync call withtimeoutcommand. -
BUG-104 through BUG-108: Collection setup errors, embedding model download, broken symlinks, Parzival commands, agent deployment fixes
-
DOC-001: Verification doc references wrong config field name
-
BUG-103: PyYAML missing from test dependencies
-
TECH-DEBT-156 through TECH-DEBT-165: Dead code, path injection, test markers, PII coverage, filename mismatch, regex false positives, import overhead, sequential loop, docstring, parameter fixes
Install #11 Bug Fix (BUG-116)
- BUG-116 (HIGH):
schema.pypassedis_tenant=Trueas direct kwarg — fixed for qdrant-client >=1.14
Install #12 Bug Sprint (BUG-118-125 + TD-167/168/170)
- BUG-118 (HIGH): SessionStart matcher hardcoded — Parzival sessions require
"startup"in matcher - BUG-119 (MEDIUM):
write_health_file()only called after first github-sync cycle - BUG-120 (HIGH): Parzival env vars missing from
settings.json - BUG-121 (MEDIUM):
pre_compact_save.pyno SecurityScanner call — OWASP LLM08 gap fixed - BUG-122 (MEDIUM): Embedding readiness gate fired after Jira sync
- BUG-124 (LOW): Grafana
start_periodinsufficient for 2GB Docker systems - BUG-125 (MEDIUM):
process_retry_queue.pynever retried — Addeddrain_pending_queue() - TD-167: Replaced
estimate_tokens()withcount_tokens()(tiktoken-based) - TD-168: Refactored duplicated lock cleanup into helper
- TD-170: CHANGELOG.md now deployed to install directory
Install #14 Bug Sprint (BUG-126)
- BUG-126 (HIGH):
settings.local.jsonoverrides staleQDRANT_API_KEY - Fixed unbound
$LOG_FILEvariable ininstall.sh - Fixed stale test assertions and env isolation
BUG-127 Field Gap Fix
- BUG-127 (HIGH): v2.0.6 payload fields only populated in migration script — fixed across all 8 storage paths
Documentation Accuracy Sprint
- 51 documentation accuracy fixes across 6 files
Changed
- Decay half-lives adjusted: agent_handoff 30→180d, added agent_insight 180d, agent_task 14d
- Installer: POSIX arithmetic, safe glob expansion, error handling improvements
- INSTALL.md: Added SOPS+age prerequisite section
Install #18 Test Results: 190/195 PASS (97.4%), 12/13 release gates passed
Full changelog: https://github.com/Hidden-History/ai-memory/blob/main/CHANGELOG.md
v2.0.5 — Jira Cloud Integration & Grafana Dashboard Overhaul
📚 Documentation
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
🧪 Tests
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
🐳 Docker
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
- v2.0.5: CI hardening, batch storage compliance, and Jira Cloud integration by @Hidden-History in #31
🪝 Hooks
- fix: Sprint 2026-02-02 - BUG-054, BUG-051, BUG-058 + backup scripts by @Hidden-History in #18
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
📊 Monitoring
- feat: v2.0.3 parallel sprint - tech debt, bugs, BP compliance by @Hidden-History in #19
- v2.0.4 Cleanup Sprint + TECH-DEBT-151 Chunking Fixes by @Hidden-History in #28
⚙️ Other Changes
- fix(ci): align black version and fix macOS installation tests by @Hidden-History in #7
- chore(deps): bump the pip-minor-patch group with 7 updates by @dependabot[bot] in #8
- chore(deps): update structlog requirement from <25.0.0,>=24.0.0 to >=24.0.0,<26.0.0 by @dependabot[bot] in #9
- chore(deps-dev): update isort requirement from <6.0.0,>=5.13.0 to >=5.13.0,<8.0.0 by @dependabot[bot] in #11
- chore(deps): bump the actions-all group with 10 updates by @dependabot[bot] in #17
📝 Full Changelog
Full Changelog: fd8cd44...v2.0.5
🙏 Contributors
Thank you to all contributors who made this release possible!
@Hidden-History, @dependabot[bot]
What's New
Jira Cloud Integration
- Jira API client — Async httpx with Basic Auth, token-based pagination, rate limiting
- ADF converter — Atlassian Document Format → plain text for embedding
- Sync engine — Full and incremental sync with SHA256 dedup, per-issue fail-open error handling
- Semantic search — Vector similarity against
jira-datacollection with project/type/status/priority/author filters /jira-syncskill — Incremental, full, per-project sync, and status check/search-jiraskill — Semantic search with filters and issue lookup modejira-datacollection — Conditional fourth collection for Jira issues and comments- 182 unit tests covering all Jira components
New Skills
/save-memory— Manually save current session to memory
Observability
- Activity logging added to search and health functions
Bug Fixes (15 bugs)
Grafana Dashboard Overhaul (BUG-083/084/085)
- 79 queries across 7 dashboards migrated from broken
increase()tochanges()for Pushgateway push-once semantics - BUG-083:
or(vector())duplicate series in memory-operations panels - BUG-084: Hook Activity
increase()always returning zero - BUG-085: NFR Performance
increase()broken on histogram buckets - Systemic fix across all remaining dashboards (system-health, memory-overview, memory-performance, classifier-health)
Other Fixes
- BUG-082:
grouping_keyadded to all 16pushadd_to_gatewaycalls - BUG-081: SessionStart matcher upgrade path in
merge_settings.py - BUG-080: Pushgateway named volume for data persistence
- BUG-079:
--buildflag fordocker compose up - BUG-078: SessionStart matcher narrowed to
resume|compact - BUG-077: Streamlit columns IndexError on fresh install
- BUG-076:
jira-datacollection in metrics reporting - BUG-075: AST chunker byte-offset encoding fix
- BUG-073:
jira_syncadded to source_hook validation whitelist - BUG-072: JQL date format (ISO 8601 → Jira format)
- BUG-071: Jira GET endpoint (POST → GET for search)
- BUG-070: Activity log read-only container guard
- BUG-069:
JIRA_PROJECTSwritten as JSON array for Pydantic Settings v2
Infrastructure
- Recovery script (
recover_hook_guards.py) — Scans and repairs BUG-066 guards with manifest support and multi-path project search - Install script hardened —
set -eprotection, Jira auto-discovery, installed project manifest - CI — Docker services and cleanup for E2E test job
- Security — Hardened AI code review workflow with 7 robustness fixes
Stats
- 58 files changed, +9,615 / -361 lines
- 61/61 comprehensive tests pass
- 8/8 Docker services healthy
- 4 Qdrant collections verified
- 10 Grafana dashboards operational
Full Changelog: v2.0.4...v2.0.5