Schreibfläche Richtung Tracker: der Review bietet task new an, und der Stack bekommt einen Schließweg #138

Closed
opened 2026-09-22 17:35:09 +00:00 by torben · 2 comments
Owner

Umgesetzt und veröffentlicht als 62d1c5e (v7.0.0-beta.15, --minor).

Aufgefallen beim Vorbereiten von #136: der gtd-weekly-review-Skill hielt fest, dass jede
Tracker-seitige Handlung Sache des Nutzers ist, begründet mit einer inzwischen falschen Prämisse
(seit #132 gibt es task new). #137 hatte die falsche Begründung bereits entfernt; dieses Issue
hat die eigentliche Frage entschieden - wie groß die Schreibfläche werden soll - und sie
umgesetzt.

Entschieden und umgesetzt

Der Weekly Review bietet task new an. Bei stalled Option (a) und no_open_loop Option
(a) schlägt der Review den Aufruf vor und führt ihn nach kombinierter Bestätigung (Titel +
Projekt in einer Frage) aus - dieselbe Haltung wie der Ingest bei der Verpflichtungsfrage.

Die Haltung steht jetzt an genau einer Stelle in instructions/gtd-weekly-review/SKILL.md
(der Eröffnungsabsatz), statt zweimal wie zuvor - Invariante 8 wieder erfüllt.

waiting_overdue (a) und someday_stale (c) bleiben unberührt - Verschieben ist kein
Anlegen.

ingest-large-tree Schritt 5d behält die Verpflichtungsfrage pro Unit, jetzt mit einem Satz
Begründung: eine Unit ist eine Quellenseite ist ein Subjekt, sichtbar nur im Durchlauf dieser
Unit, nicht am Ende des Laufs.

Der Schließweg wurde gebaut. Der Ingest kann eine offene Schleife jetzt auch schließen, nicht
nur öffnen (wiki-ingest Schritt 4, in beide Richtungen). Neu:

  • tools/wikitool task close --id <id> - markiert einen Posten erledigt (PATCH /tasks/:id mit
    isDone: true), löscht ihn nie. Verifiziert gegen super-productivity/super-productivitys
    master-Branch (2026-09-22, Docstring in tools/chemenu/tasks/superproductivity.py): die
    REST-Route ist bit-identisch zur eigenen "erledigt"-Checkbox der App (TaskService.setDone),
    setzt kein doneOn, kein anderes Feld. Ein unbekannter Posten liefert 404 TASK_NOT_FOUND,
    bevor irgendetwas geschrieben wird. DELETE /tasks/:id wird an keiner Stelle aufgerufen.
  • tools/wikitool task list --project "<Name>" - listet offene Posten mit Id, Titel und
    WAITING-Status; die Id-Quelle für task close, ohne vorherigen Review-Lauf.
  • review nennt die Id zu jedem waiting_overdue/someday_stale-Fund (Finding.item_id).
  • Ingest und Review dürfen beide schließen - der Review bei waiting_overdue (b) und
    someday_stale (b), beide jetzt mit task close-Vorschlag statt "remove/strike".
  • Der Tracker-Schreibzugriff ist damit anlegend und schließend, nie ändernd oder löschend -
    festgehalten als Entscheidung in docs/knowledge-and-commitment.md § "Status has exactly one
    home", die auch die korrekte Kommandozählung trägt (zwei Lese-, drei Schreibkommandos statt der
    vorherigen "one read command and two creation commands").

Verifiziert

  • pytest in tools/: 1440 grün (60 neue/geänderte Tests über test_superproductivity.py,
    test_review.py, test_task_cmd.py)
  • tools/wikitool docs verify grün, inklusive der neuen task list/task close-Zeilen in
    beiden Tabellen von tools/CONTRACT.md
  • tools/wikitool instructions verify grün (nach instructions sync)
  • tools/wikitool version bump --minor (7.0.0-beta.14 → 7.0.0-beta.15) - drop-in in beide
    Richtungen: zwei neue Kommandos, kein umbenannter/entfallener Pfad, .wikitool-tasks.json
    unverändert
  • Kein docs/-, README.md- oder INSTALL.md-Nachzug offen geblieben (Stichprobe nach
    stack-close durchgeführt: keine weiteren Fundstellen zur alten Kommandozählung)

Kontext: die zwei Punkte derselben Naht (aus dem ursprünglichen Issue)

  • Ingest kann jetzt öffnen und schließen - umgesetzt oben, nicht mehr offen.
  • ingest-large-tree fragt pro Unit - begründet oben, nicht mehr offen.

Beide waren im ursprünglichen Issue als "nicht Teil dieser Entscheidung, aber derselben Naht"
markiert; beide sind jetzt entschieden und umgesetzt, kein eigenes Issue nötig.

Was ausdrücklich nicht gebaut wurde

  • Verschieben einer Erinnerung (waiting_overdue Option (a)) - bleibt Sache des Nutzers in
    seinem Tracker.
  • Löschen eines Postens - die Schreibfläche endet bei "erledigt markieren".
  • Ein Projekt-CRUD - create_project unverändert.

