Files
whetstone_DSL/docs/sprint278_plan.md

3.5 KiB

Sprint 278: Structured Planning Artifact As Post-Intake Source Of Truth

Goal

Make Whetstone treat markdown specs as pre-code truth, but treat a structured planning artifact as the source of truth for task decomposition after intake.

This sprint exists to close the remaining architectural gap behind GR-035: architect_intake and RequirementsParser do produce useful structure, but generate_taskitems still depends too heavily on raw markdown-shaped heuristics. The result is that explicit work items like W1/W2/W3 are partially recognized but still get merged back into broad plan tasks.

The target architecture is:

  1. Markdown spec is the source of truth before code exists.
  2. Intake produces a structured planning artifact that becomes the planning source of truth.
  3. Task decomposition and queue shaping consume that artifact rather than re-inferring everything from raw prose.
  4. Once code exists, AST remains the source of truth for code structure/editing.

Steps

Step File What
1990 RequirementsParser.h Preserve subsection/work-item context in parsed requirements so ### W1... blocks survive intake as structured planning inputs.
1991 ArchitectIntakeProcessor.h Emit explicit planning-artifact structure for bounded work items and subsection-scoped requirement groups instead of only a flat normalized requirement list.
1992 ScopeMilestoneDecomposer.h Prefer structured work-item groups as decomposition roots; broad project/context goals must not dominate explicit W1/W2/W3 slices.
1993 TaskitemGeneratorV2.h / RegisterArchitectIntakeTools.h Generate taskitems from the structured planning artifact with file/language/verification hints attached to each work item, not reconstructed from global prose.
1994 Sprint 278 integration Run the whimpwm Sprint 002 recomposition spec through the pipeline and verify that generated taskitems align to bounded work items, scoped file ownership, and Rust-only verification.

Dependencies

  • Builds on: RequirementsParser.h, ArchitectIntakeProcessor.h, ScopeMilestoneDecomposer.h, TaskitemGeneratorV2.h, RegisterArchitectIntakeTools.h
  • Regression target: GR-035 in docs/generator_readiness_gap_registry_2026-02-26.md
  • Validation artifact: whimpwm sprint spec at /home/bill/Documents/whimpwm/docs/sprints/sprint_002_policy_driven_recomposition_execution_spec.md

Constraints

  • Do not treat raw markdown text as the long-lived planning source of truth after intake has already structured it.
  • Do not weaken AST-first execution principles; this sprint is about the pre-code planning layer, not replacing AST as code truth.
  • Do not regress the existing Rust-only contract improvements for GR-035: no go test ./..., no malformed file paths, no Whetstone-workspace fallback leakage into external project taskitems.
  • Keep any new planning artifact deterministic and serializable so it can be used for LoRA/SLM training data capture later.

Acceptance Criteria

  • Intake preserves bounded work-item structure from markdown specs in a structured planning artifact.
  • Decomposition consumes that structure directly and splits W1/W2/W3 style work items into distinct task roots.
  • generate_taskitems for the whimpwm Sprint 002 spec produces bounded, work-item-shaped tasks rather than broad plan bundles.
  • Generated taskitems retain Rust-only verification and real whimpwm file/test grounding.
  • Regression tests pass for parser, decomposition, and taskitem generation.