RAC 2026.6.4 - the "unlock" release #185
tcballard
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Your recorded knowledge stops living only in your repo. It travels out to RAG and graph backends, grounds five different coding agents, and rides a dated release line that finally says when a build was cut instead of making a compatibility promise it never kept.
Why "unlock"
For a long stretch RAC was a closed loop: author Markdown, validate it, enforce it in CI - all inside one repository. The knowledge was real and checked, but it was trapped. This release opens every door it was sitting behind. Your corpus exports into the systems your team already runs, your grounding works on whatever agent your team already uses, and releases resume on a scheme that doesn't lie about what they are. Same knowledge you already wrote - now it goes places.
Dates, not false promises
RAC now versions on CalVer (
YYYY.MM.N, ADR-076). The number says when a build was cut. It was never a SemVer compatibility claim the project actually kept and compatibility lives where it always did, onschema_version(ADR-007), and thevX.Y.Zroadmap numbers continue as internal planning scope-fences. This is a one-way cutover: every priorvX.Y.Ztag is retained, and2026.6.4supersedesv0.19.0as the latest release. A fail-closed publish gate (python -m rac.release) rejects any tag that isn't a well-formedYYYY.MM.Nor that lacks a changelog entry, so a malformed or undocumented release can never reach PyPI.Your knowledge, out of the repo
The corpus is no longer something you only validate in place. Two export projections hand it to the systems that consume knowledge:
--documentsemits an ingestion-ready JSONL projection any RAG or memory backend reads directly — one record per artifact, classified, withid/type/statusstamped, no chunking to babysit.--graphhands a graph backend RAC's validated relationship topology (ADR-074) rather than edges inferred from prose: the connections you already checked in CI become the connections the graph stores. You re-author nothing, and you trust no heuristic to rebuild links you already declared.Grounding on the agent you actually use
RAC ships worked, reproducible-from-the-file-alone setups for five coding agents. Each reads the generated agent-context file natively and connects to the read-only
loreMCP server:AGENTS.md, MCP via.amp/settings.jsonCLAUDE.md, MCP viaclaude mcp add/.mcp.json, plus the bundledrac-artifactsskill and optional pre-edit hookAGENTS.md, MCP via~/.codex/config.tomlAGENTS.md, MCP via.cursor/mcp.json.github/copilot-instructions.md, MCP via.vscode/mcp.jsonOne corpus, every major agent. The grounding demo (
examples/guide/) runs the same task twice — once unconnected, once withlore— and the connected run cites a recorded decision the unconnected run violates. Enforcement stays separate and agent-agnostic: RAC supplies context and checks after the edit (ADR-067), so the post-edit gate protects you whichever agent wrote the diff.See where the graph is thin, and how it's used
rac coveragelists the gaps that matter — requirements no roadmap schedules, decisions nothing applies, roadmaps scoped to no requirement — advisory, always exit 0.rac usageis local, content-free telemetry: it records that a command ran and how it fared, never a path, query, argument, or byte of your repository, and only with your opt-in. Andget_relatednow goes multi-hop: an agent can request a bounded neighbourhood (depth > 1) — cycle-safe, deterministic, capped to the same response budget — so it sees a decision's region of the graph, not just its nearest edges.A place to read, not just lint
The Explorer TUI was reimagined:
pip install "requirements-as-code[explorer]" rac explorerThree themes —
lantern(dark default),parchment(warm light), andhigh-contrast— switch in/settingsand persist, with theme-aware, accessible type tags where every signal carries text, not just colour. A portfolio list (/list) gives a dense, sortable table of the whole corpus with live fuzzy search (ctrl+f), status filtering, and sort cycling. An optional split master-detail layout pairs that list with a persistent reading pane, so scanning and reading happen together — the pattern that suits review and cross-referencing.Also in this release (the v0.23 hardening line)
The grounding claim moved from "trust us" to legible and proven:
search_artifacts/get_relatedand viarac find --explain.rac doctor— one command diagnoses a corpus and emits paste-ready fixes for malformed front matter, broken or cyclic relationships, orphans, duplicate ids, and injection-style content.get_artifact— git-derived author and dates plus reconstructed status history, so an agent can cite who decided and when.SECURITY.md) — artifact content is untrusted input made authoritative by human PR review (ADR-065); the read-only server protects the store, the PR gate protects the agent.rac eval --check, with a committed baseline and a hard-negative check) turns the claim into a CI regression guard.Upgrading
Everything is additive. Existing commands, JSON contracts, and exit codes work exactly as before; the new exports, the coverage and usage commands, multi-hop
get_related, and the Explorer themes are all opt-in. The one change to know is the version scheme itself — releases are dated now, and2026.6.4is the latest, newer than everyv0.xthat came before it.This discussion was created from the release RAC 2026.6.4 - the "unlock" release.
All reactions