Releases: MoonCaves/rawclaw
Release list
v0.7.1
Changed
archive inithelp and the README now steer you to a remote.rawclaw archive init --helpand the README explain the choice a first-time user actually faces: a bare repo over SSH on a box you control is the most private option (transcripts never leave your network, nothing to encrypt); a private GitHub / GitLab / Gitea repo is convenient but stores transcripts unencrypted, so it must stay private. Both also note that adding a second machine is the sameinitcommand, and that machines sharing a hostname need a distinct--name. Docs only — no behavior change.
v0.7.0
Added
-
setupnow points at the optional transcript archive. After wiring the discovery hooks,setupprints one non-blocking line pointing atrawclaw archive init <your-private-repo>— so the cross-machine backup/sync feature is discoverable withoutsetupever provisioning it (it wires local hooks;archive initstays a separate, opt-in step). Never a prompt. -
archive initaccepts a remote shorthand.user/repoexpands togit@github.com:user/repo.git, a bareusertogit@github.com:user/rawclaw-transcripts.git, andhost/user[/repo](GitLab, Codeberg, sourcehut, …) likewise — always to the SSH form, since rawclaw runs git with credential prompts disabled. A full URL (git@…,https://…,ssh://…) is used as-is. The resolved remote is printed so you see exactly what it became.
v0.6.1
Fixed
setup's discovery hooks now fire regardless of PATH. The generated SessionStart/SessionEnd hook scripts gated on a bare command -v rawclaw. On any machine whose hook PATH doesn't include the binary's directory (e.g. ~/.local/bin when it isn't on a non-login shell's PATH), that gate failed and the hook silently no-opped: setup reported success, but the discovery banner never printed and the agent never learned rawclaw was installed.
setup now bakes the binary's absolute path into each hook (via os.Executable), falls back to a command -v PATH lookup if that path later moves (a reinstall or package upgrade), and degrades to a silent no-op only when neither resolves. A hook that was wired but dead now fires.
Re-run rawclaw setup to refresh the installed hooks.
v0.6.0
v0.6.0
Added
- Topic tags and verdicts now sync across your machines. Tags — the topic segments a session is split into, plus a
routineverdict — used to live only in each machine's local index. They now ride the transcript archive: each machine writes its tags to per-machine files beside its transcripts,archive push/pullcarry them, and a pull ingests every other machine's tags. If two machines tag the same session differently, ingest keeps one deterministic winner and surfaces the disagreement inrawclaw archive status— and every machine's tag file is retained, so nothing is lost. Agent tagging labor now travels with the archive the way raw transcripts already do.
Fixed
- Codex accepts the rawclaw discovery banner again. On Codex,
setup's SessionStart hook printed a[rawclaw]…banner that Codex's hook parser rejected as invalid JSON (it treats stdout starting with[as a JSON object), so the banner was silently dropped. The Codex hook now delivers the banner as a proper SessionStart hook-JSON object; Claude Code is unchanged. Re-runrawclaw setupto refresh the installed hook. (Usespython3for the JSON encoding; if it's absent the banner is skipped rather than erroring the hook.) - The tagging queue only accepts sessions that produced a transcript. Claude Code fires SessionEnd for ephemeral sessions too — opened and closed without a message ever landing — which flooded the queue with ids nothing could resolve. The SessionEnd hook now queues only when the
transcript_pathClaude Code hands it exists on disk. Re-runrawclaw setupto refresh the installed hook.
v0.5.0
Unified multi-machine sync and backup for your agent transcripts.
rawclaw archive— push transcripts to any private git repo; pull every other machine's.- Search covers all machines — plain
rawclaw "query"finds sessions from every machine, labeled by origin. rawclaw live <machine>— watch another machine's session as it happens, over SSH.- Sync runs itself — background push/pull after each search; optional hourly timer.
- Deletes require user approval — and only explicit deletes ever propagate.
- Automatic topic tagging — every session gets tagged at its topic-change points with concept keywords;
rawclaw topics "<concept>"drops an agent right where the conversation pivoted.
Full details in CHANGELOG.md.
v0.4.0
Changelog
Features
- 8771a29: feat: rawclaw setup — wire the discovery hook into Claude Code and Codex (@MoonCaves)
v0.3.0
Changelog
Features
- 214e1f9: feat: durable retention — sessions outlive Claude Code's 30-day cleanup (@MoonCaves)
Others
- 948175f: docs(changelog): cut 0.3.0 (@MoonCaves)
v0.2.0
Changelog
Features
- 32c45fe: feat: add --timeout self-bounding watchdog (never hang for agents) (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 1ff8902: feat: add --yes/-y to delete to skip the y/N prompt for non-interactive use (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- d91e1d2: feat: add
rawclaw upgradeself-update (checksum-verified, atomic, rollback) (MoonCaves 144150401+MoonCaves@users.noreply.github.com) - 49c0991: feat: add version subcommand + --version flag, stamp build via ldflags (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
Bug fixes
- a12570f: fix(agent): honor scope flags, route NOT, and signal truncation in agent search (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 9c94ffe: fix(agent): resolve a session ref to its parent, not its own subagent — agent read/outline were broken for any session that spawned a subagent (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 6361b43: fix(brief): count only top-level sessions in the --brief --this-project scope line (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- a61e247: fix(install): drop the removed skill step (binary-only install; --help is the doc) (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 5d97e3b: fix(query): make identifier* prefixes, NOT exclusion, and /-paths searchable (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 099ed40: fix(scopes): make codexDBPath injective — end intra-Codex cross-prune (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- a5703d5: fix(scroll): resolve a bare session UUID to its parent, not its own subagent (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 5938dcd: fix(timeout): don't let the 30s watchdog kill a legitimate upgrade download (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- d78805b: fix: browse deadlock on the single-conn pool — drain session rows before per-session preview queries; add hidden --this-desk back-compat alias (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
Others
- 09c386a: RawClaw v1 — fast keyword search over your Claude Code sessions (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 00fbfe9: agentproto(1a): RRF vector-fusion parity in Search (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- dc6e94e: agentproto(F4): drowning-steer when terms are corpus-common (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 639eac3: agentproto(F4): ground the drowning-steer in the github-search atlas (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- eb756cd: agentproto: graceful never-silent validation for --role/--sort on the agent path (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 016389e: agentproto: never-silent search truncation envelope + honor --sort on agent path (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 0490f41: agentproto: recency hint when relevance buries a much-newer match (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 92d8745: build: restore the go 1.24 floor (align x/* down to the sibling tool's working set) (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 67c6d1c: cli(1b): flip the default to the agent envelope (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 1c7ecdc: cli(2a): promote read + outline to top-level verbs (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- b0daabf: cli/agentproto/view/render(2b): delete the agent namespace + scroll surface (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 6efdce8: cli/render/view(1c): delete the human output surface (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 0ae111c: cli: Codex-aware resume (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- d1acd37: cli: add --source claude|codex filter (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 4a1d8c1: codex: fix stats blindness + index dropped tool/search records (audit) (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 6f17592: docs(2b-2): kill the bundled skill; --help is the doc (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 7fcf0b4: docs(changelog): cut 0.2.0 (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- c79f953: docs(changelog): record multi-source, topic layer, and drowning-steer under Unreleased (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 39e6671: docs(redact): drop the third-party brand from the design note — it's a standard prefilter-gates-regex technique (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- d0c6d39: docs(roadmap): scope the recap section to rawclaw's two layers (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 8dbaeef: index: add source-agnostic container ingestion (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 41b8265: index: document the complete-set prune contract for EnsureIndexedContainers (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 93d9523: read: return the chosen message WHOLE (anchor uncapped); neighbors stay snippets (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- e90494c: readme: drop the paw emoji from the wordmark (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 2cea4aa: refactor(upgrade): drop golang.org/x/mod — hand-roll semver compare (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- d9f39d3: refactor(upgrade): inline the atomic-replace seam, drop minio/selfupdate (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- a214c8d: revert: restore internal/model — it's the bring-your-own-runtime ingest PORT, not dead code (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- e65028b: roadmap: promote fork/here (WANTED) + add session-recap design (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 1178e1f: scopes: wire Codex into the search path via a source-agnostic scope layer (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- eb5a9cd: source: add pluggable Source port + Claude and Codex adapters (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- f945cbb: test(codex): cover uncovered normalize branches + ordinal/detect edges (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 930dc60: test(scopes): adversarial edge-case guard — encodeCWD non-injective cross-prune (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 83c4ef7: topic layer (1/2): reindex-safe schema + search plumbing (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 6faabd7: topic layer (2/2): the Haiku topic tagger + 'rawclaw tag' command (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- 60f8ac1: topic tagging: agent-feeds-it (rawclaw calls no LLM) (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- f8b3e33: topics finder: OR the query terms (recall over precision) (MoonCaves 144150401+MoonCaves@users.noreply.github.com)
- b4d7e4b: topics: delayed disclosure, not search ranking (MoonCaves 144150401+MoonCaves@users.noreply.github.com)