# Sprint 176 Plan: Real Sync/Regenerate/Merge Constructive Paths ## Context `docs/constructive_editing_runtime_plan.md` Phase B requires replacing synthetic sync/regenerate/merge outcomes with real Text<->AST and merge-policy execution. ## Goals 1. Route sync tools through real text->AST paths 2. Route regeneration tools through real AST->text paths 3. Route merge tools through real conflict detection + policy decisions ## Steps ### Step 1919: Real sync tool binding (10 tests) Primary files: - `editor/src/mcp/RegisterSprint142Tools.h` - `editor/src/TextASTSync.h` Tests (10): supported-language sync roundtrip, deterministic sync diffs, invalid syntax diagnostics, partial sync conflict tagging, and stable schema output. ### Step 1920: Real regenerate tool binding (10 tests) Primary files: - `editor/src/mcp/RegisterSprint143Tools.h` - language generators used by runtime path Tests (10): AST->text regeneration for representative languages, deterministic formatting invariants, annotation preservation, and failure packet consistency. ### Step 1921: Real merge conflict region + policy outcomes (10 tests) Primary files: - `editor/src/mcp/RegisterSprint144Tools.h` - `editor/src/graduation/ConflictRegionDetectorModel.h` - `editor/src/graduation/MergePolicyEngineModel.h` Tests (10): conflict region detection accuracy, deterministic region ordering, policy-decision reproducibility, merge packet schema validity, and retry behavior. ### Step 1922: Cross-language sync/regenerate/merge integration suite (8 tests) Add cross-language integration cases for `cpp`, `rust`, `python`, `typescript`. Tests (8): end-to-end sync->regen->merge loop, mixed-conflict handling, and deterministic replay over repeated runs. ### Step 1923: Sprint 176 Integration Summary (8 tests) Add `editor/src/Sprint176IntegrationSummary.h`. Record: - `steps_completed=5` - `sync_tools_use_real_text_ast_paths=true` - `regeneration_tools_use_real_generator_paths=true` - `merge_tools_emit_real_conflict_policy_outcomes=true` - `success=true` ## Architecture Gate - Merge/sync/regenerate outputs must be derived from real engine execution, not synthetic placeholders - Conflict resolution decisions must be deterministic and auditable