chore(release): v0.18.2-alpha - #441
Merged
Merged
Conversation
Four memory fixes, all already on `main` (#437, #438, #439, #440). Patch rather than minor: none of them adds a CLI surface or changes an API contract. - forgetting a core memory now removes it from the prompt-injected `MEMORY.md` too; only the CLI re-projected before, so a delete through the tool, the TUI or the HTTP API left the entry reaching the model until the process restarted - the `markdown` backend replaces instead of appending, and `forget` sweeps every file it owns rather than stopping at the first match - `memory stats` labels a capped category breakdown and reports a `count()` failure as `unavailable` instead of `0` - `memory_forget` consults the autonomy gate before resolving `contains`, so a refused call is told it was refused rather than answered from memory contents Release gates, per `docs/contributing/release-process.md`: cargo test --locked --test schema_drift --test config_migration_roundtrip # 5 passed cargo test --locked --lib config::migrations # 19 passed cargo test --locked --lib sessions::migrations # 2 passed `schema_drift` passes without a snapshot update, so the config schema did not move: no migration, and the release rolls back cleanly. `Cargo.lock` regenerated with `cargo check --offline`; the diff is the one version line.
PR intake checks found warnings (non-blocking)Fast safe checks found advisory issues. CI lint/test/build gates still enforce merge quality.
Action items:
Run logs: https://github.com/RantAI-dev/RantAIClaw/actions/runs/31263915999 Detected blocking line issues (sample):
Detected advisory line issues (sample):
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
main(fix(tools): enforce the autonomy gate before memory_forget reads the store #437, fix(memory): make the markdown backend upsert, and forget every copy #438, fix(memory): stopmemory statsprinting a total its breakdown contradicts #439, fix(memory): re-project MEMORY.md on every memory write, not just the CLI's #440) but carried on no tag, so no installed build has them.docs/contributing/release-process.md§2 names —Cargo.toml,Cargo.lock,CHANGELOG.md.Cargo.lock's diff is the singlerantaiclawversion line.Patch, not minor. Per the runbook: "a new CLI surface or a changed API contract is minor; anything else is patch." None of the four adds a command, flag, route or schema field:
memory_forget; tool schema unchangedmarkdownbackend semantics;Memorytrait unchangedmemory statsoutput text; no new command or flagLabel Snapshot (required)
risk: low|medium|high):risk: lowcoreChange Metadata
choreruntimeLinked Issue
memory statsprinting a total its breakdown contradicts #439, fix(memory): re-project MEMORY.md on every memory write, not just the CLI's #440 — the contents of this releasemainValidation Evidence (required)
The three release gates from
docs/contributing/release-process.md§2, which are whatverify-update-cycleruns:schema_driftpasses without a snapshot update. Per the runbook that is the machine-checkable statement that the config schema did not move, and therefore that this release carries no migration and rolls back cleanly. Independently confirmed:git diff v0.18.1-alpha..maintouches no file undersrc/config/.Cargo.lockwas regenerated withcargo check --offline(--lockedrefuses, by design). The resulting diff is one line.mainat670d31cis green including the post-merge-only jobs (E2E,Build (Smoke),Bench Compile, and the threeFeaturesmatrix variants).Security Impact (required)
Version metadata only. The security-adjacent improvements are in the four already-merged PRs, not here.
Privacy and Data Hygiene (required)
passrotation_note: staging credentials rotate weekly) — synthetic, fromtools::memory_forget::tests.Compatibility / Migration
Two behaviour notes worth reading before upgrading, both flagged at the top of their changelog entries:
memory statsoutput changed shape —Total:can readunavailable (<cause>), and the category header can carry(most recent N of M). Anything parsing that command should be checked. It is a human-facing diagnostic, not a documented machine interface.[memory] backend = "markdown"get upsert semantics where the backend previously appended. Existing duplicate lines collapse on the next write of that key; no migration step.Human Verification (required)
Cargo.lockdiff inspected line by line; version string confirmed inCargo.toml.schema_driftdeliberately run without accepting a snapshot, so a silent schema move would fail rather than be recorded.Pub Releasewithpublish_release=false) runs after this PR lands and before the tag is cut; §6 post-release validation — checksum,--versionon the extracted binary, and the GHCR image push step — happens after publish. None of that is possible from this PR.Side Effects / Blast Radius (required)
mainbyscripts/release/cut_release_tag.sh, which enforces a clean tree,HEAD == origin/main, a non-duplicate tag and semver-like format.Pub Releaseadditionally requires the tag commit to be reachable fromorigin/main.Agent Collaboration Notes (recommended)
docs/contributing/release-process.md§2. Bump chosen by the runbook's own rule rather than by effort; the per-PR table above is the reasoning.AGENTS.md+CONTRIBUTING.md) — yes.Rollback Plan (required)
git revert 094d331before tagging. After tagging, delete the tag and the GitHub Release; the four fixes stay onmainand ship in the next version.rantaiclaw --versiondisagreeing with the tag, orPub Releaserefusing the tag becauseCargo.tomlstill claims the previous version — which is the exact failure this PR-before-tag ordering exists to prevent.Risks and Mitigations
Risk:
memory statsoutput is a shape change an operator's script could depend on, shipped in a patch release.Risk: the release notes are generated from the tag, so an error in
CHANGELOG.mdbecomes public at publish time.🤖 Generated with Claude Code