Tom Ballard built rac-core after watching AI coding tools repeatedly ignore hard-won team choices. The open-source project, hosted at https://github.com/itsthelore/rac-core, turns requirements, architecture decisions and product knowledge into version-controlled artifacts that agents must respect.
Released in mid-June 2026, the tool already drew attention on Hacker News and X. Developers praised its deterministic approach. No fuzzy search. No embeddings. Just clean, enforceable facts served directly to tools like Claude Code and Cursor.
RAC stands for Requirements as Code. The engine stores knowledge as typed Markdown files with YAML frontmatter. Each artifact carries an ID, type, status and typed links to related items. Validation happens at write time through a CLI that runs in CI pipelines. Broken references get rejected before they reach main.
The companion product called Lore wraps this engine. It exposes a read-only MCP server. Agents query it through four deterministic tools: get_artifact, search_artifacts, get_summary and others. The model cites a specific decision ID and explains compliance. Or it doesn’t propose the change.
Consider a common scenario. A team decided on soft deletes for user records months ago. An engineer asks the agent to add hard delete support. Without RAC the model might generate the code anyway. With Lore active the agent pulls the decision artifact, quotes its rationale and suggests an alternative that honors the existing rule.
Ballard emphasized this distinction in the project README. “Give your coding agent the decisions your team already made — so it stops re-doing things you ruled out, treating product knowledge like code.” The quote captures the frustration many engineering leaders feel when agents treat every prompt as a blank slate.
Implementation stays deliberately simple. Install via pip install rac-core. Run rac quickstart to bootstrap a rac directory with templates and config. Artifacts live alongside source code in Git. Human review of pull requests remains the trust boundary. The MCP server never writes back. It only reads.
Validation proves strict. The rac gate command combines schema checks, relationship integrity, supersession rules and review cadence. Output can feed GitHub Code Scanning through SARIF. Teams see annotations directly in pull requests. One warning for a missing risks section. Zero tolerance for references to retired decisions.
Recent updates show momentum. Version 2026.06.5, dubbed the rename release, landed June 27. It improved ID migration while preserving history. The changelog lists 28 prior releases. Activity remains high with over one thousand commits on main. Early adopters experiment with import from Confluence and Notion through bundled skills.
Documentation at https://itsthelore.github.io/rac-core/ compares RAC against Open Knowledge Format. OKF provides a permissive carrier. RAC adds enforcement at commit time. The docs also position it above spec-driven development tools that focus on per-feature generation rather than persistent corporate memory.
Export options broaden adoption. Teams push the corpus to JSONL for memory stores, graph formats for visualization or a self-contained HTML portal for non-technical stakeholders. The portal offers search and citation without any backend service. Perfect for regulated environments wary of external APIs.
Security posture receives careful attention. The engine makes no LLM calls and no network requests by default. Telemetry requires explicit consent and can be disabled enterprise-wide with a single flag. One ADR, numbered 086, details the air-gapped configuration for high-compliance shops.
Interest surfaced quickly after launch. A June 28 X post from developer Tom Ballard himself highlighted rac-core alongside related agent tooling. Hacker News threads picked it up within hours. Commenters noted its contrast with RAG-heavy approaches that can hallucinate relevance or miss critical context.
Yet the timing coincides with broader industry conversation around AI agents in software delivery. Separate research shows attackers now automate ransomware through code-generation pipelines. A June 2026 report from Adaptive Security outlined how generative models accelerate polymorphic malware creation. https://www.adaptivesecurity.com/blog/ransomware-trends-2026 described variants that rewrite themselves on every deployment.
The Hacker News also reported INC ransomware claiming over 830 victims since 2023, ranking fourth among active groups in early 2026. https://thehackernews.com/2026/06/inc-ransomware-claims-830-victims-since.html Those attacks rely on speed and variation that AI tooling now supplies at scale.
Defenders face parallel pressure to move faster. BlackFog’s Q1 2026 analysis found companies disclosed only one-tenth of ransomware incidents. The vast majority stayed hidden. https://www.cybersecuritydive.com/news/ransomware-undisclosed-attacks-blackfog/819595/ Underreporting distorts risk models and slows collective learning.
In that environment, tools that inject institutional knowledge into AI workflows gain strategic weight. RAC does not prevent every mistake. It does make settled policy harder to ignore. Product managers, architects and security leads capture rationale once. Agents reference it forever. Traceability improves. Rework drops.
CLI commands support the full lifecycle. rac doctor surfaces orphaned artifacts and health gaps. rac coverage flags unscheduled requirements and unapplied decisions. rac review nudges stale items based on configurable age thresholds. rac explorer provides a terminal interface for browsing the corpus without leaving the IDE.
Python API opens further integration. Developers import rac and call parse_file, classify or find_artifacts directly inside custom scripts or larger platforms. The contract remains stable. Export formats serve as the boundary for downstream systems.
Ballard positioned the project as early but opinionated. It dogfoods its own validation in CI. Every artifact in the rac-core repository passes the same gate that users apply to their work. That consistency builds credibility.
Teams already running Cursor or Claude Desktop can add the MCP server in minutes. Configuration lives in a JSON file that points to the rac binary and repository root. Once connected, queries flow through the deterministic layer before any generative step. The model grounds first, creates second.
Challenges remain. Adoption requires discipline in writing and maintaining artifacts. Small teams may see overhead. Large organizations with fragmented documentation stand to gain most. Import tools help migrate existing wikis but cannot auto-generate missing rationale.
Still the core promise resonates. Product knowledge should not vanish into tickets or chat history. It belongs in the same Git repository that holds the code it governs. Versioned. Reviewed. Enforced. Served cleanly to the machines that now help write that code.
As AI agents take larger roles in development, the gap between human intent and machine output widens. RAC and Lore attempt to close it with structure rather than more prompts. The approach feels pragmatic. Engineers who have watched agents suggest deprecated patterns or violate explicit constraints will recognize the relief.
Whether the project grows into a standard or inspires similar systems, its central idea already lands. Treat decisions like code. Guard them the same way. Let agents read the record before they rewrite it.


WebProNews is an iEntry Publication