Skip to content

chore(release): v0.18.2-alpha - #441

Merged
sulthannauval merged 1 commit into
mainfrom
release/v0.18.2-alpha
Aug 8, 2026
Merged

chore(release): v0.18.2-alpha#441
sulthannauval merged 1 commit into
mainfrom
release/v0.18.2-alpha

Conversation

@sulthannauval

Copy link
Copy Markdown
Member

Summary

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:

PR What changed New surface?
#437 gate ordering inside memory_forget; tool schema unchanged no
#438 markdown backend semantics; Memory trait unchanged no
#439 memory stats output text; no new command or flag no
#440 internal projection refresh no

Label Snapshot (required)

  • Risk label (risk: low|medium|high): risk: low
  • Size label: auto-managed
  • Scope labels: core
  • Module labels: —
  • Contributor tier label: auto-managed
  • If any auto-label is incorrect, note requested correction: —

Change Metadata

  • Change type: chore
  • Primary scope: runtime

Linked Issue

Validation Evidence (required)

The three release gates from docs/contributing/release-process.md §2, which are what verify-update-cycle runs:

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
  • Evidence provided: schema_drift passes 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..main touches no file under src/config/.
  • Cargo.lock was regenerated with cargo check --offline (--locked refuses, by design). The resulting diff is one line.
  • If any command is intentionally skipped: the full test suite was not re-run here — this PR contains no source change, and main at 670d31c is green including the post-merge-only jobs (E2E, Build (Smoke), Bench Compile, and the three Features matrix variants).

Security Impact (required)

  • New permissions/capabilities? No
  • New external network calls? No
  • Secrets/tokens handling changed? No
  • File system access scope changed? No

Version metadata only. The security-adjacent improvements are in the four already-merged PRs, not here.

Privacy and Data Hygiene (required)

  • Data-hygiene status: pass
  • Redaction/anonymization notes: the changelog quotes one projected memory line from a test fixture (rotation_note: staging credentials rotate weekly) — synthetic, from tools::memory_forget::tests.
  • Neutral wording confirmation: confirmed.

Compatibility / Migration

  • Backward compatible? Yes
  • Config/env changes? No
  • Migration needed? No

Two behaviour notes worth reading before upgrading, both flagged at the top of their changelog entries:

  1. memory stats output changed shape — Total: can read unavailable (<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.
  2. Operators running [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)

  • Verified scenarios: the three release gates above; Cargo.lock diff inspected line by line; version string confirmed in Cargo.toml.
  • Edge cases checked: schema_drift deliberately run without accepting a snapshot, so a silent schema move would fail rather than be recorded.
  • What was not verified: the release artifacts themselves. Runbook §3 (manual Pub Release with publish_release=false) runs after this PR lands and before the tag is cut; §6 post-release validation — checksum, --version on 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)

  • Affected subsystems: build metadata only. No runtime code path changes in this commit.
  • Potential unintended effects: none in this commit. The blast radius of the release contents is the four merged PRs, each with its own analysis.
  • Guardrails: the tag is cut from main by scripts/release/cut_release_tag.sh, which enforces a clean tree, HEAD == origin/main, a non-duplicate tag and semver-like format. Pub Release additionally requires the tag commit to be reachable from origin/main.

Agent Collaboration Notes (recommended)

  • Agent tools used: Claude Code.
  • Workflow/plan summary: follows 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.
  • Verification focus: that the schema did not move, since that is what decides whether this release is reversible.
  • Confirmation: naming + architecture boundaries followed (AGENTS.md + CONTRIBUTING.md) — yes.

Rollback Plan (required)

  • Fast rollback: git revert 094d331 before tagging. After tagging, delete the tag and the GitHub Release; the four fixes stay on main and ship in the next version.
  • Feature flags: none.
  • Observable failure symptoms: rantaiclaw --version disagreeing with the tag, or Pub Release refusing the tag because Cargo.toml still claims the previous version — which is the exact failure this PR-before-tag ordering exists to prevent.

Risks and Mitigations

  • Risk: memory stats output is a shape change an operator's script could depend on, shipped in a patch release.

    • Mitigation: the runbook keys the bump to CLI surfaces and API contracts, not to output text, so patch is correct by this project's rule. Called out at the top of that changelog entry and in Compatibility above rather than left for someone to discover.
  • Risk: the release notes are generated from the tag, so an error in CHANGELOG.md becomes public at publish time.

    • Mitigation: the entry is reviewable here, before the tag exists. Each claim in it traces to a merged PR whose evidence is on that PR.

🤖 Generated with Claude Code

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.
@github-actions

github-actions Bot commented Aug 8, 2026

Copy link
Copy Markdown

PR intake checks found warnings (non-blocking)

Fast safe checks found advisory issues. CI lint/test/build gates still enforce merge quality.

  • Incomplete required PR template fields: summary problem, summary why it matters, summary what changed, validation commands, security risk/mitigation, privacy status, rollback plan

Action items:

  1. Complete required PR template sections/fields.
  2. Remove tabs, trailing whitespace, and merge conflict markers from added lines.
  3. Re-run local checks before pushing:
    • ./scripts/ci/rust_quality_gate.sh
    • ./scripts/ci/rust_strict_delta_gate.sh
    • ./scripts/ci/docs_quality_gate.sh

Run logs: https://github.com/RantAI-dev/RantAIClaw/actions/runs/31263915999

Detected blocking line issues (sample):

  • none

Detected advisory line issues (sample):

  • none

@github-actions github-actions Bot added docs Auto scope: docs/markdown/template files changed. dependencies Auto scope: dependency manifest/lock/policy changed. size: XS Auto size: <=80 non-doc changed lines. risk: medium Auto risk: src/** or dependency/config changes. distinguished contributor Contributor with 50+ merged PRs. labels Aug 8, 2026
@sulthannauval
sulthannauval merged commit c4be4d9 into main Aug 8, 2026
17 checks passed
@sulthannauval
sulthannauval deleted the release/v0.18.2-alpha branch August 8, 2026 16:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Auto scope: dependency manifest/lock/policy changed. distinguished contributor Contributor with 50+ merged PRs. docs Auto scope: docs/markdown/template files changed. risk: medium Auto risk: src/** or dependency/config changes. size: XS Auto size: <=80 non-doc changed lines.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant