Befund (behoben in 7.1.0-beta.30, Commit 6c0ebcc; Nachzug 7.1.0-beta.31, dd885db)
Die cli_contract-Varianten von new in tools/chemenu/commands/new_page.py (gerendert in wikitool new -h und in tools/CONTRACT.md) nannten für zwei Varianten einen flachen Zielpfad:
Variante
Notiz vorher
Tatsächlich (Type-Spec)
Ergebnis
new entity
kb/entities/<subdir>/<Name>.md
layout: über entity_type
stimmte; Herkunft von <subdir> ergänzt
new concept
kb/concepts/<Name>.md
kb/concepts/<subdir>/<Name>.md über concept_type
korrigiert
new source
kb/sources/Source - <Name>.md
kb/sources/<subdir>/Source - <Name>.md über source_type
korrigiert
new comparison
kb/comparisons/X vs Y.md
types/comparison.md hat kein layout:
stimmte; unverändert
new project
kb/gtd/<bereich>/<Name>.md
layout: über responsibility
stimmte; unverändert
Aufgefallen beim Nachtrag zu #147 (instructions/gates.md nannte zwei Konzeptseiten mit flachem Pfad). new hat nie an die falsche Stelle geschrieben; falsch war nur die Aussage, die ein Agent als Tatsache darüber liest, wo eine Seite liegt.
Bei der Prüfung zusätzlich gefunden und mitbehoben: Die usage von new source nannte weder source_type (Pflichtfeld seit #66) noch fidelity/authority (von new erzwungen seit #67). Wörtlich übernommen endete sie also immer mit Exit 1. Sie nennt jetzt alle drei.
Im Nachzug (dd885db) gefunden: Zwei Code-Kommentare trugen dieselbe veraltete Annahme, layout: gebe es „currently just“ für Entities: der Modul-Docstring von new_page.py und der von TypeResolver.get_layout. Beide nennen jetzt die vier ausgelieferten Type-Specs mit layout:. Sie sind eine ebenso plausible Quelle für die flache Pfadannahme wie die Notiz.
Entscheidungen (umgesetzt)
Notiz-Formulierung: der Pfad mit <subdir> plus der Halbsatz - `<subdir>` from `<field>` via the type-spec's `layout:` . Das bleibt richtig, auch wenn eine Instanz ihre Page-Type-Specs mit anderen Verzeichnisnamen füllt.
Test an die Notiz gekoppelt, nicht an einen fest verdrahteten Pfad. Die bestehenden Pfadtests prüfen den Code gegen einen Pfad im Test und hätten diese Drift nicht bemerkt. Der neue Test liest die Notiz aus dem Record, macht aus dem Pfad in Backticks ein Muster (<Name> → der konkrete Name, andere Platzhalter → ein Pfadsegment, führendes kb/ abgeschnitten) und prüft dagegen den Pfad, den new im kb_dir-Fixture tatsächlich schreibt. Umgesetzt als fünf einzelne Tests (einer je Typ) statt einer Parametrisierung, dazu ein Vollständigkeitstest.
Akzeptanzkriterien
Die Notizen von new entity, new concept und new source lauten wie oben. Die usage von new source nennt source_type, fidelity und authority. comparison und project sind unverändert.
Notizgekoppelte Pfadtests (test_new_{entity,concept,source,comparison,project}_path_matches_its_record_note) sind grün. Gegen die alten Notizen waren concept und source rot, entity, comparison und project grün. Verifiziert mit temporär zurückgesetzten Notizen.
Vollständigkeitstest test_every_writes_kb_variant_has_a_path_case: Jede Variante mit Writes `kb/ hat einen Testfall.
Der Aufruf mit genau den Feldern der korrigierten new source-Synopsis gelingt (test_new_source_path_matches_its_record_note_and_its_usage_is_runnable). Der Test parst die usage-Zeile nicht selbst, sondern übergibt dieselben Felder.
tools/wikitool docs contract --apply ist gelaufen; tools/CONTRACT.md stimmt mit dem Record überein; docs verify, instructions verify, pytest (1550) grün.
Changelog über version bump --patch --impact low (7.1.0-beta.30, Nachzug 7.1.0-beta.31).
Verifiziert
CI auf 6c0ebcc: Runs 420 und 421 grün. CI auf dd885db: Runs 422 und 423 grün. Zum Ablauf (roher git commit bei 6c0ebcc) siehe die Anmerkung in #148.
## Befund (behoben in `7.1.0-beta.30`, Commit 6c0ebcc; Nachzug `7.1.0-beta.31`, dd885db)
Die `cli_contract`-Varianten von `new` in `tools/chemenu/commands/new_page.py` (gerendert in `wikitool new -h` und in `tools/CONTRACT.md`) nannten für zwei Varianten einen flachen Zielpfad:
| Variante | Notiz vorher | Tatsächlich (Type-Spec) | Ergebnis |
|---|---|---|---|
| `new entity` | `kb/entities/<subdir>/<Name>.md` | `layout:` über `entity_type` | stimmte; Herkunft von `<subdir>` ergänzt |
| `new concept` | `kb/concepts/<Name>.md` | `kb/concepts/<subdir>/<Name>.md` über `concept_type` | korrigiert |
| `new source` | `kb/sources/Source - <Name>.md` | `kb/sources/<subdir>/Source - <Name>.md` über `source_type` | korrigiert |
| `new comparison` | `kb/comparisons/X vs Y.md` | `types/comparison.md` hat kein `layout:` | stimmte; unverändert |
| `new project` | `kb/gtd/<bereich>/<Name>.md` | `layout:` über `responsibility` | stimmte; unverändert |
Aufgefallen beim Nachtrag zu #147 (`instructions/gates.md` nannte zwei Konzeptseiten mit flachem Pfad). `new` hat nie an die falsche Stelle geschrieben; falsch war nur die Aussage, die ein Agent als Tatsache darüber liest, wo eine Seite liegt.
**Bei der Prüfung zusätzlich gefunden und mitbehoben:** Die `usage` von `new source` nannte weder `source_type` (Pflichtfeld seit #66) noch `fidelity`/`authority` (von `new` erzwungen seit #67). Wörtlich übernommen endete sie also immer mit Exit 1. Sie nennt jetzt alle drei.
**Im Nachzug (dd885db) gefunden:** Zwei Code-Kommentare trugen dieselbe veraltete Annahme, `layout:` gebe es „currently just“ für Entities: der Modul-Docstring von `new_page.py` und der von `TypeResolver.get_layout`. Beide nennen jetzt die vier ausgelieferten Type-Specs mit `layout:`. Sie sind eine ebenso plausible Quelle für die flache Pfadannahme wie die Notiz.
## Entscheidungen (umgesetzt)
- **Notiz-Formulierung:** der Pfad mit `<subdir>` plus der Halbsatz ``- `<subdir>` from `<field>` via the type-spec's `layout:` ``. Das bleibt richtig, auch wenn eine Instanz ihre Page-Type-Specs mit anderen Verzeichnisnamen füllt.
- **Test an die Notiz gekoppelt, nicht an einen fest verdrahteten Pfad.** Die bestehenden Pfadtests prüfen den Code gegen einen Pfad im Test und hätten diese Drift nicht bemerkt. Der neue Test liest die Notiz aus dem Record, macht aus dem Pfad in Backticks ein Muster (`<Name>` → der konkrete Name, andere Platzhalter → ein Pfadsegment, führendes `kb/` abgeschnitten) und prüft dagegen den Pfad, den `new` im `kb_dir`-Fixture tatsächlich schreibt. Umgesetzt als fünf einzelne Tests (einer je Typ) statt einer Parametrisierung, dazu ein Vollständigkeitstest.
## Akzeptanzkriterien
- [x] Die Notizen von `new entity`, `new concept` und `new source` lauten wie oben. Die `usage` von `new source` nennt `source_type`, `fidelity` und `authority`. comparison und project sind unverändert.
- [x] Notizgekoppelte Pfadtests (`test_new_{entity,concept,source,comparison,project}_path_matches_its_record_note`) sind grün. Gegen die alten Notizen waren concept und source rot, entity, comparison und project grün. Verifiziert mit temporär zurückgesetzten Notizen.
- [x] Vollständigkeitstest `test_every_writes_kb_variant_has_a_path_case`: Jede Variante mit ``Writes `kb/`` hat einen Testfall.
- [x] Der Aufruf mit genau den Feldern der korrigierten `new source`-Synopsis gelingt (`test_new_source_path_matches_its_record_note_and_its_usage_is_runnable`). Der Test parst die `usage`-Zeile nicht selbst, sondern übergibt dieselben Felder.
- [x] `tools/wikitool docs contract --apply` ist gelaufen; `tools/CONTRACT.md` stimmt mit dem Record überein; `docs verify`, `instructions verify`, `pytest` (1550) grün.
- [x] Changelog über `version bump --patch --impact low` (`7.1.0-beta.30`, Nachzug `7.1.0-beta.31`).
## Verifiziert
CI auf 6c0ebcc: Runs 420 und 421 grün. CI auf dd885db: Runs 422 und 423 grün. Zum Ablauf (roher `git commit` bei 6c0ebcc) siehe die Anmerkung in #148.
Verwandt: #147, #142.
Changelog:comparison gegen types/comparison.md geprüft: flach, Notiz stimmt. Neu im Umfang: Die usage von new source lässt die Pflichtwerte source_type, fidelity und authority weg und ist deshalb nicht ausführbar. Entschieden sind außerdem die Notiz-Formulierungen und das Testdesign: Der Test ist an die Notiz aus dem Record gekoppelt statt an einen fest verdrahteten Pfad, dazu kommt ein Vollständigkeitstest über alle Writes kb/-Varianten. Status: umsetzungsreif.
**Changelog:** `comparison` gegen `types/comparison.md` geprüft: flach, Notiz stimmt. Neu im Umfang: Die `usage` von `new source` lässt die Pflichtwerte `source_type`, `fidelity` und `authority` weg und ist deshalb nicht ausführbar. Entschieden sind außerdem die Notiz-Formulierungen und das Testdesign: Der Test ist an die Notiz aus dem Record gekoppelt statt an einen fest verdrahteten Pfad, dazu kommt ein Vollständigkeitstest über alle `Writes kb/`-Varianten. Status: umsetzungsreif.
Changelog: Body auf Endstand gebracht: alle Kriterien abgehakt. Ergänzt um den Nachzug dd885db, der zwei Code-Kommentare mit derselben „nur Entities haben layout:“-Annahme korrigiert. Umsetzung als fünf Einzeltests statt Parametrisierung vermerkt; CI-Runs 420–423 grün. Geschlossen.
**Changelog:** Body auf Endstand gebracht: alle Kriterien abgehakt. Ergänzt um den Nachzug dd885db, der zwei Code-Kommentare mit derselben „nur Entities haben `layout:`“-Annahme korrigiert. Umsetzung als fünf Einzeltests statt Parametrisierung vermerkt; CI-Runs 420–423 grün. Geschlossen.
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.
Befund (behoben in
7.1.0-beta.30, Commit 6c0ebcc; Nachzug7.1.0-beta.31,dd885db)Die
cli_contract-Varianten vonnewintools/chemenu/commands/new_page.py(gerendert inwikitool new -hund intools/CONTRACT.md) nannten für zwei Varianten einen flachen Zielpfad:new entitykb/entities/<subdir>/<Name>.mdlayout:überentity_type<subdir>ergänztnew conceptkb/concepts/<Name>.mdkb/concepts/<subdir>/<Name>.mdüberconcept_typenew sourcekb/sources/Source - <Name>.mdkb/sources/<subdir>/Source - <Name>.mdübersource_typenew comparisonkb/comparisons/X vs Y.mdtypes/comparison.mdhat keinlayout:new projectkb/gtd/<bereich>/<Name>.mdlayout:überresponsibilityAufgefallen beim Nachtrag zu #147 (
instructions/gates.mdnannte zwei Konzeptseiten mit flachem Pfad).newhat nie an die falsche Stelle geschrieben; falsch war nur die Aussage, die ein Agent als Tatsache darüber liest, wo eine Seite liegt.Bei der Prüfung zusätzlich gefunden und mitbehoben: Die
usagevonnew sourcenannte wedersource_type(Pflichtfeld seit #66) nochfidelity/authority(vonnewerzwungen seit #67). Wörtlich übernommen endete sie also immer mit Exit 1. Sie nennt jetzt alle drei.Im Nachzug (
dd885db) gefunden: Zwei Code-Kommentare trugen dieselbe veraltete Annahme,layout:gebe es „currently just“ für Entities: der Modul-Docstring vonnew_page.pyund der vonTypeResolver.get_layout. Beide nennen jetzt die vier ausgelieferten Type-Specs mitlayout:. Sie sind eine ebenso plausible Quelle für die flache Pfadannahme wie die Notiz.Entscheidungen (umgesetzt)
<subdir>plus der Halbsatz- `<subdir>` from `<field>` via the type-spec's `layout:`. Das bleibt richtig, auch wenn eine Instanz ihre Page-Type-Specs mit anderen Verzeichnisnamen füllt.<Name>→ der konkrete Name, andere Platzhalter → ein Pfadsegment, führendeskb/abgeschnitten) und prüft dagegen den Pfad, dennewimkb_dir-Fixture tatsächlich schreibt. Umgesetzt als fünf einzelne Tests (einer je Typ) statt einer Parametrisierung, dazu ein Vollständigkeitstest.Akzeptanzkriterien
new entity,new conceptundnew sourcelauten wie oben. Dieusagevonnew sourcenenntsource_type,fidelityundauthority. comparison und project sind unverändert.test_new_{entity,concept,source,comparison,project}_path_matches_its_record_note) sind grün. Gegen die alten Notizen waren concept und source rot, entity, comparison und project grün. Verifiziert mit temporär zurückgesetzten Notizen.test_every_writes_kb_variant_has_a_path_case: Jede Variante mitWrites `kb/hat einen Testfall.new source-Synopsis gelingt (test_new_source_path_matches_its_record_note_and_its_usage_is_runnable). Der Test parst dieusage-Zeile nicht selbst, sondern übergibt dieselben Felder.tools/wikitool docs contract --applyist gelaufen;tools/CONTRACT.mdstimmt mit dem Record überein;docs verify,instructions verify,pytest(1550) grün.version bump --patch --impact low(7.1.0-beta.30, Nachzug7.1.0-beta.31).Verifiziert
CI auf
6c0ebcc: Runs 420 und 421 grün. CI aufdd885db: Runs 422 und 423 grün. Zum Ablauf (rohergit commitbei6c0ebcc) siehe die Anmerkung in #148.Verwandt: #147, #142.
Changelog:
comparisongegentypes/comparison.mdgeprüft: flach, Notiz stimmt. Neu im Umfang: Dieusagevonnew sourcelässt die Pflichtwertesource_type,fidelityundauthorityweg und ist deshalb nicht ausführbar. Entschieden sind außerdem die Notiz-Formulierungen und das Testdesign: Der Test ist an die Notiz aus dem Record gekoppelt statt an einen fest verdrahteten Pfad, dazu kommt ein Vollständigkeitstest über alleWrites kb/-Varianten. Status: umsetzungsreif.Changelog: Body auf Endstand gebracht: alle Kriterien abgehakt. Ergänzt um den Nachzug
dd885db, der zwei Code-Kommentare mit derselben „nur Entities habenlayout:“-Annahme korrigiert. Umsetzung als fünf Einzeltests statt Parametrisierung vermerkt; CI-Runs 420–423 grün. Geschlossen.