Repository navigation
rcompact v1.0.4 — neutral identifiers
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 REVIEWinstead of carrying a project-prefixed marker into every request. - Persisted identifiers now derive from the
/rcompactcommand name: strategyrcompact, entry typesrcompact-report/rcompact-review, telemetry directorytelemetry/rcompact/, andrcompact.*for the versioned globalSymbol.forkeys. They are declared once inidentifiers.ts, and a check inidentifiers.test.tsfails 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 cc4d57eca555Install pinned to the tag:
pi install git:github.com/RickyHolland/pi-rcompact@v1.0.4main 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.