Umgesetzt in dda80c1 (5.0.0-beta.7). instructions/wiki-status/SKILL.md trägt jetzt den session-setup.md-Verweis, den die anderen vier Content-Skills schon hatten.
Befund (behoben)
instructions/wiki-status/SKILL.md rief tools/wikitool lint auf, verlinkte aber als einziger
der fünf Content-Skills nicht instructions/session-setup.md.
Bis #76 war nicht entscheidbar, ob das ein Fehler ist: session-setup.md § Scope nannte als
Kriterium, ob ein Kommando „das Wiki verändert" — und lint schreibt nur ins gitignorte reports/. Seit #76 (2c4c2b1) nennt die Instruction die tatsächliche Ausnahme-Allowlist in tools/chemenu/commands/run_budget.py (SKIP_COMMANDS/SKIP_COMMAND_PATHS). lint steht nicht
darauf und zählt wie jedes mutierende Kommando — der fehlende Verweis war damit ein Loch, keine
korrekte Auslassung.
Ohne exportierte WIKITOOL_SESSION_ID fällt die Zählung auf getppid() zurück; eine wiki-status-Sitzung erbte damit den Zählerstand einer fremden Shell.
Entscheidung: Verweis ergänzen (Variante 1)
Die zur Wahl stehende Variante 2 — lint durch etwas Budgetbefreites ersetzen und wiki-status
tatsächlich budgetfrei machen — scheidet an der Sache aus, nicht am Aufwand:
wiki-status liest aus dem Lint-Report die Graph-Auswertung — Broken Links, Orphan Pages,
Schema-Findings, uncovered raw files (Schritt 2) und die „Most-Linked Pages"-Statistik (Schritt 3).
Kein befreites Kommando liefert die. doctor prüft die Installation (Python, ripgrep, Git,
Skills, Personalization, Generated Files, Stack-/KB-Version), nicht den Korpusgraphen; search
ist Retrieval über einzelne Seiten. Ein wiki-status ohne lint wäre kein leichterer Skill,
sondern ein leerer.
Der Einwand gegen Variante 1 — der Setup-Schritt lädt einen bewusst leichten Skill mit einem
Netzwerk-Roundtrip (wikitool sync) auf — trägt nicht: ein Statusschnappschuss auf einem
veralteten Klon ist genau die falsche Antwort, sync ist für diesen Skill also eher Merkmal als
Kosten.
Der ergänzte Text steht zwischen Trigger und Hard rule (dieselbe Reihenfolge wie in wiki-query) und nennt den Grund als Zeiger statt als zweite Kopie der Regel — die lebt in session-setup.md § Scope (Invariante 8).
Akzeptanzkriterien
instructions/wiki-status/SKILL.md trägt den session-setup.md-Verweis; gewählt wurde
Variante 1, Begründung siehe oben.
Für alle fünf Content-Skills gilt: ein Skill verlinkt session-setup.md genau dann, wenn er
mindestens ein nicht-befreites wikitool-Kommando aufruft. Geprüft über die
„wikitool commands used"-Abschnitte gegen die Allowlist: wiki-ingest (raw accept, new, publish, …), wiki-manage (dito), wiki-lint (lint, xref, …) und wiki-query
(log append, ggf. new/publish) rufen jeweils mindestens ein zählendes Kommando auf und
verlinken; wiki-status ruft lint und verlinkt jetzt ebenfalls. Kein Skill ruft
ausschließlich befreite Kommandos auf — die Aussage hat aktuell also keine „nur befreit,
also kein Link"-Seite.
tools/wikitool instructions verify (21 Instructions, 7 Skills, 14 publizierte Kopien
deckungsgleich) und tools/wikitool docs verify ohne neue Findings; pytest 1095 passed.
CI auf dda80c1: Runs 223 und 224, beide success —
einschließlich des setup-instance.md-Replays gegen einen frischen dist export.
Nicht umgesetzt (bewusst)
Die Aussage aus Kriterium 2 wird nicht maschinell geprüft. instructions verify kennt weder
die Kommandolisten der Skills noch run_budget.SKIP_COMMANDS; ein Checker, der beides verbindet,
wäre ein eigener Schnitt und ein eigenes Issue. Er ist auch nicht offensichtlich richtig: die
Kommandoliste eines Skills ist Prosa, kein Aufrufgraph, und ein Verifier, der Prosa gegen Code
prüft, meldet die erste Umformulierung als Fehler.
Herkunft
Abgespalten aus #76 (geschlossen 2026-09-09, 2c4c2b1). Der wiki-query-Teil derselben Analyse
war #75.
## Stand
Umgesetzt in `dda80c1` (`5.0.0-beta.7`). `instructions/wiki-status/SKILL.md` trägt jetzt den
`session-setup.md`-Verweis, den die anderen vier Content-Skills schon hatten.
## Befund (behoben)
`instructions/wiki-status/SKILL.md` rief `tools/wikitool lint` auf, verlinkte aber als einziger
der fünf Content-Skills nicht `instructions/session-setup.md`.
Bis #76 war nicht entscheidbar, ob das ein Fehler ist: `session-setup.md` § Scope nannte als
Kriterium, ob ein Kommando „das Wiki verändert" — und `lint` schreibt nur ins gitignorte
`reports/`. Seit #76 (`2c4c2b1`) nennt die Instruction die tatsächliche Ausnahme-Allowlist in
`tools/chemenu/commands/run_budget.py` (`SKIP_COMMANDS`/`SKIP_COMMAND_PATHS`). `lint` steht nicht
darauf und zählt wie jedes mutierende Kommando — der fehlende Verweis war damit ein Loch, keine
korrekte Auslassung.
Ohne exportierte `WIKITOOL_SESSION_ID` fällt die Zählung auf `getppid()` zurück; eine
`wiki-status`-Sitzung erbte damit den Zählerstand einer fremden Shell.
## Entscheidung: Verweis ergänzen (Variante 1)
Die zur Wahl stehende Variante 2 — `lint` durch etwas Budgetbefreites ersetzen und `wiki-status`
tatsächlich budgetfrei machen — scheidet an der Sache aus, nicht am Aufwand:
`wiki-status` liest aus dem Lint-Report die Graph-Auswertung — Broken Links, Orphan Pages,
Schema-Findings, uncovered raw files (Schritt 2) und die „Most-Linked Pages"-Statistik (Schritt 3).
Kein befreites Kommando liefert die. `doctor` prüft die **Installation** (Python, ripgrep, Git,
Skills, Personalization, Generated Files, Stack-/KB-Version), nicht den Korpusgraphen; `search`
ist Retrieval über einzelne Seiten. Ein `wiki-status` ohne `lint` wäre kein leichterer Skill,
sondern ein leerer.
Der Einwand gegen Variante 1 — der Setup-Schritt lädt einen bewusst leichten Skill mit einem
Netzwerk-Roundtrip (`wikitool sync`) auf — trägt nicht: ein Statusschnappschuss auf einem
veralteten Klon ist genau die falsche Antwort, `sync` ist für diesen Skill also eher Merkmal als
Kosten.
Der ergänzte Text steht zwischen **Trigger** und **Hard rule** (dieselbe Reihenfolge wie in
`wiki-query`) und nennt den Grund als Zeiger statt als zweite Kopie der Regel — die lebt in
`session-setup.md` § Scope (Invariante 8).
## Akzeptanzkriterien
- [x] `instructions/wiki-status/SKILL.md` trägt den `session-setup.md`-Verweis; gewählt wurde
Variante 1, Begründung siehe oben.
- [x] Für alle fünf Content-Skills gilt: ein Skill verlinkt `session-setup.md` genau dann, wenn er
mindestens ein nicht-befreites `wikitool`-Kommando aufruft. Geprüft über die
„wikitool commands used"-Abschnitte gegen die Allowlist: `wiki-ingest` (`raw accept`, `new`,
`publish`, …), `wiki-manage` (dito), `wiki-lint` (`lint`, `xref`, …) und `wiki-query`
(`log append`, ggf. `new`/`publish`) rufen jeweils mindestens ein zählendes Kommando auf und
verlinken; `wiki-status` ruft `lint` und verlinkt jetzt ebenfalls. Kein Skill ruft
ausschließlich befreite Kommandos auf — die Aussage hat aktuell also keine „nur befreit,
also kein Link"-Seite.
- [x] `tools/wikitool instructions verify` (21 Instructions, 7 Skills, 14 publizierte Kopien
deckungsgleich) und `tools/wikitool docs verify` ohne neue Findings; `pytest` 1095 passed.
CI auf `dda80c1`: Runs
[223](https://gitea.nehmer.net/torben/chemenu/actions/runs/223) und
[224](https://gitea.nehmer.net/torben/chemenu/actions/runs/224), beide `success` —
einschließlich des `setup-instance.md`-Replays gegen einen frischen `dist export`.
## Nicht umgesetzt (bewusst)
Die Aussage aus Kriterium 2 wird **nicht** maschinell geprüft. `instructions verify` kennt weder
die Kommandolisten der Skills noch `run_budget.SKIP_COMMANDS`; ein Checker, der beides verbindet,
wäre ein eigener Schnitt und ein eigenes Issue. Er ist auch nicht offensichtlich richtig: die
Kommandoliste eines Skills ist Prosa, kein Aufrufgraph, und ein Verifier, der Prosa gegen Code
prüft, meldet die erste Umformulierung als Fehler.
## Herkunft
Abgespalten aus #76 (geschlossen 2026-09-09, `2c4c2b1`). Der `wiki-query`-Teil derselben Analyse
war #75.
Body auf Endstand umgeschrieben: Der Abschnitt „Zu prüfen, bevor umgesetzt wird" ist zur getroffenen Entscheidung geworden (Variante 1, mit der Begründung, warum Variante 2 an lints Graph-Auswertung scheitert); alle drei Akzeptanzkriterien abgehakt und um die tatsächlich gelaufenen Prüfungen samt CI-Runs ergänzt; neuer Abschnitt „Nicht umgesetzt (bewusst)" für den nicht gebauten maschinellen Check. Umsetzung: dda80c1, Version 5.0.0-beta.7.
Body auf Endstand umgeschrieben: Der Abschnitt „Zu prüfen, bevor umgesetzt wird" ist zur getroffenen Entscheidung geworden (Variante 1, mit der Begründung, warum Variante 2 an `lint`s Graph-Auswertung scheitert); alle drei Akzeptanzkriterien abgehakt und um die tatsächlich gelaufenen Prüfungen samt CI-Runs ergänzt; neuer Abschnitt „Nicht umgesetzt (bewusst)" für den nicht gebauten maschinellen Check. Umsetzung: `dda80c1`, Version `5.0.0-beta.7`.
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.
Stand
Umgesetzt in
dda80c1(5.0.0-beta.7).instructions/wiki-status/SKILL.mdträgt jetzt densession-setup.md-Verweis, den die anderen vier Content-Skills schon hatten.Befund (behoben)
instructions/wiki-status/SKILL.mdrieftools/wikitool lintauf, verlinkte aber als einzigerder fünf Content-Skills nicht
instructions/session-setup.md.Bis #76 war nicht entscheidbar, ob das ein Fehler ist:
session-setup.md§ Scope nannte alsKriterium, ob ein Kommando „das Wiki verändert" — und
lintschreibt nur ins gitignortereports/. Seit #76 (2c4c2b1) nennt die Instruction die tatsächliche Ausnahme-Allowlist intools/chemenu/commands/run_budget.py(SKIP_COMMANDS/SKIP_COMMAND_PATHS).lintsteht nichtdarauf und zählt wie jedes mutierende Kommando — der fehlende Verweis war damit ein Loch, keine
korrekte Auslassung.
Ohne exportierte
WIKITOOL_SESSION_IDfällt die Zählung aufgetppid()zurück; einewiki-status-Sitzung erbte damit den Zählerstand einer fremden Shell.Entscheidung: Verweis ergänzen (Variante 1)
Die zur Wahl stehende Variante 2 —
lintdurch etwas Budgetbefreites ersetzen undwiki-statustatsächlich budgetfrei machen — scheidet an der Sache aus, nicht am Aufwand:
wiki-statusliest aus dem Lint-Report die Graph-Auswertung — Broken Links, Orphan Pages,Schema-Findings, uncovered raw files (Schritt 2) und die „Most-Linked Pages"-Statistik (Schritt 3).
Kein befreites Kommando liefert die.
doctorprüft die Installation (Python, ripgrep, Git,Skills, Personalization, Generated Files, Stack-/KB-Version), nicht den Korpusgraphen;
searchist Retrieval über einzelne Seiten. Ein
wiki-statusohnelintwäre kein leichterer Skill,sondern ein leerer.
Der Einwand gegen Variante 1 — der Setup-Schritt lädt einen bewusst leichten Skill mit einem
Netzwerk-Roundtrip (
wikitool sync) auf — trägt nicht: ein Statusschnappschuss auf einemveralteten Klon ist genau die falsche Antwort,
syncist für diesen Skill also eher Merkmal alsKosten.
Der ergänzte Text steht zwischen Trigger und Hard rule (dieselbe Reihenfolge wie in
wiki-query) und nennt den Grund als Zeiger statt als zweite Kopie der Regel — die lebt insession-setup.md§ Scope (Invariante 8).Akzeptanzkriterien
instructions/wiki-status/SKILL.mdträgt densession-setup.md-Verweis; gewählt wurdeVariante 1, Begründung siehe oben.
session-setup.mdgenau dann, wenn ermindestens ein nicht-befreites
wikitool-Kommando aufruft. Geprüft über die„wikitool commands used"-Abschnitte gegen die Allowlist:
wiki-ingest(raw accept,new,publish, …),wiki-manage(dito),wiki-lint(lint,xref, …) undwiki-query(
log append, ggf.new/publish) rufen jeweils mindestens ein zählendes Kommando auf undverlinken;
wiki-statusruftlintund verlinkt jetzt ebenfalls. Kein Skill ruftausschließlich befreite Kommandos auf — die Aussage hat aktuell also keine „nur befreit,
also kein Link"-Seite.
tools/wikitool instructions verify(21 Instructions, 7 Skills, 14 publizierte Kopiendeckungsgleich) und
tools/wikitool docs verifyohne neue Findings;pytest1095 passed.CI auf
dda80c1: Runs223 und
224, beide
success—einschließlich des
setup-instance.md-Replays gegen einen frischendist export.Nicht umgesetzt (bewusst)
Die Aussage aus Kriterium 2 wird nicht maschinell geprüft.
instructions verifykennt wederdie Kommandolisten der Skills noch
run_budget.SKIP_COMMANDS; ein Checker, der beides verbindet,wäre ein eigener Schnitt und ein eigenes Issue. Er ist auch nicht offensichtlich richtig: die
Kommandoliste eines Skills ist Prosa, kein Aufrufgraph, und ein Verifier, der Prosa gegen Code
prüft, meldet die erste Umformulierung als Fehler.
Herkunft
Abgespalten aus #76 (geschlossen 2026-09-09,
2c4c2b1). Derwiki-query-Teil derselben Analysewar #75.
Body auf Endstand umgeschrieben: Der Abschnitt „Zu prüfen, bevor umgesetzt wird" ist zur getroffenen Entscheidung geworden (Variante 1, mit der Begründung, warum Variante 2 an
lints Graph-Auswertung scheitert); alle drei Akzeptanzkriterien abgehakt und um die tatsächlich gelaufenen Prüfungen samt CI-Runs ergänzt; neuer Abschnitt „Nicht umgesetzt (bewusst)" für den nicht gebauten maschinellen Check. Umsetzung:dda80c1, Version5.0.0-beta.7.