From fb6e7f67aff978d5fcccf419e2a824cf6796912d Mon Sep 17 00:00:00 2001 From: aarroyo Date: Sat, 22 Aug 2026 21:49:37 -0500 Subject: [PATCH] chore(cli): stop leaving e2e scratch as untracked "fixtures" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `src/sdk/cli/test/fixtures/` holds no authored fixture. Every directory in it — drift-repo, test-repo, empty-repo, arch-repo, sdlc-core, parity-test — is built by an `fs.ensureDir` in the e2e that uses it, and most are removed again in `afterAll`. Nothing under the path has ever been tracked. They survive only when a run is interrupted before its teardown, and then sit as untracked forever: today's tree carried drift-repo's generated evolith.yaml and a drift-history.json stamped 2026-08-21. That is the exact shape the root .gitignore already warns about two entries up — CLI artefacts that "se commitearon por accidente una vez y fosilizaron como si fueran taxonomia". The comment names the trap in the other direction too: a real committed fixture dropped in here would be ignored silently, so it belongs in test-project/ or needs a deliberate force-add. Verified by recreating the scratch tree: `git status` reports only this file, `git check-ignore -v` names the rule, and the tracked specs under `test/` are untouched by the pattern. Co-Authored-By: Claude Opus 5 --- src/sdk/cli/.gitignore | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/sdk/cli/.gitignore b/src/sdk/cli/.gitignore index 4e9ec449d..88cfae41c 100644 --- a/src/sdk/cli/.gitignore +++ b/src/sdk/cli/.gitignore @@ -10,6 +10,19 @@ coverage/ AGENTS.md MASTER_INDEX.md +# E2E scratch trees. Despite the name, NOTHING under test/fixtures/ is authored: +# every directory in it (drift-repo, test-repo, empty-repo, arch-repo, sdlc-core, +# parity-test) is built by an `fs.ensureDir` in the e2e that uses it, and most are +# removed again in `afterAll`. They survive only when a run is interrupted before +# its teardown — which then leaves generated YAML and drift-history JSON showing as +# untracked forever, inviting a `git add -A` to fossilise them as if they were +# checked-in samples. +# +# If a REAL committed fixture is ever needed, put it somewhere else — the tracked +# ones live in src/sdk/cli/test-project/ — or force-add it deliberately. An +# authored file dropped in here would be ignored silently. +test/fixtures/ + # Jest cache .jest-cache/