Repository navigation
Add pnpm verify, a Definition of Done, and CI - #2
Merged
Merged
Conversation
cargo fmt --check failed on 8 spots in ai.rs and lib.rs. This commit only reformats them, so the next one can add the check to pnpm verify.
pnpm verify runs every check: both TypeScript projects, vitest, the web build, and cargo fmt, clippy, and tests. It takes about 5 seconds warm. It records a hash of the tree in .git/undertext/ only when every check passes and no file changed during the run, so a later hook can tell whether a change was verified. A docs-only change needs no run. A change to CI files alone is never recorded. - CLAUDE.md says what done means and to run pnpm verify. - .github/workflows/verify.yml runs it on macOS for pushes to main and pull requests. The actions are pinned by commit. - docs/agents.md says what is checked, what is only asked, and the known limits. - scripts/verify.test.mjs runs copies of the scripts in throwaway repositories. - .gitignore now covers .claude/settings.local.json. Claude Code writes it, and a change to it would void a pass.
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.
Stack, 1 of 4. Merge in order: this one, then #3, #4, #5.
What it adds
pnpm verify(scripts/verify.mjs) runs every check, in about 7 seconds warm: both TypeScript projects, vitest, the web build, and cargo fmt, clippy and tests. It records a hash of the tree only when every check passes and no file changed during the run. A failed run forgets the earlier pass. A docs-only change needs no run; a change to.github/alone is never recorded.CLAUDE.md: what done means, runpnpm verify, never weaken a check, say what wasn't verified..github/workflows/verify.yml):pnpm verifyon macOS for pushes tomainand pull requests. Actions are pinned by commit. It's a signal, not a gate:mainhas no branch protection.docs/agents.md, which grows with each PR in the stack.ai.rsandlib.rs, socargo fmt --checkcan be a step.Evidence
.only) failed exactly that check and recorded nothing.main. An untracked file with a type error failed it.scripts/verify.test.mjsrun copies of the scripts in throwaway repositories. Each was seen failing against a planted bug. They also pass with git's hook variables pointing at a decoy repo, which stays untouched.Not verified
Known limits
An edit made and undone during a run goes unseen. Verify checks files on disk, not what is staged, so a partial stage can commit a tree that was never checked; CI catches it after the push. A
.skippasses.