Skip to content

rcompact v1.0.4 — neutral identifiers

Choose a tag to compare

@sudo-holla sudo-holla released this 16 Oct 17:28
· 4 commits to main since this release

rcompact v1.0.4

Cache-aware context compaction for Pi. Request markers and persisted identifiers now derive from the /rcompact command name and are declared in one place.

Changed

  • Prompt text. The evidence-review sentinel in the verification prompt reads RCOMPACT EVIDENCE REVIEW instead of carrying a project-prefixed marker into every request.
  • Persisted identifiers now derive from the /rcompact command name: strategy rcompact, entry types rcompact-report / rcompact-review, telemetry directory telemetry/rcompact/, and rcompact.* for the versioned global Symbol.for keys. They are declared once in identifiers.ts, and a check in identifiers.test.ts fails if runtime code hard-codes a persisted identifier instead of importing it.
  • License. The project-side copyright line is now Copyright (c) 2026 pi-rcompact contributors; the upstream project's own notice is unchanged.

Upgrade effect (read this before pinning)

Renamed persisted identifiers are a storage contract, so records written by earlier builds are no longer recognised by name:

  • old report/review entries stay in the transcript and render as plain custom entries (no data loss);
  • a checkpoint created before the rename is attributed to native compaction on the next run, so a pre-existing rejected-review durability check will not fire for it;
  • telemetry written before the rename stays in the previous directory — nothing reads telemetry back, so it is inert history.

Kept for compatibility: the betterCompaction settings section, the /bc command alias, reading the earlier better-compaction strategy value, and rendering the earlier better-compaction-report entry type.

Verifying this release

  • tag object: b5269c25a6b6b6db86655c225baa5a9d25500b26
  • commit: cc4d57eca555e16215a53f61dd4576e740676b9c
git ls-remote https://github.com/RickyHolland/pi-rcompact refs/tags/v1.0.4   # -> b5269c25a6b6
git cat-file -p b5269c25a6b6                                                     # -> object b5269c25a6b6, commit cc4d57eca555

Install pinned to the tag:

pi install git:github.com/RickyHolland/pi-rcompact@v1.0.4

main is protected: CI must pass, changes arrive through a merged pull request, direct pushes are rejected, force-push and deletion are blocked, and a ruleset blocks deleting released v* tags. Passing CI is not the same promise as being released, so keep pinning the tag.

Verification

npm run typecheck clean · node run-tests.mjs 154/154 · npm test exit 0 (7 suites, both payload-hook orders, zero extension errors, fake loopback provider only) · npm pack --dry-run 25 files including the runtime identifiers.ts.