feat: the test suite no longer ships, and dist upgrade deletes what a release stops shipping (#113)
CI / verify (push) Successful in 5m26s
CI / pwsh (push) Successful in 2m7s
Release / release (push) Successful in 35s

dist export leaves out tools/chemenu/tests/, tools/pytest.ini and tools/.coveragerc by exact
path - the suite tests the origin repository, and 257 of its tests failed in a fresh export.
dist upgrade now deletes a no-longer-shipped file that is unchanged since install, with any
directory that leaves empty, and blocks one changed since install like any local change
(--take-release deletes it, --keep-local keeps it). --prune is accepted and ignored.

Files changed:
- CHANGES.md
- EVALS.md
- VERSION
- instructions/mcp-read-server.md
- instructions/upgrade-instance.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/commands/dist_cmd.py
- tools/chemenu/tests/test_dist_cmd.py
- tools/chemenu/tests/test_dist_upgrade.py
- tools/requirements-mcp.txt

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2
This commit is contained in:
torbenandClaude Opus 5.5 committed 2026-10-03 20:12:32 +02:00
1 parent dd565d249f
commit 0d3499ab04
11 files changed
+479 -87

No files matched your search

+42 -1
View File
@@ -59,7 +59,7 @@ concern - readable here, never shipped as something to parse.
---
## 8.0.0-beta.32 - 2026-10-03 - Page-material passages in type-spec.md, type-guidance.md and language-boundaries.md name subtype templates
## 8.0.0-beta.33 - 2026-10-03 - The test suite no longer ships, and dist upgrade deletes what a release stops shipping
**Author:** Torben Nehmer
@@ -103,6 +103,7 @@ concern - readable here, never shipped as something to parse.
- Stack-Entwicklung in drei Phasen: stack-dev (Design), stack-build, stack-close - Übergabe über den Tracker, kein Modellwechsel in der Sitzung
- raw fetch: a sanctioned intake for a URL into incoming/
- new: a subtype gets its own page skeleton from types/<type>.<value>.md
- The test suite no longer ships, and dist upgrade deletes what a release stops shipping
**Low impact**
- version bump no longer points at version release in its output
@@ -145,6 +146,46 @@ concern - readable here, never shipped as something to parse.
- Page-material passages in type-spec.md, type-guidance.md and language-boundaries.md name subtype templates
<!-- /wikitool:bumps -->
### The test suite no longer ships, and dist upgrade deletes what a release stops shipping
`dist export` used to ship all of `tools/chemenu/tests/` with `tools/pytest.ini` and
`tools/.coveragerc` - about a quarter of every release's files. The suite tests the origin
repository: it reads that repository's own type-specs, conventions and collections, where an
instance carries templates or its own decisions, so in a freshly exported tree 257 of its tests
failed. All three now stay behind, matched by exact path, so a directory that only happens to be
called `tests` elsewhere under `tools/` still ships. `tools/README.md` drops its Tests section on
export; `tools/CONTRACT.md`, `EVALS.md`, `instructions/mcp-read-server.md` and
`tools/requirements-mcp.txt` say the suite lives in the origin repository.
`dist upgrade` used to keep a file the new release no longer ships unless `--prune` was passed.
After that run the new stamp no longer named the path, so no later upgrade could find the file
again. Now the upgrade settles it in the run that sees the file go. If the file is unchanged
since install, it is deleted, just as an unchanged file is overwritten without asking. Any
directory that this leaves holding nothing (at most a `__pycache__/` of `*.pyc`) goes with it.
If the file was changed since install, it is listed as locally changed ("no longer shipped") and
needs the usual answer: `--take-release` deletes it, and `--keep-local` keeps it as the
instance's own file. The upgrade never deletes a file that neither stamp names, and never an
instance-owned seed (`CHANGES.md`, `kb/log.md`, `.wikitool-kb.json`). `--prune` is still
accepted and does nothing (Gitea #113).
**For an existing instance:** the upgrade *into* this release still runs the installed
`dist upgrade`, which keeps no-longer-shipped files unless told otherwise. Pass `--prune` on that
one run. It then removes the test suite, `tools/pytest.ini` and `tools/.coveragerc`, and also
`instructions/private-instance.md` and `tools/chemenu/commands/upstream_cmd.py`, which this
release drops as well. If they are already left over, remove them by hand, together with any of
these three, which earlier releases dropped:
`tools/chemenu/sections.py`, `instructions/claude-code-model-selection.md`,
`tools/chemenu/commands/confidence_decay.py`.
```bash
git rm -r --ignore-unmatch tools/chemenu/tests tools/pytest.ini tools/.coveragerc \
instructions/private-instance.md tools/chemenu/commands/upstream_cmd.py \
tools/chemenu/sections.py instructions/claude-code-model-selection.md \
tools/chemenu/commands/confidence_decay.py
```
From the next upgrade on, this happens on its own.
### Page-material passages in type-spec.md, type-guidance.md and language-boundaries.md name subtype templates
Found in the closing check of the change below: three documents listed what in `types/` is page