SP Konfiguration Platzhalter API Token #198

Closed
opened 2026-10-07 12:24:01 +00:00 by torben · 2 comments
Owner

Geschlossen am 2026-10-11, ohne Bau: Das Paket #208 (10.0.0-beta.2) hat den Fall erledigt. Geprüft gegen den Baum auf c06bde2 (10.0.0-beta.8). Es gibt keine Codeänderung und keinen Versionsteil.

Ursprüngliche Meldung (2026-10-07)

Wenn der Agent eine wikitool-tasks.json schrieb, fehlte der Platzhalter für das API-Token. Die Datei sah so aus:

{
  "schema": 1,
  "provider": "superproductivity",
  "thresholds": {
    "stalled_waiting_days": 14,
    "unpaged_project_weeks": 3,
    "someday_stale_months": 5
  },
  "superproductivity": {
    "access": "api",
    "api_base_url": "http://127.0.0.1:3876"
  }
}

Es fehlte:

    "api_token": "<token aus den SP-Einstellungen>"

Befund

  • Die Datei schreibt niemand mehr. Seit #208 liest wikitool keine .wikitool-tasks.json mehr. Einzige Ausnahme ist tools/chemenu/legacy_settings.py, das config migrate braucht. instructions/setup-instance.md Schritt 9 lässt den Agenten die Abschnitte tasks und superproductivity mit tools/wikitool config set setzen.
  • Der Verweis ist der Platzhalter. superproductivity.api_token ist ein secret-Feld und steht nur als Verweis in der Konfiguration. config set superproductivity.api_token --ref <name> löst den Verweis beim Schreiben nicht auf (Record in tools/chemenu/commands/config_cmd.py: "Resolves no reference"). Der Agent kann ihn also setzen, bevor der Wert existiert. Den Wert legt der Nutzer unter diesem Namen ab: in 1Password, in der Secret-Datei oder in WIKITOOL_SECRET_<NAME>. Durch den Chat läuft er nie.
  • Ein fehlender Token fällt auf. Fehlt bei access: api das api_token, endet das Lesen mit exit 1 und der Meldung "api_token is missing or empty" (tools/chemenu/tasks/superproductivity.py). doctor meldet dann tasks-provider als FAIL (tools/chemenu/commands/doctor.py), in setup-instance.md also spätestens in Schritt 12. Abgedeckt ist das durch test_from_dict_api_requires_a_token in test_superproductivity.py, am 2026-10-11 lokal grün.
  • Die Doku ist aktuell. docs/reference/configuration.md § Task tracker führt api_token als Pflichtfeld bei access: "api", im Beispiel als {"ref": …}.

Ein echter Durchlauf von setup-instance war nicht Teil der Prüfung. Die Aussage stützt sich auf Code, Doku und Tests.

> **Geschlossen am 2026-10-11, ohne Bau: Das Paket #208 (`10.0.0-beta.2`) hat den Fall erledigt.** Geprüft gegen den Baum auf `c06bde2` (`10.0.0-beta.8`). Es gibt keine Codeänderung und keinen Versionsteil. ## Ursprüngliche Meldung (2026-10-07) Wenn der Agent eine `wikitool-tasks.json` schrieb, fehlte der Platzhalter für das API-Token. Die Datei sah so aus: ``` { "schema": 1, "provider": "superproductivity", "thresholds": { "stalled_waiting_days": 14, "unpaged_project_weeks": 3, "someday_stale_months": 5 }, "superproductivity": { "access": "api", "api_base_url": "http://127.0.0.1:3876" } } ``` Es fehlte: ``` "api_token": "<token aus den SP-Einstellungen>" ``` ## Befund - **Die Datei schreibt niemand mehr.** Seit #208 liest `wikitool` keine `.wikitool-tasks.json` mehr. Einzige Ausnahme ist `tools/chemenu/legacy_settings.py`, das `config migrate` braucht. `instructions/setup-instance.md` Schritt 9 lässt den Agenten die Abschnitte `tasks` und `superproductivity` mit `tools/wikitool config set` setzen. - **Der Verweis ist der Platzhalter.** `superproductivity.api_token` ist ein `secret`-Feld und steht nur als Verweis in der Konfiguration. `config set superproductivity.api_token --ref <name>` löst den Verweis beim Schreiben nicht auf (Record in `tools/chemenu/commands/config_cmd.py`: "Resolves no reference"). Der Agent kann ihn also setzen, bevor der Wert existiert. Den Wert legt der Nutzer unter diesem Namen ab: in 1Password, in der Secret-Datei oder in `WIKITOOL_SECRET_<NAME>`. Durch den Chat läuft er nie. - **Ein fehlender Token fällt auf.** Fehlt bei `access: api` das `api_token`, endet das Lesen mit exit 1 und der Meldung "api_token is missing or empty" (`tools/chemenu/tasks/superproductivity.py`). `doctor` meldet dann `tasks-provider` als `FAIL` (`tools/chemenu/commands/doctor.py`), in `setup-instance.md` also spätestens in Schritt 12. Abgedeckt ist das durch `test_from_dict_api_requires_a_token` in `test_superproductivity.py`, am 2026-10-11 lokal grün. - **Die Doku ist aktuell.** `docs/reference/configuration.md` § Task tracker führt `api_token` als Pflichtfeld bei `access: "api"`, im Beispiel als `{"ref": …}`. Ein echter Durchlauf von `setup-instance` war nicht Teil der Prüfung. Die Aussage stützt sich auf Code, Doku und Tests.
torben added the status/unconfirmed label 2026-10-07 12:24:01 +00:00
Author
Owner

Bezug (2026-10-09): Mit #207/#208 ziehen Tokens und App-Passwörter aus .wikitool-tasks.json in einen Secret-Speicher außerhalb des Arbeitsbaums. In der Konfiguration steht dann ein Secret-Verweis statt eines Platzhalters. Dieses Issue wird dort gegenstandslos oder mit erledigt. Es bleibt bis dahin unbestätigt offen.

Bezug (2026-10-09): Mit #207/#208 ziehen Tokens und App-Passwörter aus `.wikitool-tasks.json` in einen Secret-Speicher außerhalb des Arbeitsbaums. In der Konfiguration steht dann ein Secret-Verweis statt eines Platzhalters. Dieses Issue wird dort gegenstandslos oder mit erledigt. Es bleibt bis dahin unbestätigt offen.
torben added area/distribution and removed status/unconfirmed labels 2026-10-11 20:20:55 +00:00
Author
Owner

Changelog: Der Body hat seinen Endstand: die Meldung im Wortlaut und den Befund gegen c06bde2. #208 hat den Fall erledigt, der Token ist jetzt ein Secret-Verweis, und ein fehlender Token ergibt in doctor ein FAIL. status/unconfirmed ist entfernt, area/distribution gesetzt. Das Issue wird ohne Bau geschlossen.

**Changelog:** Der Body hat seinen Endstand: die Meldung im Wortlaut und den Befund gegen `c06bde2`. #208 hat den Fall erledigt, der Token ist jetzt ein Secret-Verweis, und ein fehlender Token ergibt in `doctor` ein FAIL. `status/unconfirmed` ist entfernt, `area/distribution` gesetzt. Das Issue wird ohne Bau geschlossen.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: torben/chemenu#198