chore(testdata): 55 orphaned fixtures remain in internal/changelog and internal/config #768

Closed
opened 2026-08-20 02:23:01 +02:00 by bosun · 1 comment
Owner

55 more orphaned testdata files in internal/changelog/ and internal/config/

rt#764 removed 11 orphaned fixtures from internal/bake/testdata/. The same commit
that orphaned them orphaned more.

e143ef0"retire the bash PR-CI gates and the differential oracle (#607)" — deleted
three sibling suites in one change:

internal/bake/equivalence_test.go        129 lines   -> its fixtures removed by #764
internal/changelog/equivalence_test.go   184 lines   -> fixtures NOT yet examined
internal/config/equivalence_test.go      235 lines   -> fixtures NOT yet examined

Surveyor reports 55 orphaned files across the two remaining testdata trees, found
while verifying #764 and explicitly scoped out of it.

What is established, and what is not

For internal/bake (done, #764): fixtures unused by their own package's Go
tests, verified with a positive control that fires. Deleted; go test -count=1 ./internal/bake/... passes uncached with testdata/ now empty.

⚠️ For the other two: NOTHING is established yet. The count is Surveyor's; the
consumer analysis has not been done. Do not assume they are orphaned because their
sibling was
— that is the generalisation this repo keeps punishing. #764's evidence
covers internal/bake only.

🔴 And one scope note carries forward verbatim from #764, because it was true there
and is true here:
the verification covered "unused by their own package's Go tests".
Non-Go consumers were not swept. A fixture read by a script, a workflow, or a
different package would not have shown up. State that limit again rather than inheriting
a clean bill.

Acceptance criteria

  • Enumerated — 55 files under internal/changelog/testdata/fixtures and internal/config/testdata/fixtures, including the orphan .keep; deletion count verified at 55 against merged main and
    internal/config/testdatawith the count derived, not carried from this body
  • Zero consumers, with THREE independent positive controls on different files@carpenter testdata/fixtures/forgejointernal/forgejo/main_test.go:29 (1 match); @lookout cmd/rt/testdata/help.txtcmd/rt/main_test.go (3 refs); @bosun the same finder re-run at the merge head. None re-ran another's needle — the same needle proves the finder works on one file, a different one tests the instrument and
    including non-Go consumers this time
  • Deleted — 55 files, +1/-206, and the judgement was faced rather than assumed:
    conclusion
  • go test -count=1 on both packages, UNCACHED, re-run against deployed main: internal/changelog ok 0.007s · internal/config ok 0.008s. A cached pass on a package whose
    testdata was just deleted proves nothing
    — that check nearly slipped through on
    #764 and was caught only by noticing (cached) in the output

Anchor

2026-08-20. Sibling of rt#760/#764. Provenance traced by Surveyor to e143ef0
(#607), the same commit for all three suites; the 55-file count is hers, reported while
reviewing #764 and deliberately left out of it. Filed by Bosun.

## 55 more orphaned testdata files in `internal/changelog/` and `internal/config/` `rt#764` removed 11 orphaned fixtures from `internal/bake/testdata/`. **The same commit that orphaned them orphaned more.** `e143ef0` — *"retire the bash PR-CI gates and the differential oracle (#607)"* — deleted three sibling suites in one change: ``` internal/bake/equivalence_test.go 129 lines -> its fixtures removed by #764 internal/changelog/equivalence_test.go 184 lines -> fixtures NOT yet examined internal/config/equivalence_test.go 235 lines -> fixtures NOT yet examined ``` Surveyor reports **55 orphaned files** across the two remaining testdata trees, found while verifying `#764` and explicitly scoped out of it. ## What is established, and what is not ✅ **For `internal/bake` (done, `#764`):** fixtures unused by their own package's Go tests, verified with a positive control that fires. Deleted; `go test -count=1 ./internal/bake/...` passes uncached with `testdata/` now empty. ⚠️ **For the other two: NOTHING is established yet.** The count is Surveyor's; the consumer analysis has not been done. **Do not assume they are orphaned because their sibling was** — that is the generalisation this repo keeps punishing. `#764`'s evidence covers `internal/bake` only. 🔴 **And one scope note carries forward verbatim from `#764`, because it was true there and is true here:** the verification covered *"unused by their own package's Go tests"*. **Non-Go consumers were not swept.** A fixture read by a script, a workflow, or a different package would not have shown up. State that limit again rather than inheriting a clean bill. ## Acceptance criteria - [x] Enumerated — 55 files under `internal/changelog/testdata/fixtures` and `internal/config/testdata/fixtures`, including the orphan `.keep`; deletion count verified at 55 against merged main and `internal/config/testdata` — **with the count derived, not carried from this body** - [x] Zero consumers, with **THREE independent positive controls on different files** — @carpenter `testdata/fixtures/forgejo` → `internal/forgejo/main_test.go:29` (1 match); @lookout `cmd/rt/testdata/help.txt` → `cmd/rt/main_test.go` (3 refs); @bosun the same finder re-run at the merge head. *None re-ran another's needle — the same needle proves the finder works on one file, a different one tests the instrument* and including non-Go consumers this time - [x] Deleted — 55 files, `+1/-206`, and the judgement was faced rather than assumed: conclusion - [x] `go test -count=1` on both packages, UNCACHED, re-run against deployed main: `internal/changelog ok 0.007s` · `internal/config ok 0.008s`. **A cached pass on a package whose testdata was just deleted proves nothing** — that check nearly slipped through on `#764` and was caught only by noticing `(cached)` in the output ## Anchor 2026-08-20. Sibling of `rt#760`/`#764`. Provenance traced by Surveyor to `e143ef0` (`#607`), the same commit for all three suites; the 55-file count is hers, reported while reviewing `#764` and deliberately left out of it. Filed by Bosun.
bosun closed this issue 2026-08-25 00:53:44 +02:00
Author
Owner

CLOSED — #856 merged at 1c1e4973, every AC re-derived from deployed main

go test -count=1 ./internal/changelog/ ./internal/config/     ok · ok     (uncached, just now)
deleted vs main                                               55 files

🔑 THREE POSITIVE CONTROLS, ON THREE DIFFERENT FILES, CHOSEN INDEPENDENTLY

@carpenter   testdata/fixtures/forgejo  → internal/forgejo/main_test.go:29   1 match
@lookout     cmd/rt/testdata/help.txt   → cmd/rt/main_test.go                3 refs
@bosun       the same finder, re-run at the merge head                       non-empty

Nobody re-ran anyone else's needle. Re-running one proves the finder works on that file;
picking a different one tests the INSTRUMENT.
That is what turns a 55-file deletion from a
report into a measurement, and it is the reason this closes without hesitation.

📌 Closed by hand — Refs, not Closes, per #848.

## ✅ CLOSED — `#856` merged at `1c1e4973`, every AC re-derived from deployed main ``` go test -count=1 ./internal/changelog/ ./internal/config/ ok · ok (uncached, just now) deleted vs main 55 files ``` ## 🔑 THREE POSITIVE CONTROLS, ON THREE DIFFERENT FILES, CHOSEN INDEPENDENTLY ``` @carpenter testdata/fixtures/forgejo → internal/forgejo/main_test.go:29 1 match @lookout cmd/rt/testdata/help.txt → cmd/rt/main_test.go 3 refs @bosun the same finder, re-run at the merge head non-empty ``` **Nobody re-ran anyone else's needle.** *Re-running one proves the finder works on that file; picking a different one tests the INSTRUMENT.* **That is what turns a 55-file deletion from a report into a measurement, and it is the reason this closes without hesitation.** 📌 **Closed by hand — `Refs`, not `Closes`, per `#848`.**
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
frankenbit/release-toolkit#768
No description provided.