fix: stream recipe-runner progress in Copilot launcher#3026
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
🤖 Auto-fixed version bump The version in If you need a minor or major version bump instead, please update |
Philosophy / Compliance Review — PR #3026Verdict: Clean ✓ All six amplihack principles pass:
Minor nit (non-blocking): ~80% of the test diff is formatting normalization (line-length compliance), not functional changes. New 🤖 Generated with Claude Code |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Step 16b: Reviewer checkReview outcome: one substantive issue was found during review and has been addressed in
|
|
🤖 Auto-fixed version bump The version in If you need a minor or major version bump instead, please update |
Step 16c: Security reviewSecurity outcome: one medium concern was found in the operator guidance and has been addressed in
|
Step 16d: Philosophy compliancePhilosophy outcome: one zero-BS / no-silent-fallback issue was found and fixed in
|
Step 17: Review feedback addressedAddressed the review findings with follow-up commit
Post-fix validation passed:
|
Step 21: Ready for review\nAll required workflow artifacts are now present on this PR: Step 13 and Step 19 evidence are in the description, Step 16 review/security/philosophy comments are posted, and the follow-up review fixes are pushed and validated. Marking this PR ready for external review. |
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Repo Guardian - PassedAll 7 changed files are durable project artifacts. No ephemeral content detected.
|
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
🤖 Auto-fixed version bump The version in If you need a minor or major version bump instead, please update |
Repo Guardian - PassedAll 13 changed files are durable project artifacts. No ephemeral content detected.
|
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Repo Guardian - PassedAll 15 changed files are durable project artifacts. No ephemeral content detected.
|
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
|
🤖 Auto-fixed version bump The version in If you need a minor or major version bump instead, please update |
Repo Guardian - PassedAll 16 changed files are durable project artifacts. No ephemeral content detected.
|
Summary
progresssupport torun_recipe_by_name()and the Rust recipe-runner wrapperdev-orchestratorlaunch path to opt intoprogress=Trueand cover it with regression testsLinked Issue
Step 13: Local Testing Results
Test Environment:
/home/azureuser/src/amplihack12/worktrees/issue-3024-runner-streamingusing repo-manageduvPython environment and local tmux sessionTests Executed:
uv run python -m pytest tests/recipes/test_rust_runner.py tests/skills/test_dev_orchestrator_issue_3002.py tests/skills/test_dev_orchestrator_issue_3010.py tests/skills/test_dev_orchestrator_issue_3011.py tests/skills/test_dev_orchestrator_issue_3024.py -q-> passed ✅run_recipe_by_name('smart-orchestrator', dry_run=True, progress=True)from the checked-out source tree -> progress markers streamed during execution ✅Regressions: existing
#3002,#3010, and#3011skill regression coverage still passed ✅ None detectedIssues Found: initial wrapper implementation buffered progress output; fixed by using a progress-specific
Popenpath that streams stderr while preserving stdout for JSON parsingStep 19: Outside-In Testing Results
Test Environment: local tmux-backed CLI simulation with
PYTHONPATH=src python3from the feature worktreeInterface Type: CLI / orchestrator launch path
User Flows Tested:
Flow 1: direct Python API dry-run with progress enabled -> success ✅
run_recipe_by_name('smart-orchestrator', dry_run=True, progress=True)▶ classify-and-decomposeFlow 2: tmux-style launch path used by the skill documentation -> success ✅
/tmp/rr3024-tmux.logcaptured the streamed progress outputEdge Cases Tested: progress mode still preserved machine-readable stdout for the wrapper path ✅
Integration Points Verified: Python launcher -> Rust recipe-runner invocation path ✅
Observability Check: stderr progress output visible in realistic tmux/log usage ✅
Issues Found: none after the streaming/return-code fixes
Notes
#3010and#3011were already fixed onorigin/main; this PR is the remaining launcher/wrapper side of#3024rysweet/amplihack-recipe-runner#19