From 5163ea3b8fa608c06d70928a3782a73a5b0f69c3 Mon Sep 17 00:00:00 2001 From: Ralph Chang Date: Thu, 14 May 2026 17:06:03 +0800 Subject: [PATCH] docs(release): prepare v1.6.3 --- CHANGELOG.md | 18 ++++++++++++++++++ RELEASE_NOTES.md | 41 +++++++++++++++++++++++++++++++++++++++++ docs/diagnostics.md | 5 +++++ package.json | 2 +- 4 files changed, 65 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c78901..ac17de2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,24 @@ 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.6.3] - 2026-05-14 + +### Added + +- Added `memory-diag quality`, a read-only review board for memory-system mechanism evidence, answerability levels, provenance classification, active-memory review surfaces, and JSON review output. +- Added producer/version-aware diagnostic facts so current instrumentation can be separated from historical or unversioned evidence when reviewing reinforcement, rejection, and eviction patterns. +- Added `memory-diag commands --memory ` for focused reinforcement command detail, including current memory status, recorded block reasons, missing block detail counts, UTC-day evidence, and privacy-safe JSON. + +### Changed + +- Made `activeMemoryDisplay` the canonical active-memory review surface in `memory-diag quality` JSON and removed duplicate active-memory `reviewCandidates` entries. +- Clarified diagnostic provenance and answerability wording so `memory-diag quality` separates facts, heuristic flags, review questions, and human judgment requirements. + +### Fixed + +- Removed duplicate active-memory candidate construction from `memory-diag quality` to prevent drift between human output and JSON surfaces. +- Kept reinforcement detail diagnostics evidence-only so blocked reinforcement attempts are shown as recorded evidence without claiming policy failure or memory loss. + ## [1.6.2] - 2026-05-11 ### Fixed diff --git a/RELEASE_NOTES.md b/RELEASE_NOTES.md index b45e122..ede427c 100644 --- a/RELEASE_NOTES.md +++ b/RELEASE_NOTES.md @@ -1,5 +1,46 @@ # Release Notes +## 1.6.3 (2026-05-14) + +### Diagnostic Quality Review Board + +This patch release focuses on safer memory diagnostics. It adds a read-only quality review board and finer reinforcement drill-downs so reviewers can inspect memory-system evidence without treating historical artifacts as current failures or turning heuristic flags into automatic cleanup decisions. + +The goal is better observability before policy changes: diagnostics show facts, provenance, answerability, and review questions, while leaving judgment to the operator. + +### What Changed + +- **Quality review board**: `memory-diag quality` now reports system-mechanism facts for rejection filters, reinforcement rules, eviction/caps, identity/dedup, and active memory content review. +- **Version/provenance context**: diagnostics distinguish current producer-instrumented events from historical or unversioned evidence where possible, and label ambiguous evidence conservatively. +- **Focused reinforcement drill-down**: `memory-diag commands --memory ` shows one memory's reinforcement command evidence, current status, recorded block reasons, missing details, and UTC-day evidence. +- **Canonical active-memory JSON surface**: `memory-diag quality --json` now uses `activeMemoryDisplay` as the single active-memory review surface instead of duplicating active memories under `reviewCandidates`. +- **Attribution-safe wording**: quality and reinforcement diagnostics avoid claiming that a block is a bug, policy failure, or cause of memory loss; they present recorded evidence and review prompts instead. + +### Upgrade Notes + +- No configuration changes are required. +- Existing workspace memory files and evidence logs remain compatible. +- If you consume `memory-diag quality --json` from unreleased builds after v1.6.2, read active-memory review data from `activeMemoryDisplay`; `reviewCandidates` is now reserved for system-mechanism candidates. + +### Useful Commands + +```bash +npx --package opencode-working-memory@1.6.3 memory-diag quality +npx --package opencode-working-memory@1.6.3 memory-diag quality --json +npx --package opencode-working-memory@1.6.3 memory-diag commands --memory +``` + +### Validation + +- `node --test --experimental-strip-types tests/memory-diag-quality.test.ts` — 53 tests passing +- `node --test --experimental-strip-types tests/memory-diag.test.ts` — 39 tests passing +- `npm run typecheck` — `TYPECHECK_PASS` +- `npm test` — 486 tests passing, `TEST_PASS` +- `npm run build` — `BUILD_PASS` +- `npm run test:pack:memory-diag` — packed tarball smoke test passed + +--- + ## 1.6.2 (2026-05-11) ### Published `memory-diag` Bin Fix diff --git a/docs/diagnostics.md b/docs/diagnostics.md index a2b13dd..d85315f 100644 --- a/docs/diagnostics.md +++ b/docs/diagnostics.md @@ -13,6 +13,7 @@ The npm package is `opencode-working-memory`; the installed bin is `memory-diag` | Where did my memory go? | `npx --package opencode-working-memory memory-diag missing` | | Why is this memory shown or hidden? | `npx --package opencode-working-memory memory-diag explain ` | | How are numbered memory commands behaving? | `npx --package opencode-working-memory memory-diag commands` | +| What reinforcement evidence exists for one memory? | `npx --package opencode-working-memory memory-diag commands --memory ` | | How do I review memory quality without automatic cleanup? | `npx --package opencode-working-memory memory-diag quality` | | Revert a numbered replacement? | `npx --package opencode-working-memory memory-diag revert --memory ` | @@ -49,6 +50,7 @@ npx --package opencode-working-memory memory-diag rejected --verbose npx --package opencode-working-memory memory-diag missing --workspace /path/to/project npx --package opencode-working-memory memory-diag status --json npx --package opencode-working-memory memory-diag commands --verbose +npx --package opencode-working-memory memory-diag commands --memory npx --package opencode-working-memory memory-diag quality npx --package opencode-working-memory memory-diag revert --memory ``` @@ -73,10 +75,13 @@ Use `memory-diag commands` to inspect `REINFORCE [M#]` and `REPLACE [M#]` outcom ```bash npx --package opencode-working-memory memory-diag commands npx --package opencode-working-memory memory-diag commands --verbose +npx --package opencode-working-memory memory-diag commands --memory ``` The report includes successful reinforcements, successful replacements, malformed commands, stale refs, protected replacement blocks, and latest command events in verbose mode. +Use `commands --memory ` when you need a focused, evidence-only reinforcement view for one memory. It reports current memory status separately from recorded reinforcement attempts, block reasons, missing block details, and UTC-day evidence without judging whether the policy is correct. + ## Dry-run Recovery `memory-diag revert` is dry-run by default. Add `--apply` only after reviewing the planned original/replacement status changes. diff --git a/package.json b/package.json index 52cd7f3..ffc3677 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "opencode-working-memory", - "version": "1.6.2", + "version": "1.6.3", "description": "Three-layer memory architecture for OpenCode with workspace memory and hot session state", "type": "module", "main": "index.ts",