|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to this specification will be documented in this file. |
| 4 | + |
| 5 | +## [Approved] - 2025-12-26T00:31:42Z |
| 6 | + |
| 7 | +### Approved |
| 8 | +- Spec approved by Robert Allen <zircote@gmail.com> |
| 9 | +- Status changed: in-review → approved |
| 10 | +- Ready for implementation via /claude-spec:implement observability-instrumentation |
| 11 | + |
| 12 | +## [1.1.0] - 2025-12-26 |
| 13 | + |
| 14 | +### Added |
| 15 | +- Phase 6: Local Observability Stack & Documentation (4 tasks) |
| 16 | + - Docker Compose stack with OTEL Collector, Prometheus, Grafana, Tempo, Loki |
| 17 | + - Pre-built Grafana dashboards for memory operations and hook performance |
| 18 | + - Provider documentation for 7 observability platforms |
| 19 | + - Project documentation updates |
| 20 | + |
| 21 | +- Task 1.5: SessionIdentifier for multi-tenant telemetry distinguishability |
| 22 | + - SessionInfo frozen dataclass |
| 23 | + - Privacy-preserving hashes (repo path, username) |
| 24 | + - Format: `{hostname}:{repo_hash}:{timestamp}:{uuid_suffix}` |
| 25 | + |
| 26 | +- Multi-Session Distinguishability requirements (REQUIREMENTS.md) |
| 27 | + - FR-007: Session identification in all telemetry (P0) |
| 28 | + - FR-205-208: Docker Compose, dashboards, provider docs (P2) |
| 29 | + - Session ID strategy and resource attributes |
| 30 | + |
| 31 | +- ADR-010: Session Identification Strategy |
| 32 | +- ADR-011: Local Observability Stack (Docker Compose) |
| 33 | + |
| 34 | +- Complete Docker Compose stack architecture (ARCHITECTURE.md) |
| 35 | + - Component 7: SessionIdentifier |
| 36 | + - Stack architecture with OTEL Collector configuration |
| 37 | + - Grafana datasources and dashboard provisioning |
| 38 | + - File structure for docker/ directory |
| 39 | + |
| 40 | +### Changed |
| 41 | +- Implementation plan now has 6 phases, 29 tasks (was 5 phases, 24 tasks) |
| 42 | +- Estimated effort updated to 7-10 days (was 5-7 days) |
| 43 | +- measure_duration decorator now includes session_id label |
| 44 | + |
| 45 | +## [1.0.0] - 2025-12-25 |
| 46 | + |
| 47 | +### Added |
| 48 | +- Complete requirements specification (REQUIREMENTS.md) |
| 49 | + - 6 P0 functional requirements |
| 50 | + - 6 P1 functional requirements |
| 51 | + - 4 P2 functional requirements |
| 52 | + - Non-functional requirements for performance, compatibility, reliability |
| 53 | + |
| 54 | +- Technical architecture design (ARCHITECTURE.md) |
| 55 | + - 6 core components: MetricsCollector, SpanContext, StructuredLogger, measure_duration, ObservabilityConfig, ExportBackends |
| 56 | + - Module structure under `src/git_notes_memory/observability/` |
| 57 | + - Integration points for all services and hooks |
| 58 | + - Security and performance considerations |
| 59 | + |
| 60 | +- Implementation plan with 5 phases, 24 tasks (IMPLEMENTATION_PLAN.md) |
| 61 | + - Phase 1: Core Infrastructure |
| 62 | + - Phase 2: Instrumentation |
| 63 | + - Phase 3: Structured Logging |
| 64 | + - Phase 4: CLI & Export |
| 65 | + - Phase 5: OpenTelemetry Integration |
| 66 | + |
| 67 | +- 9 Architecture Decision Records (DECISIONS.md) |
| 68 | + - ADR-001: Optional dependencies via extras |
| 69 | + - ADR-002: Unified debug levels |
| 70 | + - ADR-003: JSON structured logging as default |
| 71 | + - ADR-004: In-memory metrics with rolling window |
| 72 | + - ADR-005: Contextvars for span propagation |
| 73 | + - ADR-006: Decorator pattern for timing |
| 74 | + - ADR-007: Prometheus histogram bucket configuration |
| 75 | + - ADR-008: Graceful degradation pattern |
| 76 | + - ADR-009: Command naming convention |
| 77 | + |
| 78 | +- Codebase analysis and research findings (RESEARCH_NOTES.md) |
| 79 | + - Current logging inventory (92 statements) |
| 80 | + - Critical operation paths mapped |
| 81 | + - 5 silent failure points identified |
| 82 | + - Hook timeout configuration documented |
| 83 | + - External research on OpenTelemetry, Prometheus, structlog |
| 84 | + |
| 85 | +### Research Conducted |
| 86 | +- OpenTelemetry Python best practices for optional dependencies |
| 87 | +- Prometheus histogram bucket recommendations aligned with SLOs |
| 88 | +- structlog vs python-json-logger comparison |
| 89 | +- Codebase analysis via parallel exploration agents |
| 90 | + |
| 91 | +## [Unreleased] |
| 92 | + |
| 93 | +### Added |
| 94 | +- Initial project creation |
| 95 | +- Requirements elicitation begun |
| 96 | +- Imported requirements from GitHub Issue #10 |
0 commit comments