← Changelog

The Kit Leaves the Corpus Behind

Installing the context-v plugin would have cloned 55 MB of our private history. So the kit got a fresh repo, and the corpus got a new name.

Path
changelog/2026-10-01_01.md
Authors
Michael Staton
Augmented with
Claude Code on Claude Opus 5.5
Tags
Context-Vigilance · Claude-Code · Plugin · Repo-Structure

Why Care?

We want anyone to be able to install the context-v practice into their agent harness in one step. That starts with collaborators on specific projects. What they should receive is a skill, a few commands, templates, and a starter scaffold: a few dozen kilobytes.

The plugin was specced to ship from context-vigilance-kit , and that repo had grown into something else. It held the collated context-v/ of every Lossless repo, about 55 MB of history. That history included material we had already pulled from public view because it was never ours to publish. A plugin install clones its repo, so every adopter would have received all of it.

What's New?

  • context-vigilance-kit is now this repo, with fresh history. So far it holds the plugin's design docs and this entry. The plugin itself comes next.

  • The old repo is context-v-corpus . Same history, same job: the corpus, its manifests, the Chroma and Graphiti ingesters, and its catalog site, now at lossless-group.github.io/context-v-corpus .

  • The corpus moved to the root of our tree. It walks every repo, so it no longer sits under ai-labs/ .

Why a new repo, not a cleanup

The obvious fix was to delete corpus/ and keep one repo. We measured first. About 95% of the repo's history (54.6 of ~57 MB of blobs) is corpus/ . Deleting it from the current files changes nothing about what a clone downloads. History was the weight, and history was where the regrettable material lived.

Option Verdict
Delete corpus/ at HEAD ❌ the clone still carries the history
Rely on the installer fetching only a subdirectory ❓ unverified, and it leaves the repo's public identity tangled
Rewrite history and force-push ❌ as the fix. It's a separate decision about the leak, not about the shape
Two repos, the kit with fresh history ✅

Now the boundary is structural. Nothing that was ever in the corpus can reach a plugin installer, because the kit's history never contained it.

Three audiences, three answers

  • Anyone: install the kit.

  • Collaborators on one project: the kit, plus that project's own context-v/ , which they already get by cloning the project. The corpus is a cross-project tool, not a prerequisite.

  • Collaborators across many projects: context-v-corpus .

What's Next?

  • Re-point every remaining clone of the old URL, then publish this repo to GitHub under the freed name. The order matters: until this repo claims the name, GitHub redirects it to the corpus.

  • Amend the MVP spec to match the split, then scaffold plugin/ , vendor the context-vigilance skill, and write /cv:init and /cv:new .

  • Still open: whether the corpus goes private, whether its leaked history gets purged, and whether the starter scaffold includes changelog/ .

Full reasoning: Plugin Install Would Clone the Whole Corpus.