Add Phase 9 LLM scheduler, config resolution, diagnostics primitives

This commit is contained in:
2026-05-11 20:09:34 -05:00
parent 0b17a6fbeb
commit 426864eedb
8 changed files with 555 additions and 15 deletions

View File

@@ -58,13 +58,18 @@ Implemented:
- optional API key support for local-compatible endpoints
- API-key redaction in returned errors
- typed structured decode into caller-provided outputs.
- LLM scheduler/semaphore infrastructure for bounded concurrency with context-aware acquisition and reliable release.
- LLM effective-config resolution helpers:
- primary config resolution
- validation config inheritance from primary when validation fields are unset
- validation override behavior when validation fields are set.
- Generic JSON diagnostics primitives for LLM interactions (request metadata, request payload, response payload, optional error payload) with secret redaction.
Not yet implemented in runtime pipeline:
- Real correction modules.
- Structured LLM scheduler/concurrency orchestration.
- Runtime wiring from production runner/modules into the structured LLM adapter.
- LLM-backed validators.
- Prompt/response diagnostics for LLM calls.
- Module/validator call-site wiring to emit LLM prompt/response diagnostics artifacts.
- End-to-end transcript polishing behavior.
## Completed phases
@@ -196,14 +201,14 @@ Implemented:
Not implemented in Phase 8 (by design):
- LLM-backed validators (Phase 10).
- Structured LLM scheduler behavior or runtime wiring (Phase 9 follow-up).
- Structured LLM runtime wiring (Phase 9 follow-up).
- Real correction modules.
- Prompt/response diagnostics.
- Prompt/response diagnostics runtime wiring.
- End-to-end transcript polishing.
## Remaining work plan
Next recommended phase: **Phase 9 follow-up (scheduler + runtime LLM wiring, still no real modules)**.
Next recommended phase: **Phase 9 follow-up (runtime LLM wiring, still no real modules)**.
## Phase 9: Structured LLM client and scheduler infrastructure
@@ -218,10 +223,9 @@ Implemented in this phase so far:
- Added adapter unit tests for model/base URL handling, retries, context cancellation, optional API key behavior, and error redaction.
Still pending in Phase 9:
- Scheduler/semaphore behavior for bounded concurrency.
- Runtime wiring in runner/module infrastructure (without introducing real modules yet).
- Prompt/response diagnostics writer primitives for LLM call artifacts.
- Full primary vs validation LLM config-resolution plumbing into runtime LLM call sites.
- Wiring prompt/response diagnostics primitives into future module/validator call sites.
- Wiring effective primary/validation LLM config resolution into runtime LLM call sites.
### Purpose
@@ -230,11 +234,8 @@ Implement the provider-neutral LLM infrastructure needed by both proposal genera
### Scope
Implement (remaining):
- Primary LLM config resolution.
- Validation LLM config resolution and inheritance from primary settings.
- Redaction of credentials in all diagnostics and reports.
- LLM scheduler/semaphore for bounded backend concurrency.
- Prompt/response diagnostics writer primitives that can later be used by modules and validators.
- Runtime wiring for primary/validation effective LLM config resolution.
- Runtime usage of diagnostics primitives with credential redaction.
Do not implement:
- Real correction modules.
@@ -249,7 +250,6 @@ The codebase has a tested OpenAI-compatible structured-output client adapter, bu
### Definition of done
Remaining checklist to close Phase 9:
- Scheduler enforces configured concurrency.
- Primary and validation LLM settings resolve correctly in runtime wiring.
- Prompt/response diagnostic primitives exist.
- API keys are not leaked.