mirror of
https://github.com/sdwolf4103/opencode-working-memory.git
synced 2026-06-02 06:19:36 +02:00
3.3 KiB
3.3 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[1.3.0] - 2026-04-27
Added
- P0 consolidation accounting for workspace memory promotion.
- Accounting-aware deduplication (
dedupeLongTermEntriesWithAccounting). - Accounting-aware normalization (
normalizeWorkspaceMemoryWithAccounting). - Promotion classification: promoted, absorbed, superseded, rejected.
- Remove absorbed/superseded keys from rejected set to avoid duplicate rejection tracking.
- Memory quality evaluation fixtures covering accepted durable facts and rejected noisy facts.
- Sharper compaction memory extraction prompt with concrete good/bad memory examples.
- Pending journal retention: max 50 entries, 30-day TTL, automatic pruning on save.
- Plugin capability test to catch missing OpenCode hooks before release.
- CI workflow for weekly OpenCode plugin API compatibility testing.
Fixed
- Promotion accounting now clears only pending memories that survive workspace normalization/cap limits.
session.deletednow uses shared session ID extraction, matchingsession.compactedbehavior.- Absorbed duplicate pending memories are accounted for instead of retrying forever.
- Active vs superseded boundary when promoting pending memories (superseded entries no longer block promotion of same-key active memories).
- Removed unused
rejected_duplicate_lower_qualitytype.
Changed
- Clarified superseded accounting semantics: P0 emits events only, does not archive newly superseded records.
- README structure was streamlined around the automatic memory flow and ongoing memory-quality work.
- Architecture docs now describe
Memory candidates:as the primary extraction format and XML candidate blocks as legacy. - Superpowers implementation plans are no longer tracked in git.
Known Limitations
- Compatibility is tested against OpenCode plugin API
>=1.2.0 <2.0.0. - Credential redaction is best-effort; do not store secrets.
- This is working memory, not semantic search.
- Multi-process writes to the same workspace are not fully serialized.
[1.2.3] - 2026-04-26
Added
- Frozen workspace memory snapshot in
system[1]for better OpenCode prompt-cache stability. - Ephemeral hot session state and pending memories in later system messages.
- Durable pending journal so explicit memories survive until promotion.
Fixed
- Explicit memories no longer mutate the frozen workspace snapshot mid-session.
- Pending memories are promoted at safe cache-epoch boundaries.
[1.2.0] - 2026-04-25
Added
- Memory V2 three-layer architecture.
- Workspace memory for durable cross-session decisions, preferences, project facts, and references.
- Hot session state for active files, open errors, and recent context.
- Hook-based memory extraction during OpenCode compaction.
Changed
- Removed manual memory tools in favor of automatic prompt injection.
- Moved storage to
~/.local/share/opencode-working-memory/.
[1.1.0] - 2026-04-24
Changed
- Improved pre-V2 memory documentation and installation flow.
[1.0.0] - 2026-04-23
Added
- Initial release with three-layer memory architecture.
- Initial OpenCode memory integration.
- Basic memory extraction and prompt injection.