feat(sdlc): SDLC orchestrator skill + human approval checkpoint (#1707, #1706)#1
Draft
tomgreen981111-cipher wants to merge 6 commits into
Draft
Conversation
…tracking (Anantys-oss#1704) Implements instance/sdlc/{issue_name}/ workspace layout with atomic STATE.json reads/writes, phase artifact paths, and workspace archival for terminal phases (PRODUCTION_READY, ABANDONED). Foundation required by Anantys-oss#1707 (/sdlc orchestrator) and Anantys-oss#1706 (approval checkpoint) — both need a place to read and persist phase state between missions.
…kpoint (Anantys-oss#1707, Anantys-oss#1706) Adds /sdlc command for multi-phase software development lifecycle workflows: Research → Architecture → Planning → [human approval gate] → Implementation → Review (security/QA/SRE) → Documentation → Production Ready. - `handler.py`: /sdlc Telegram command — create/resume/jump/approve workflows - `sdlc_phase_runner.py`: Python CLI runner invoked per phase via skill_dispatch - `iteration_manager.py`: approval gate — sentinel missions return `sdlc_wait` - `mission_executor.py`: idle-wait config entry for `sdlc_wait` action - `command_handlers.py`: /approve and /reject commands with bridge dispatch - `skill_dispatch.py`: sdlc_phase runner + command builder registration - Tests: 31 tests covering handler, dispatch, approval gate, command handlers Depends on sdlc_state.py (Anantys-oss#1813) and phase prompts (Anantys-oss#1814) merged from base branch. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…nantys-oss#1708) - Fix-loop now injects only failing experts' reviews (+ PLAN.md) rather than all three review artifacts — keeps fix context minimal and targeted - Remove dead cmd_extra / context_file / reviewer_context_file code that was built but never passed to run_command_streaming - Drop unused get_artifact_path and tempfile imports - Fix silent broad except in command_handlers._resolve_approval_project - Remove sdlc_phase from CLAUDE.md core skill list (it's an internal runner registered in skill_dispatch, not a user-facing SKILL.md skill) - Add 2 tests for FIX_LOOP targeted context injection
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
/sdlcTelegram command — creates and resumes multi-phase SDLC workflows for GitHub issuessdlc_phase_runner.pyPython CLI runner invoked per mission, advancing through phases: Research → Architecture → Planning → [approval gate] → Implementation → Review (security/QA/SRE) → Documentation → Production Ready[sdlc:awaiting-approval:{name}]sentinel; iteration_manager returnssdlc_waitso it's never executed;/approve//rejectcommands resume or abandonDependencies
This PR depends on (stacked on
koan/sdlc-phase-prompts-1705):sdlc_state.pystate persistence layer (merged into base branch)koan/sdlc-phase-prompts-1705)Key design decisions
[sdlc:awaiting-approval:{name}]tag in missions.md; iteration_manager detects and skips it, giving the human a clean pause pointVERDICT: NEEDS_FIXin any artifact triggers fix loopTest plan
KOAN_ROOT=/tmp/test-koan pytest koan/tests/test_sdlc_orchestrator.py -v)KOAN_ROOT=/tmp/test-koan pytest koan/tests/ -q)make lintclean (only pre-existingrecurring.pyPERF401 error, not introduced by this branch)/sdlc my-feature "description"→ phases advance →/approve→ implementation queued/approveremoves sentinel and queues implementation🤖 Generated with Claude Code