Skip to content

feat(sdlc): SDLC orchestrator, approval checkpoint, and context injection (#1707, #1706, #1708)#1817

Draft
tomgreen981111-cipher wants to merge 7 commits into
Anantys-oss:mainfrom
tomgreen981111-cipher:koan/sdlc-orchestrator-1707
Draft

feat(sdlc): SDLC orchestrator, approval checkpoint, and context injection (#1707, #1706, #1708)#1817
tomgreen981111-cipher wants to merge 7 commits into
Anantys-oss:mainfrom
tomgreen981111-cipher:koan/sdlc-orchestrator-1707

Conversation

@tomgreen981111-cipher

Copy link
Copy Markdown
Contributor

What

Implements the `/sdlc` multi-phase workflow command — Research → Architecture → Planning → [human gate] → Implementation → Review (security/QA/SRE) → Fix loop → Documentation → Production Ready.

Why

Closes #1707, #1706, #1708. Depends on #1813 (state persistence) and #1814 (prompt corpus) — merge those first.

Without an approval gate between Planning and Implementation, the "agent proposes, human decides" contract was broken for multi-phase work — a flawed plan would silently launch implementation and burn quota. The fix-loop context injection (#1708) ensures the fix agent only sees failing reviews, not all three — keeping context minimal.

How

  • handler.py/sdlc <issue-name> Telegram command: create/resume/jump; --approve alias
  • sdlc_phase_runner.py — Per-phase CLI runner; parallel review (security/QA/SRE); _build_context() injects prior artifacts per phase; FIX_LOOP gets only failing experts' reviews + PLAN.md
  • iteration_manager.py — Approval sentinel missions return sdlc_wait — never executed
  • command_handlers.py/approve and /reject follow the handle_resume() pattern
  • skill_dispatch.pysdlc_phase runner + command builder registered

Testing

33 tests: handler (start/resume/jump/approve), skill dispatch, approval gate, command handlers, context injection (fix-loop targeted). Full suite 15908 passed.

Tom Green and others added 7 commits June 7, 2026 04:48
…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.
10 coordinated prompt files in koan/skills/core/sdlc/prompts/ — each
with explicit input/output artifact contracts, so phases build on each
other rather than running in isolation:

- research.md — codebase analysis, risk classification (Low/Medium/High)
- architecture.md — reads RESEARCH.md, produces ADR.md with rejected alternatives
- planning.md — reads ADR+RESEARCH, produces PLAN.md with machine-runnable acceptance criteria
- implementation.md — reads PLAN.md, writes code + records test output in IMPLEMENTATION.md
- security_review.md — diff-only, VERDICT: APPROVED/NEEDS_FIX block for fix-loop parsing
- qa_review.md — coverage gaps + acceptance criteria check, same verdict format
- sre_review.md — resource leaks, failure modes, deployment safety, same verdict format
- fix.md — reads only NEEDS_FIX verdicts, touches only cited files, bounded by MAX_FIX_ITERATIONS
- tech_writer.md — reads final IMPLEMENTATION.md, writes CHANGELOG + README updates
- orchestrator.md — reads STATE.json, queues next phase mission, sends Telegram updates

All prompts load via load_skill_prompt() with @include partials resolved.
SKILL.md skeleton created (handler.py comes with Anantys-oss#1707).
55 tests verify loading, substitution, and artifact contracts.

Closes Anantys-oss#1705
…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
@Koan-Bot Koan-Bot self-requested a review June 7, 2026 16:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement /sdlc orchestrator skill with full phase routing and CLI flags

1 participant