Prompt #153
Back to promptsPlan Wave-Style Migration
- Variables
- feature_name, source_service, target_service, wave_number
- Tags
- stack-aware,migration,wave,glug,yoga,rag-stack,strict-separation
- Source
- research-2026-05-01-stack-aware
- Use count
- 0
- Created
- 2026-05-01T18:30:48.776731+00:00
- Updated
- 2026-05-01T18:30:48.776731+00:00
Content
Design a Wave-style migration to move {feature_name} from {source_service} to {target_service}.
Pattern (from rag-stack Wave-1 through Wave-8d):
- Each wave = one PR, idempotent, rollback-capable
- Wave N: "extract X from Y, leave shim" β Wave N+1: "remove shim, delete source copy"
Wave plan for {feature_name}:
Wave {wave_number}a β Extract:
- Copy {feature_name} code from {source_service} to {target_service}
- Leave import shim in {source_service}: `from {target_service}.helpers.{feature_name} import *`
- Tests: both source and target import paths pass
Wave {wave_number}b β Wire:
- {target_service} exposes HTTP endpoint (never Python import across services)
- {source_service} switches to HTTP client (e.g. helpers/rag_stack_client.py pattern)
Wave {wave_number}c β Clean:
- Remove shim from {source_service}
- `grep -rE "from {source_service} import" /nvmetank1/projects/{target_service}/ β empty`
Strict rule: `grep -rE "from glug|from yoga|from rag_stack" <other_repo>/ β must be empty` post-wave.