Files
opencode-working-memory/CHANGELOG.md
T
2026-04-27 19:57:21 +08:00

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.deleted now uses shared session ID extraction, matching session.compacted behavior.
  • 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_quality type.

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.