Modell-Herkunft

Gesamte Sitzung - Entscheidung (inklusive der Nutzer-Rückfragen zu Reichweite, Schließart,
Identifikation und Paketierung), Verifikation der Super-Productivity-Semantik per WebFetch
gegen master, Implementierung (Protokoll, Adapter, CLI, Review, Tests), Instruktions- und
Doku-Pull-Through, Version-Bump, Publish und dieser Abschluss - lief durchgehend auf Opus 5.

Abhängigkeiten

Keine.

**Umgesetzt und veröffentlicht als `62d1c5e` (`v7.0.0-beta.15`, `--minor`).** Aufgefallen beim Vorbereiten von #136: der `gtd-weekly-review`-Skill hielt fest, dass jede Tracker-seitige Handlung Sache des Nutzers ist, begründet mit einer inzwischen falschen Prämisse (seit #132 gibt es `task new`). #137 hatte die falsche Begründung bereits entfernt; dieses Issue hat die eigentliche Frage entschieden - wie groß die Schreibfläche werden soll - und sie umgesetzt. ## Entschieden und umgesetzt **Der Weekly Review bietet `task new` an.** Bei `stalled` Option (a) und `no_open_loop` Option (a) schlägt der Review den Aufruf vor und führt ihn nach kombinierter Bestätigung (Titel + Projekt in einer Frage) aus - dieselbe Haltung wie der Ingest bei der Verpflichtungsfrage. **Die Haltung steht jetzt an genau einer Stelle** in `instructions/gtd-weekly-review/SKILL.md` (der Eröffnungsabsatz), statt zweimal wie zuvor - Invariante 8 wieder erfüllt. **`waiting_overdue` (a) und `someday_stale` (c) bleiben unberührt** - Verschieben ist kein Anlegen. **`ingest-large-tree` Schritt 5d behält die Verpflichtungsfrage pro Unit**, jetzt mit einem Satz Begründung: eine Unit ist eine Quellenseite ist ein Subjekt, sichtbar nur im Durchlauf dieser Unit, nicht am Ende des Laufs. **Der Schließweg wurde gebaut.** Der Ingest kann eine offene Schleife jetzt auch schließen, nicht nur öffnen (`wiki-ingest` Schritt 4, in beide Richtungen). Neu: - `tools/wikitool task close --id <id>` - markiert einen Posten erledigt (`PATCH /tasks/:id` mit `isDone: true`), löscht ihn **nie**. Verifiziert gegen `super-productivity/super-productivity`s `master`-Branch (2026-09-22, Docstring in `tools/chemenu/tasks/superproductivity.py`): die REST-Route ist bit-identisch zur eigenen "erledigt"-Checkbox der App (`TaskService.setDone`), setzt kein `doneOn`, kein anderes Feld. Ein unbekannter Posten liefert `404 TASK_NOT_FOUND`, bevor irgendetwas geschrieben wird. `DELETE /tasks/:id` wird an keiner Stelle aufgerufen. - `tools/wikitool task list --project "<Name>"` - listet offene Posten mit Id, Titel und WAITING-Status; die Id-Quelle für `task close`, ohne vorherigen Review-Lauf. - `review` nennt die Id zu jedem `waiting_overdue`/`someday_stale`-Fund (`Finding.item_id`). - Ingest und Review dürfen beide schließen - der Review bei `waiting_overdue` (b) und `someday_stale` (b), beide jetzt mit `task close`-Vorschlag statt "remove/strike". - Der Tracker-Schreibzugriff ist damit **anlegend und schließend, nie ändernd oder löschend** - festgehalten als Entscheidung in `docs/knowledge-and-commitment.md` § "Status has exactly one home", die auch die korrekte Kommandozählung trägt (zwei Lese-, drei Schreibkommandos statt der vorherigen "one read command and two creation commands"). ## Verifiziert - `pytest` in `tools/`: 1440 grün (60 neue/geänderte Tests über `test_superproductivity.py`, `test_review.py`, `test_task_cmd.py`) - `tools/wikitool docs verify` grün, inklusive der neuen `task list`/`task close`-Zeilen in beiden Tabellen von `tools/CONTRACT.md` - `tools/wikitool instructions verify` grün (nach `instructions sync`) - `tools/wikitool version bump --minor` (`7.0.0-beta.14` → `7.0.0-beta.15`) - drop-in in beide Richtungen: zwei neue Kommandos, kein umbenannter/entfallener Pfad, `.wikitool-tasks.json` unverändert - Kein `docs/`-, `README.md`- oder `INSTALL.md`-Nachzug offen geblieben (Stichprobe nach `stack-close` durchgeführt: keine weiteren Fundstellen zur alten Kommandozählung) ## Kontext: die zwei Punkte derselben Naht (aus dem ursprünglichen Issue) - **Ingest kann jetzt öffnen und schließen** - umgesetzt oben, nicht mehr offen. - **`ingest-large-tree` fragt pro Unit** - begründet oben, nicht mehr offen. Beide waren im ursprünglichen Issue als "nicht Teil dieser Entscheidung, aber derselben Naht" markiert; beide sind jetzt entschieden und umgesetzt, kein eigenes Issue nötig. ## Was ausdrücklich nicht gebaut wurde - **Verschieben einer Erinnerung** (`waiting_overdue` Option (a)) - bleibt Sache des Nutzers in seinem Tracker. - **Löschen eines Postens** - die Schreibfläche endet bei "erledigt markieren". - **Ein Projekt-CRUD** - `create_project` unverändert. ## Modell-Herkunft Gesamte Sitzung - Entscheidung (inklusive der Nutzer-Rückfragen zu Reichweite, Schließart, Identifikation und Paketierung), Verifikation der Super-Productivity-Semantik per `WebFetch` gegen `master`, Implementierung (Protokoll, Adapter, CLI, Review, Tests), Instruktions- und Doku-Pull-Through, Version-Bump, Publish und dieser Abschluss - lief durchgehend auf Opus 5. ## Abhängigkeiten Keine.
torben added the prio/plannedsize/Sarea/kbkind/decision labels 2026-09-22 17:35:09 +00:00
torben changed title from Soll der Weekly Review `task new` anbieten - wie groß ist die Schreibfläche Richtung Tracker? to Schreibfläche Richtung Tracker: der Review bietet `task new` an, und der Stack bekommt einen Schließweg 2026-09-22 19:12:23 +00:00
torben added size/Mkind/build and removed size/Skind/decision labels 2026-09-22 19:12:27 +00:00
Author
Owner

