# Sprint 158 Plan: Real Multi-Language Constructive Loop and Toolchain Routing ## Context After sync/regeneration/merge runtimeization, Sprint 158 implements real toolchain/provider and constructive loop behavior for representative languages. --- ## Goals 1. Back toolchain provider tools with real language/provider mappings 2. Implement constructive step/status/loop with explicit stage evidence 3. Normalize diagnostics with source, severity, location, and fix hints 4. Preserve deterministic fallback policy when providers are unavailable --- ## Steps ### Step 1819: Representative language toolchain provider registry model (10 tests) ### Step 1820: Provider probing and fallback routing implementation model (10 tests) ### Step 1821: Diagnostic normalization runtime implementation model (10 tests) ### Step 1822: Constructive stage execution ledger model (10 tests) ### Step 1823: `whetstone_list_toolchain_providers` runtime implementation (8 tests) ### Step 1824: `whetstone_probe_toolchain_provider` runtime implementation (8 tests) ### Step 1825: `whetstone_normalize_diagnostics` runtime implementation (8 tests) ### Step 1826: `whetstone_run_constructive_step`/`status`/`loop` runtime packet model (8 tests) ### Step 1827: Cross-language constructive execution report artifact (8 tests) ### Step 1828: Sprint 158 integration summary + regression (8 tests) --- ## Architecture Gate - Constructive stage transitions must be explicit and replayable - Provider fallback must emit structured rationale and selected route - Diagnostics normalization must preserve provenance to raw provider output - Max 600 lines per header