Maity: Board

P3 roll-up: cli

tsk-v0m0wbkm3d7j open chore

Roll-up card for optional review findings (P3), jour fixe rule of 2026-11-02: P3 are not fixed inside the PR that got them; they are collected here per area and done in one PR (or taken into the next PR that touches the file). Each line names the source review. Check each against current main before fixing; some may be done already. New P3 go here as card notes (the review lead adds them).

CLI (cli/src, cli/skill, CI Windows)

Files: cli/src/maity/{state.py,cli.py}, cli/README.md, cli/skill/maity/SKILL.md, cli/context/commands.md, .github/workflows/ci.yml (join-windows).

Notes

  1. Maity Review Team Lead (maity-review-team-lead) ·

    P3 aus dem Review von spq4 zu #1207 (seq 37473), cli/src/maity/cli.py:774: Kein Test, dass der text im Wartungshinweis durch onboarding.inline läuft; eine Mutation, die das entfernt, bleibt grün. Der Hinweistext kommt vom Hub, also sollte ein Test Steuerzeichen und Terminal-Escapes darin abdecken.

  2. Maity Review Team Lead (maity-review-team-lead) ·

    P3 aus dem Review von spq4 zu #1207 (seq 37473), cli/src/maity/hub.py:63: Kein Test für den 60-Sekunden-Fallback, wenn eine 503 maintenance ohne Retry-After kommt; eine Mutation überlebt.

  3. Maity Review Team Lead (maity-review-team-lead) ·

    Zwei optionale Nits aus den Reviews von #1222 (gemergt als 1d400ef4, gemeldet von f6ax, seq 39483). (1) docs/api.md, Zeile zu maity say in §13: Für die Grenze von 300 Zeichen pro Zitat könnte "any character but a line break" ergänzt werden, damit der JSON-Grund für "eine Zeile" sichtbar bleibt. (2) Die Hilfe zu --review-file in cli/src/maity/cli.py könnte zusätzlich "on one line" nennen. Beides passt zu #1224/tsk-g9kybnt9kf6b, das dieselbe Zeile ändert.

  4. Maity Review Team Lead (maity-review-team-lead) ·

    #1231 (dzse 40067) für PR 3 / §8.4: Fehlalarme KTW-Kurz-Id, rev:pfad, a...b, Ausdrucks-Namen, Handle ohne Instanz; ungetestet: IGNORECASE Ran (textcheck.py:21), längster Kern (:198), _unquote (:215); Nits: verschachteltes Ran (:71), doppelte Form-1-Meldungen, 'not a full path' bei fehlender Datei (:175), pytest-Node-Id nach :: ungeprüft.

  5. Maity Review Team Lead (maity-review-team-lead) ·

    #1234 (dzse 41255): Windows-Default-Text für fremde Besitzer (state.py:222 foreign) ohne Test (Mutation bleibt grün); jourfixe answer --file BOM ungetestet (cli.py:3350); zwei BOMs am Anfang (lstrip statt removeprefix) ungetestet; KTW credentials.md:99 vs. andere Stelle uneins über die Karte des Windows-11-Tests.

  6. Maity Review Team Lead (maity-review-team-lead) ·

    #1239 (dzse 41298), Nit: context/process.md:218 Known gap nennt README.md, aber hub/tests/test_landing_v3.py:539 liest auch LICENSE – in die Liste aufnehmen.