chore(lab): remove sense-lab, the bench now lives in its own project - #306
Merged
Conversation
sense-lab was a second binary in this repository: the bench that grades Sense by measuring whether an agent reaches answers it cannot reach without it. It now lives in a separate project, where it can grow its own dependencies without any of them being reachable from Sense. Keeping it here meant the product repository carried a network-capable, agent-driving, subscription-needing tool that no Sense user installs, and every boundary rule in .golangci.yml existed to keep the two apart. Moving it out retires the boundary instead of enforcing it. Removed with it: the depguard rules that held the lab away from sense/internal and its own pure core away from disk, network and exec; the cliff rule skipping a `lab(` prefix that no commit ever used (all 75 were `bench(lab):`, already skipped by `^bench`); the run-tree ignore stanza; and the second build line and ldflags in the Makefile. The complexity ledger now walks `internal cmd`, and the bench sentence in NON-GOALS.md keeps its point without naming a binary this repository no longer builds.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Sense is one binary again. The bench that grades it has moved to its own project, so this repository holds the tool people install and nothing else.
Problem
sense-lab was a second binary living here: the instrument that measures whether Sense makes an agent reach answers it cannot reach without it. It never shipped to users and was never on the install path, but it was present in every other way. It needed network access, an agent CLI and a paid subscription, it added a second build line, and it needed three depguard rule sets whose only job was keeping the two apart. Contributors met it in the setup instructions before they met anything they came to work on.
That boundary was real work to maintain, and the cheaper way to hold it is a repository line rather than a lint rule.
Summary
Removes the
lab/tree and every hook it had in the build, the linter, the changelog config and the ignore rules. The bench continues in its own project, where its dependencies cannot reach Sense at all.Changes
lab/(282 files): thesense-labbinary, its packages and tests, scenarios, catalogs and plan documentsMakefile: dropLAB_LDFLAGSand the secondgo build, somake buildproducesbin/senseonly. The complexity ledger now walksinternal cmd.golangci.yml: retire thelab-boundary,lab-pureandlab-decidesdepguard rule sets and their test exclusion. The product's ownpure-corerules are untouchedcliff.toml: drop the^lab\(skip. It was dead: no commit ever used that prefix, all 75 werebench(lab):, which^benchalready skips.gitignore: remove the run-tree stanza and/runs/CONTRIBUTING.md: remove thebin/sense-labparagraph from the build instructionsNON-GOALS.md: the paragraph separating the shipped tool from the tools used to develop it keeps its point without naming a binary this repository no longer buildsNotes for reviewers
/runs/is gone from.gitignorebecause nothing writes there anymore. Anyone with an existing localruns/tree should delete it, otherwise it turns up as untracked and, more to the point,sense scanwill start indexing it. These trees are large: a single cell measured 230MB and 19,703 files.No product code changes. No Go file outside
lab/is touched, so the query surface, the CLI and the index are exactly as they were.Test Plan
All checks run on this branch at
707b246f.make cipasses: build, coverage gate, lint, ledgermake buildproducesbin/senseand nobin/sense-lablab/depended on themmake smokepassesgit-cliff --bumped-versionreads v1.14.2 on this branch and v1.14.2 onmain, confirming no product version bump