Neues Paket ai/internal/routingsuggestapi: HTTP-Bindung um WFS-01s historysuggest.Suggest, Route POST /workflow/routing-suggestions, Service-Token-Pflicht nach dem Muster von summaryapi/residencyapi/semanticsearchapi. Referenz-Client (client.go) fuer den Aufrufer (Workflow-Board, siehe RTE-05) -- respektiert nur context.Context/*http.Client, setzt keinen eigenen Timeout.
Abruf aus Sicht des Workflow-Boards im Test nachvollzogen -- bestanden (TestClientSuggest_AbrufAusWorkflowBoardSicht gegen echten httptest.Server).
Ausfallverhalten im Test bestaetigt -- bestanden: nicht erreichbare AI-Instanz (Client-Timeout und Kontext-Timeout) fuehrt zu Fehler statt Blockade (< 1s statt haengend); fehlendes Service-Token liefert sofort 401.
Antwortformat gegen Vertrag geprueft -- bestanden: Antwort enthaelt category/confidence/reasoning/low_data; geringe Datenlage wird durchgereicht (low_data=true, keine Kategorie).
Build/Vet/Test auf Testhost 192.168.1.204 (Go-Submodul ai/): alle gruen (6/6 Tests, go vet ohne Befund).
Nicht Bestandteil
Tatsaechliche Aufrufer-Implementierung im Workflow-Modul-Adapter (RTE-05).
## Umsetzung
Neues Paket `ai/internal/routingsuggestapi`: HTTP-Bindung um WFS-01s `historysuggest.Suggest`, Route `POST /workflow/routing-suggestions`, Service-Token-Pflicht nach dem Muster von summaryapi/residencyapi/semanticsearchapi. Referenz-Client (`client.go`) fuer den Aufrufer (Workflow-Board, siehe RTE-05) -- respektiert nur `context.Context`/`*http.Client`, setzt keinen eigenen Timeout.
## Durchgefuehrte Pruefungen (siehe ai/docs/WFS-02-PRUEFPROTOKOLL.md)
1. **Abruf aus Sicht des Workflow-Boards im Test nachvollzogen** -- bestanden (TestClientSuggest_AbrufAusWorkflowBoardSicht gegen echten httptest.Server).
2. **Ausfallverhalten im Test bestaetigt** -- bestanden: nicht erreichbare AI-Instanz (Client-Timeout und Kontext-Timeout) fuehrt zu Fehler statt Blockade (< 1s statt haengend); fehlendes Service-Token liefert sofort 401.
3. **Antwortformat gegen Vertrag geprueft** -- bestanden: Antwort enthaelt category/confidence/reasoning/low_data; geringe Datenlage wird durchgereicht (low_data=true, keine Kategorie).
Build/Vet/Test auf Testhost 192.168.1.204 (Go-Submodul ai/): alle gruen (6/6 Tests, go vet ohne Befund).
## Nicht Bestandteil
- Tatsaechliche Aufrufer-Implementierung im Workflow-Modul-Adapter (RTE-05).
- Vorschlags-Feedback-Loop (WFS-03).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
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.
Umsetzung
Neues Paket
ai/internal/routingsuggestapi: HTTP-Bindung um WFS-01shistorysuggest.Suggest, RoutePOST /workflow/routing-suggestions, Service-Token-Pflicht nach dem Muster von summaryapi/residencyapi/semanticsearchapi. Referenz-Client (client.go) fuer den Aufrufer (Workflow-Board, siehe RTE-05) -- respektiert nurcontext.Context/*http.Client, setzt keinen eigenen Timeout.Durchgefuehrte Pruefungen (siehe ai/docs/WFS-02-PRUEFPROTOKOLL.md)
Build/Vet/Test auf Testhost 192.168.1.204 (Go-Submodul ai/): alle gruen (6/6 Tests, go vet ohne Befund).
Nicht Bestandteil
🤖 Generated with Claude Code