Restore qualified task identities and finish transport protocol types

Assistant: codex
Assistant-Model: gpt-5.6-luna
Assistant-Session: 01a07ff8-19d0-7820-b4d0-1353833cb7fc
This commit is contained in:
tegwick 2026-09-09 21:45:45 +02:00
parent 4055986c98
commit 68ffe9ef76
9 changed files with 899 additions and 157 deletions

View file

@ -37,7 +37,7 @@ Both additions are Functional-layer under GAAF-2026:
## Tasks
```task
id: T01
id: LLM-WP-0003-T01
title: 'RoutingPolicy data model: rules list with task_type, prefer, max_cost_per_1k, fallback'
priority: high
status: done
@ -45,7 +45,7 @@ state_hub_task_id: "85cf92fd-cddd-4e19-8782-970f6480a37f"
```
```task
id: T02
id: LLM-WP-0003-T02
title: 'policy.resolve(task_type) returns configured LLMAdapter'
priority: high
status: done
@ -53,7 +53,7 @@ state_hub_task_id: "352701ce-4b21-4f5d-a22e-462136e58fd2"
```
```task
id: T03
id: LLM-WP-0003-T03
title: 'Export RoutingPolicy from llm_connect.__init__ and update __all__'
priority: medium
status: done
@ -61,7 +61,7 @@ state_hub_task_id: "baeb9b39-7fee-4f2b-86cc-ce64ff9e9b95"
```
```task
id: T04
id: LLM-WP-0003-T04
title: 'Functional contract doc for RoutingPolicy'
priority: medium
status: done
@ -69,7 +69,7 @@ state_hub_task_id: "aa4488c6-950e-4cea-99b1-89defa4677ce"
```
```task
id: T05
id: LLM-WP-0003-T05
title: 'Tests: rule match, cost-cap fallback, unknown task_type fallback, no-match default'
priority: high
status: done
@ -77,7 +77,7 @@ state_hub_task_id: "a4ad9c9e-64a4-44f0-85f3-b9cfe9ef59f7"
```
```task
id: T06
id: LLM-WP-0003-T06
title: 'Design /execute JSON schema (request: provider, model, prompt, config; response: LLMResponse)'
priority: high
status: done
@ -85,7 +85,7 @@ state_hub_task_id: "cf79bce2-8d1a-4708-90b2-5e6569908b14"
```
```task
id: T07
id: LLM-WP-0003-T07
title: 'Implement llm_connect/server.py: POST /execute, GET /health'
priority: high
status: done
@ -93,7 +93,7 @@ state_hub_task_id: "c91964ab-7366-4b34-acd4-1ee12f96881e"
```
```task
id: T08
id: LLM-WP-0003-T08
title: 'python -m llm_connect.server --port N --provider X --model Y CLI entry point'
priority: high
status: done
@ -101,7 +101,7 @@ state_hub_task_id: "e3115bb4-cf3b-4ca0-9992-136e317068ac"
```
```task
id: T09
id: LLM-WP-0003-T09
title: 'Add server optional dep (httpx or aiohttp) to pyproject.toml'
priority: medium
status: done
@ -109,7 +109,7 @@ state_hub_task_id: "2caf5531-8e10-40e9-a595-8652882a10e0"
```
```task
id: T10
id: LLM-WP-0003-T10
title: 'Functional contract doc: HTTP API schema (request/response shapes, error codes)'
priority: medium
status: done
@ -117,7 +117,7 @@ state_hub_task_id: "dc3c81c2-698d-4fee-b1dd-1af156a4276f"
```
```task
id: T11
id: LLM-WP-0003-T11
title: 'Tests: server POST round-trip (MockAdapter), GET /health, error responses'
priority: high
status: done
@ -128,22 +128,22 @@ state_hub_task_id: "848a1622-abdd-4938-8bb4-3da27f5f9867"
| ID | Title | Priority | Status |
|-----|-------|----------|--------|
| T01 | `RoutingPolicy` data model: `rules` list with `task_type`, `prefer`, `max_cost_per_1k`, `fallback` | high | done |
| T02 | `policy.resolve(task_type)` → returns configured `LLMAdapter` | high | done |
| T03 | Export from `llm_connect.__init__` and update `__all__` | medium | done |
| T04 | Functional contract doc for `RoutingPolicy` | medium | done |
| T05 | Tests: rule match, cost-cap fallback, unknown task_type fallback, no-match default | high | done |
| LLM-WP-0003-T01 | `RoutingPolicy` data model: `rules` list with `task_type`, `prefer`, `max_cost_per_1k`, `fallback` | high | done |
| LLM-WP-0003-T02 | `policy.resolve(task_type)` → returns configured `LLMAdapter` | high | done |
| LLM-WP-0003-T03 | Export from `llm_connect.__init__` and update `__all__` | medium | done |
| LLM-WP-0003-T04 | Functional contract doc for `RoutingPolicy` | medium | done |
| LLM-WP-0003-T05 | Tests: rule match, cost-cap fallback, unknown task_type fallback, no-match default | high | done |
### FR-1 — HTTP serve mode
| ID | Title | Priority | Status |
|-----|-------|----------|--------|
| T06 | Design `/execute` JSON schema (request: provider, model, prompt, config; response: LLMResponse fields) | high | done |
| T07 | Implement `llm_connect/server.py` — minimal HTTP server, `POST /execute`, `GET /health` | high | done |
| T08 | `python -m llm_connect.server --port N --provider X --model Y` CLI entry point | high | done |
| T09 | Add `httpx` or `aiohttp` server dep under `[project.optional-dependencies] server` | medium | done |
| T10 | Functional contract doc (API schema — request/response shapes, error codes) | medium | done |
| T11 | Tests: spin up server in subprocess or via `TestClient`, POST round-trip (MockAdapter), error responses | high | done |
| LLM-WP-0003-T06 | Design `/execute` JSON schema (request: provider, model, prompt, config; response: LLMResponse fields) | high | done |
| LLM-WP-0003-T07 | Implement `llm_connect/server.py` — minimal HTTP server, `POST /execute`, `GET /health` | high | done |
| LLM-WP-0003-T08 | `python -m llm_connect.server --port N --provider X --model Y` CLI entry point | high | done |
| LLM-WP-0003-T09 | Add `httpx` or `aiohttp` server dep under `[project.optional-dependencies] server` | medium | done |
| LLM-WP-0003-T10 | Functional contract doc (API schema — request/response shapes, error codes) | medium | done |
| LLM-WP-0003-T11 | Tests: spin up server in subprocess or via `TestClient`, POST round-trip (MockAdapter), error responses | high | done |
## Exit criteria