chore: prepare v1.4.0 release

This commit is contained in:
Ralph Chang
2026-04-28 13:37:14 +08:00
parent 99c6b97c96
commit 5e85d098d8
3 changed files with 72 additions and 1 deletions
+21
View File
@@ -5,6 +5,27 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.4.0] - 2026-04-28
### Added
- Unified memory quality gate in `src/memory-quality.ts` as the single source of truth for all memory quality rules.
- CRITICAL MEMORY RULES in compaction prompt with explicit good/bad examples.
- Auto-supersede migration `2026-04-28-quality-cleanup` that marks low-quality compaction memories as superseded on first load.
### Changed
- Memory quality rules now apply to all memory types, not just project entries.
- Compaction prompt explicitly instructs model that most compactions should produce zero memories.
- Low-quality compaction memories (progress snapshots, implementation notes, session-internal notes) are automatically superseded during workspace memory normalization.
### Migration Notes
- Existing low-quality `source: "compaction"` entries will be marked as `superseded` once on first load after upgrade.
- Explicit and manual memories are never affected by quality cleanup.
- Superseded entries are retained on disk with `quality_cleanup` tags for audit purposes.
- Migration is idempotent and runs exactly once per workspace.
## [1.3.3] - 2026-04-28
### Fixed
+50
View File
@@ -1,5 +1,55 @@
# Release Notes
## 1.4.0 (2026-04-28)
### Memory Quality Cleanup
This minor release automatically improves memory quality for all existing users on upgrade. Low-quality compaction memories are identified and superseded without requiring manual cleanup.
### What Changed
- **Unified quality gate**: All memory types (feedback, decision, project, reference) now share the same quality rules instead of only project entries having a quality check.
- **Hardened compaction prompt**: The model is explicitly instructed that most compactions should produce zero memories, with clear good/bad examples.
- **Auto-supersede migration**: On first load after upgrade, existing low-quality `compaction` memories are automatically marked as `superseded` with quality tags. Explicit and manual memories are never affected.
### What Gets Cleaned Up
Low-quality memory patterns that are now rejected/superseded:
- Progress snapshots: "Wave 1 completed successfully", "180 tests passed"
- Session-internal notes: "The assistant reviewed feedback and updated the plan"
- Implementation notes: "Implemented X in plugin.ts"
- Commit/CI references: "Commit a762e86 contains the fix"
- Raw errors and stack traces
- Temporary status: "Currently running npm test"
### Migration Behavior
- Runs exactly once per workspace (idempotent, non-destructive)
- Only affects `source: "compaction"` entries
- Explicit/manual memories are protected
- Superseded entries retain `status: "superseded"` and quality tags for audit
- No user action required
### Upgrade Notes
- No configuration changes required.
- Existing workspace memory files are automatically cleaned on first load.
- The OpenCode config entry stays the same:
```json
{
"plugin": ["opencode-working-memory"]
}
```
### Validation
- `npm test` (196 tests)
- `npm run typecheck`
---
## 1.3.2 (2026-04-27)
### CI Compatibility Patch
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "opencode-working-memory",
"version": "1.3.3",
"version": "1.4.0",
"description": "Three-layer memory architecture for OpenCode with workspace memory and hot session state",
"type": "module",
"main": "index.ts",