Changelog: Entscheidung getroffen, Body von der Entscheidungsvorlage zur Bauspezifikation umgeschrieben. Neu gegen den Baum geprüft: die falsche Begründung war bereits durch #137 weg, die Haltung steht dafür zweimal im Skill (Invariante-8-Verstoß, jetzt E2), und die Remediations liegen nur im Instruktionstext, nicht in review.py. Entschieden: Review bietet task new an (E1), ingest-large-tree 5d bleibt pro Unit mit Begründung (E4), und die Schließrichtung wird jetzt gebaut statt als Lücke festgehalten (E5-E9) - erledigt statt gelöscht, über die Provider-ID, mit neuem task list und IDs in der Review-Ausgabe. Labels: kind/decision → kind/build, size/S → size/M (die Schließrichtung bringt Protokoll-, Adapter- und CLI-Änderung mit). Titel angepasst. Neu im Body: ein Vorab-Verifikationspunkt (PATCH /tasks/:id-Semantik gegen SP master), eine „nicht gebaut"-Liste und eine Versionserwartung (--minor).

**Changelog:** Entscheidung getroffen, Body von der Entscheidungsvorlage zur Bauspezifikation umgeschrieben. Neu gegen den Baum geprüft: die falsche Begründung war bereits durch #137 weg, die Haltung steht dafür **zweimal** im Skill (Invariante-8-Verstoß, jetzt E2), und die Remediations liegen nur im Instruktionstext, nicht in `review.py`. Entschieden: Review bietet `task new` an (E1), `ingest-large-tree` 5d bleibt pro Unit mit Begründung (E4), und die Schließrichtung wird jetzt gebaut statt als Lücke festgehalten (E5-E9) - erledigt statt gelöscht, über die Provider-ID, mit neuem `task list` und IDs in der Review-Ausgabe. Labels: `kind/decision` → `kind/build`, `size/S` → `size/M` (die Schließrichtung bringt Protokoll-, Adapter- und CLI-Änderung mit). Titel angepasst. Neu im Body: ein Vorab-Verifikationspunkt (`PATCH /tasks/:id`-Semantik gegen SP `master`), eine „nicht gebaut"-Liste und eine Versionserwartung (`--minor`).
Author
Owner

Changelog: Umgesetzt und veröffentlicht als 62d1c5e (v7.0.0-beta.15). Body auf Endzustand umgeschrieben: alle Entscheidungen (E1-E9) als erledigt markiert, Verifikationsnachweise (pytest, docs verify, instructions verify, Super-Productivity-Semantik) benannt, die beiden Kontextpunkte aus der ursprünglichen Fassung als umgesetzt statt offen vermerkt, Modell-Herkunft ergänzt. Schließe das Issue.

**Changelog:** Umgesetzt und veröffentlicht als `62d1c5e` (`v7.0.0-beta.15`). Body auf Endzustand umgeschrieben: alle Entscheidungen (E1-E9) als erledigt markiert, Verifikationsnachweise (pytest, docs verify, instructions verify, Super-Productivity-Semantik) benannt, die beiden Kontextpunkte aus der ursprünglichen Fassung als umgesetzt statt offen vermerkt, Modell-Herkunft ergänzt. Schließe das Issue.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: torben/chemenu#138