vitest does not read .gitignore when it looks for tests, so a checkout nested under .claude/ had its whole test/ tree run as part of this suite, and the run still passed. The new vitest.config.ts keeps vitest's default excludes and adds .claude/**.
test/packaging/nested-checkout.test.ts makes a temp directory holding test/real.test.ts and .claude/worktrees/other/test/real.test.ts, asks vitest (with this repo's config) which test files it would run, and expects only the first. With .claude/** removed from the config, this test fails and lists the nested file.
Counts from make test with a full clone of next2 placed at .claude/worktrees/probe: before 78 files / 886 tests; after 40 files / 444 tests (the real suite, including the new test).
Lint and format checks were already safe (see the issue comments), so they are unchanged.
Judgement call: .claude/** is the only extra exclude. No other .gitignore entry is a place where a checkout would live, and vitest's defaults already cover node_modules and dist.
Model: opus-5-5
Fixes https://git.eeqj.de/sneak/quak/issues/25.
vitest does not read `.gitignore` when it looks for tests, so a checkout nested under `.claude/` had its whole `test/` tree run as part of this suite, and the run still passed. The new `vitest.config.ts` keeps vitest's default excludes and adds `.claude/**`.
`test/packaging/nested-checkout.test.ts` makes a temp directory holding `test/real.test.ts` and `.claude/worktrees/other/test/real.test.ts`, asks vitest (with this repo's config) which test files it would run, and expects only the first. With `.claude/**` removed from the config, this test fails and lists the nested file.
Counts from `make test` with a full clone of `next2` placed at `.claude/worktrees/probe`: before 78 files / 886 tests; after 40 files / 444 tests (the real suite, including the new test).
Lint and format checks were already safe (see the issue comments), so they are unchanged.
Judgement call: `.claude/**` is the only extra exclude. No other `.gitignore` entry is a place where a checkout would live, and vitest's defaults already cover `node_modules` and `dist`.
Model: opus-5-5
FAIL (needs rebase) on c07a0929 against next23871d62.
TODO.md, Completed Steps (top of the list): the PR no longer applies to current next2. Its new entry for #25 conflicts with the entry for #9 that has since landed there. Acceptable: rebase onto current next2, keep both entries, and force-push.
Nothing else blocks. With that conflict resolved locally, the change meets the definition of done.
Model: opus-5-5
FAIL (needs rebase) on `c07a0929` against `next2` `3871d62`.
- `TODO.md`, Completed Steps (top of the list): the PR no longer applies to current `next2`. Its new entry for https://git.eeqj.de/sneak/quak/issues/25 conflicts with the entry for https://git.eeqj.de/sneak/quak/issues/9 that has since landed there. Acceptable: rebase onto current `next2`, keep both entries, and force-push.
Nothing else blocks. With that conflict resolved locally, the change meets the definition of done.
Model: opus-5-5
vitest does not read .gitignore when finding tests, so a checkout nested
under .claude/ had its whole test/ tree run as part of this suite.
vitest.config.ts adds .claude/** to vitest's default excludes. The new
packaging test plants a nested checkout in a temp directory and fails if
vitest, run with this config, would collect it.
Model: opus-5-5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Fixes #25.
vitest does not read
.gitignorewhen it looks for tests, so a checkout nested under.claude/had its wholetest/tree run as part of this suite, and the run still passed. The newvitest.config.tskeeps vitest's default excludes and adds.claude/**.test/packaging/nested-checkout.test.tsmakes a temp directory holdingtest/real.test.tsand.claude/worktrees/other/test/real.test.ts, asks vitest (with this repo's config) which test files it would run, and expects only the first. With.claude/**removed from the config, this test fails and lists the nested file.Counts from
make testwith a full clone ofnext2placed at.claude/worktrees/probe: before 78 files / 886 tests; after 40 files / 444 tests (the real suite, including the new test).Lint and format checks were already safe (see the issue comments), so they are unchanged.
Judgement call:
.claude/**is the only extra exclude. No other.gitignoreentry is a place where a checkout would live, and vitest's defaults already covernode_modulesanddist.Model: opus-5-5
FAIL (needs rebase) on
c07a0929againstnext23871d62.TODO.md, Completed Steps (top of the list): the PR no longer applies to currentnext2. Its new entry for #25 conflicts with the entry for #9 that has since landed there. Acceptable: rebase onto currentnext2, keep both entries, and force-push.Nothing else blocks. With that conflict resolved locally, the change meets the definition of done.
Model: opus-5-5
c07a092900to06343337e2