feat: INSTALL.md held to the installation instructions - prerequisites lists generated from the manifest, setup questions checked by docs verify (#154)
CI / verify (push) Successful in 5m20s
CI / pwsh (push) Successful in 1m53s
Release / release (push) Successful in 37s

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SnAJ7Z3CpVD3PRbN73QtU2

Files changed:
- CHANGES.md
- INSTALL.md
- VERSION
- instructions/dev/doc-pull-through.md
- instructions/dev/stack-close/SKILL.md
- instructions/setup-instance.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/cli_contract.py
- tools/chemenu/commands/docs_verify.py
- tools/chemenu/install_doc.py
- tools/chemenu/tests/test_install_doc.py
This commit is contained in:
torben committed 2026-10-02 07:47:39 +02:00
1 parent b33088f64e
commit c77bda2004
12 files changed
+633 -69

No files matched your search

+30 -1
View File
@@ -59,7 +59,7 @@ concern - readable here, never shipped as something to parse.
---
## 8.0.0-beta.20 - 2026-10-01 - Installation only from a release, into an empty folder; upstream merge/verify and the other install paths removed (#153)
## 8.0.0-beta.21 - 2026-10-02 - INSTALL.md an die Installationsinstruktionen gekoppelt: Voraussetzungen generiert, Setup-Fragen geprüft
**Author:** Torben Nehmer
@@ -95,6 +95,7 @@ concern - readable here, never shipped as something to parse.
- Preflight as a release asset: download, verify and unpack the stack, then run the tree preflight
- trace-hook.ps1: Copilot hooks no longer open Windows' choose-an-app dialog
- Windows-Portabilität: Pfadtrenner, Zeilenenden, Encoding und Locks
- INSTALL.md an die Installationsinstruktionen gekoppelt: Voraussetzungen generiert, Setup-Fragen geprüft
**Low impact**
- version bump no longer points at version release in its output
@@ -132,6 +133,34 @@ concern - readable here, never shipped as something to parse.
- preflight.ps1: the asset-mode error helper is Exit-Asset, so PSScriptAnalyzer passes
<!-- /wikitool:bumps -->
### INSTALL.md held to the installation instructions (#154)
The installation procedure has one source, the instructions under `instructions/`; `INSTALL.md`
is the human guide beside it, in the instance's language, and since #153 it no longer retells
the steps. One shared file was rejected (D12): an agent reads every sentence as an instruction,
and the two readers need different things. What the two still share is two enumerable lists,
and both are now checked by `docs verify`:
- **Prerequisites.** `INSTALL.md` carries one generated region per platform value of
`tools/prerequisites.txt` - `<!-- wikitool:prerequisites -->` for every platform,
`<!-- wikitool:prerequisites-windows -->` for Windows only - rendered as label and minimum
version, without the manifest's English reason field. The new `wikitool docs prerequisites
[--apply]` rewrites them; it never places a missing region, since where a list belongs is the
human guide's decision, and reports it instead. A tool added to the manifest fails `docs
verify` until the region is regenerated.
- **Setup questions.** Every place `instructions/setup-instance.md` asks the user something
carries `<!-- setup-question: <key> -->` (eight today: `identity`, `remote`, `kb-language`,
`domain`, `personalization`, `environment`, `telemetry`, `task-tracker`), and the matching
bullet in `INSTALL.md` § "Was der Agent dich fragt" carries the same marker. `docs verify`
compares the two sets in both directions. Markers rather than a frontmatter list: they sit
where the question is asked, visible to whoever adds the next one, and the instruction schema
stays closed.
The prose that no check reads is session work. `instructions/dev/doc-pull-through.md` gains rows
mapping the installation instructions to `INSTALL.md` and `dev-setup.md` to `DEVELOPMENT.md`,
applied before the publish; `stack-close` step 3 reads the pair again after it and files a
deviation as a follow-up issue.
### Installation only from a release, into an empty folder; upstream merge/verify and the other install paths removed (#153)
The install run analysed in Gitea #140 failed on an instruction that contradicted itself, and the