Files
whetstone_DSL/sprint177_plan.md

2.1 KiB

Sprint 177 Plan: Real Toolchain Provider Execution + Diagnostic Canonicalization

Context

docs/constructive_editing_runtime_plan.md Phase C requires runtime-detected toolchain execution and canonical diagnostics from real provider outputs.

Goals

  1. Make provider listing/probing reflect runtime reality
  2. Execute real build/test probes via provider routes
  3. Normalize provider/LSP diagnostics into canonical payloads

Steps

Step 1924: Runtime provider discovery + listing (10 tests)

Primary files:

  • editor/src/mcp/RegisterSprint151Tools.h
  • provider discovery/runtime modules

Tests (10): detected providers schema, missing-provider behavior, deterministic ordering, environment-scoped visibility, and backward compatibility fields.

Step 1925: Real provider probe execution paths (10 tests)

Primary files:

  • editor/src/BuildSystem.h
  • provider probe invocation handlers

Tests (10): probe success/failure paths, timeout + cleanup behavior, exit-code mapping, deterministic command metadata, and strict-mode fail semantics.

Step 1926: Canonical diagnostic normalization from provider/LSP output (10 tests)

Primary files:

  • editor/src/StructuredDiagnostics.h
  • editor/src/LspOps.h
  • editor/src/graduation/DiagnosticNormalizationCanonicalModel.h

Tests (10): multi-provider parse coverage, fallback normalization, dedupe policy, deterministic ordering/truncation, category mapping, and schema validation.

Step 1927: Representative toolchain fixture suite (8 tests)

Add fixtures for C++/Rust/Python/Go toolchain and lint outputs.

Tests (8): fixture parser stability, canonical packet consistency, and identical output across repeated runs.

Step 1928: Sprint 177 Integration Summary (8 tests)

Add editor/src/Sprint177IntegrationSummary.h. Record:

  • steps_completed=5
  • runtime_provider_listing_active=true
  • real_provider_probe_execution_active=true
  • canonical_diagnostics_from_provider_outputs=true
  • success=true

Architecture Gate

  • Provider probes must execute real commands or emit explicit skipped/blocked status
  • Diagnostics must be canonicalized into a deterministic machine-readable format