Work Packages: Unified Python CLI for Agents
Inputs: Design documents from /kitty-specs/008-unified-python-cli/ Prerequisites: plan.md (required), spec.md (user stories), research.md, data-model.md, quickstart.md
Tests: Testing requirements are explicit in spec.md (FR-026, FR-027) - all work packages include testing tasks to achieve 90%+ coverage for agent namespace.
Organization: Fine-grained subtasks (Txxx) roll up into work packages (WPxx). Each work package must be independently deliverable and testable.
Prompt Files: Each work package references a matching prompt file in /tasks/ generated by /spec-kitty.tasks. Lane status is stored in YAML frontmatter (lane: planned|doing|for_review|done). Treat this file as the high-level checklist; keep deep implementation detail inside the prompt files.
Parallelization Strategy: Phase 1 (WP01) is sequential foundation. Phases 2-5 (WP02-WP05) can execute in parallel across 4 independent streams. Phase 6 (WP06) requires all streams complete. Phase 7 (WP07) is final validation.
Subtask Format: [Txxx] [P?] Description
- [P] indicates the subtask can proceed in parallel (different files/components).
- Include precise file paths or modules.
Path Conventions
- Python package:
src/specify_cli/,tests/ - Agent commands:
src/specify_cli/cli/commands/agent/ - Core utilities:
src/specify_cli/core/ - Migrations:
src/specify_cli/upgrade/migrations/
Work Package WP01: Foundation Infrastructure (Priority: P0) 🎯 PREREQUISITE
Goal: Establish core agent CLI namespace and path resolution infrastructure for all parallel work streams. Independent Test: spec-kitty agent --help displays help text; path resolution works from main repo and worktree. Prompt: kitty-specs/008-unified-python-cli/tasks/WP01-foundation-infrastructure.md Phase: Phase 1 - Foundation (Sequential, Days 1-2) Stream: Foundation (must complete before any parallel work)
Included Subtasks
- □ T001 Create agent command directory structure
src/specify_cli/cli/commands/agent/ - □ T002 Create
src/specify_cli/cli/commands/agent/__init__.pywith Typer sub-app registration - □ T003 [P] Create stub module
src/specify_cli/cli/commands/agent/feature.py - □ T004 [P] Create stub module
src/specify_cli/cli/commands/agent/tasks.py - □ T005 [P] Create stub module
src/specify_cli/cli/commands/agent/context.py - □ T006 [P] Create stub module
src/specify_cli/cli/commands/agent/release.py - □ T007 Register agent sub-app in
src/specify_cli/cli/__init__.py - □ T008 Enhance
src/specify_cli/core/paths.pywith worktree detection logic - □ T009 Add environment variable support
SPECIFY_REPO_ROOTto path resolution - □ T010 Ensure broken symlink handling (
is_symlink()beforeexists()) - □ T011 Create test infrastructure
tests/unit/agent/directory - □ T012 Create test infrastructure
tests/integration/directory - □ T013 Create pytest fixtures for worktree testing in
tests/conftest.py - □ T014 Verify
spec-kitty agent --helpworks and shows subcommands - □ T015 Unit test: Path resolution from main repo
- □ T016 Unit test: Path resolution from worktree
- □ T017 Unit test: Broken symlink handling
Implementation Notes
- Phase 1 is SEQUENTIAL - blocks all parallel work (WP02-WP05)
- Focus on minimal stubs to unblock parallel streams
- Path resolution enhancement is critical for all agent commands
- Test infrastructure must support both main repo and worktree execution
Parallel Opportunities
- Stub modules (T003-T006) can be created in parallel
- Test directories (T011-T012) can be created concurrently
Dependencies
- None (starting package)
Risks & Mitigations
- Risk: Foundation delays block all parallel work
- Mitigation: Prioritize completion, keep scope minimal (stubs only, deep implementation in parallel phases)
Work Package WP02: Feature Management Commands (Priority: P1) 🎯 STREAM A
Goal: Migrate feature lifecycle bash scripts to Python agent commands. Independent Test: spec-kitty agent create-feature "test-feature" --json creates worktree and returns JSON; commands work from main repo and worktree. Prompt: kitty-specs/008-unified-python-cli/tasks/WP02-feature-management-commands.md Phase: Phase 2 - Feature Commands (Stream A, Agent Alpha, Days 3-4) Stream: Stream A (can run in parallel with WP03, WP04, WP05 after WP01 complete)
Included Subtasks
- □ T018 Create
src/specify_cli/core/worktree.pymodule - □ T019 Implement
create_feature_worktree(repo_root, feature_slug)inworktree.py - □ T020 Implement
get_next_feature_number(repo_root)inworktree.py - □ T021 Implement
setup_feature_directory(feature_dir)inworktree.py - □ T022 Implement
validate_feature_structure(feature_dir)inworktree.py - □ T023 Implement
create-featurecommand insrc/specify_cli/cli/commands/agent/feature.py - □ T024 Implement
check-prerequisitescommand with--json,--paths-only,--include-tasksflags - □ T025 Implement
setup-plancommand with--jsonflag infeature.py - □ T026 Ensure all feature commands support dual output (JSON for agents, Rich for humans)
- □ T027 Unit test:
worktree.pyutilities (create, validate, number detection) - □ T028 Unit test:
create-featurecommand - □ T029 Unit test:
check-prerequisitescommand with all flag combinations - □ T030 Unit test:
setup-plancommand - □ T031 Integration test: Create feature from main repo and verify worktree created
- □ T032 Integration test: Create feature from existing worktree and verify behavior
- □ T033 Verify 90%+ test coverage for
feature.pyandworktree.py
Implementation Notes
- Read bash scripts being replaced:
.kittify/scripts/bash/create-new-feature.sh,check-prerequisites.sh,setup-plan.sh - Follow Python migration patterns in
quickstart.md(pathlib, subprocess) - All commands must detect execution location automatically
- JSON output must be parseable by agents for workflow orchestration
Parallel Opportunities
- Unit tests (T027-T030) can run concurrently with implementation
- Integration tests (T031-T032) can run after command implementation complete
Dependencies
- Requires: WP01 complete (foundation infrastructure)
- No conflicts with: WP03, WP04, WP05 (different modules)
Risks & Mitigations
- Risk: Worktree symlink handling varies by platform
- Mitigation: Use existing Windows fallback pattern (file copy), test on all platforms in Phase 7
Work Package WP03: Task Workflow Commands (Priority: P1) 🎯 STREAM B
Goal: Migrate task management bash scripts to Python agent commands. spec-kitty agent workflow implement WP01 Prompt: kitty-specs/008-unified-python-cli/tasks/WP03-task-workflow-commands.md Phase: Phase 3 - Task Commands (Stream B, Agent Beta, Days 5-6) Stream: Stream B (can run in parallel with WP02, WP04, WP05 after WP01 complete)
Included Subtasks
- □ T034 Analyze existing
src/specify_cli/tasks_support.py(850 lines argparse CLI) - □ T035 Convert argparse structure to Typer decorators in
src/specify_cli/cli/commands/agent/tasks.py - □ T036 Implement
move-taskcommand with--to,--jsonflags (later evolved toworkflow implement/review) - □ T037 Implement
mark-statuscommand for updating task checkbox status - □ T038 Implement
list-taskscommand with lane filtering and--jsonflag - □ T039 Implement
add-historycommand for appending history entries - □ T040 Implement
rollback-taskcommand for undoing lane moves - □ T041 Implement
validate-workflowcommand for metadata validation - □ T042 Ensure all task commands support dual output (JSON for agents, Rich for humans)
- □ T043 Preserve all existing
tasks_support.pyfunctionality in migration - □ T044 Unit test:
move-taskcommand (all lane transitions) - later evolved to testworkflowcommands - □ T045 Unit test:
mark-statuscommand (checkbox state changes) - □ T046 Unit test:
list-taskscommand (filtering, JSON output) - □ T047 Unit test:
add-historycommand (frontmatter updates) - □ T048 Unit test:
rollback-taskcommand (undo logic) - □ T049 Unit test:
validate-workflowcommand (validation rules) - □ T050 Integration test: Full task workflow (planned → doing → for_review → done)
- □ T051 Integration test: Task commands from main repo and worktree
- □ T052 Verify 90%+ test coverage for
tasks.py - □ T053 Deprecate or remove old
tasks_support.pyafter migration
Implementation Notes
- Read bash script being replaced: Thin wrappers that call
tasks_cli.py - Preserve argparse logic but convert to cleaner Typer decorator syntax
- Task commands are high-frequency operations for agents - robustness critical
- Frontmatter YAML parsing must handle edge cases (malformed, missing fields)
Parallel Opportunities
- Unit tests (T044-T049) can run concurrently with command implementation
- Integration tests (T050-T051) can run after all commands implemented
Dependencies
- Requires: WP01 complete (foundation infrastructure)
- No conflicts with: WP02, WP04, WP05 (different modules)
Risks & Mitigations
- Risk: YAML frontmatter parsing edge cases (ruamel.yaml behavior)
- Mitigation: Comprehensive unit tests for malformed input, graceful error messages
Work Package WP04: Agent Context Management (Priority: P2) 🎯 STREAM C
Goal: Migrate agent context update bash script to Python. Independent Test: spec-kitty agent update-context --json updates CLAUDE.md with tech stack from plan; manual additions preserved. Prompt: kitty-specs/008-unified-python-cli/tasks/WP04-agent-context-management.md Phase: Phase 4 - Context Commands (Stream C, Agent Gamma, Day 7) Stream: Stream C (can run in parallel with WP02, WP03, WP05 after WP01 complete)
Included Subtasks
- □ T054 Create
src/specify_cli/core/agent_context.pymodule - □ T055 Implement
parse_plan_for_tech_stack(plan_path)to extract tech stack from plan.md - □ T056 Implement
update_agent_context(agent_type, tech_stack, feature_dir)for updating context files - □ T057 Implement
preserve_manual_additions(content, markers)to preserve<!-- MANUAL ADDITIONS -->sections - □ T058 Support all 12 agent types (Claude, Gemini, Copilot, Cursor, Windsurf, etc.)
- □ T059 Implement
update-contextcommand insrc/specify_cli/cli/commands/agent/context.py - □ T060 Add
--agent-typeflag to specify which context file to update - □ T061 Add
--jsonflag for agent-parseable output - □ T062 Ensure dual output mode (JSON for agents, Rich for humans)
- □ T063 Unit test:
parse_plan_for_tech_stack()with various plan.md formats - □ T064 Unit test:
preserve_manual_additions()with edge cases (missing markers, nested content) - □ T065 Unit test:
update_agent_context()for all 12 agent types - □ T066 Unit test:
update-contextcommand with all flag combinations - □ T067 Integration test: Update context for multiple agent types
- □ T068 Integration test: Preserve manual additions across multiple updates
- □ T069 Verify 90%+ test coverage for
context.pyandagent_context.py
Implementation Notes
- Read bash script being replaced:
.kittify/scripts/bash/update-agent-context.sh(600 lines) - Template processing must preserve user customizations between markers
- Tech stack extraction from plan.md uses markdown parsing (find "## Technical Context" section)
- Agent type detection should default to current agent if not specified
Parallel Opportunities
- Unit tests (T063-T066) can run concurrently with implementation
- Integration tests (T067-T068) can run after command complete
Dependencies
- Requires: WP01 complete (foundation infrastructure)
- No conflicts with: WP02, WP03, WP05 (different modules)
Risks & Mitigations
- Risk: Manual additions marker format changes break preservation logic
- Mitigation: Strict marker format validation, warn if markers not found
Work Package WP05: Final Feature Lifecycle Commands (Priority: P2) 🎯 STREAM D
Goal: Complete feature lifecycle by migrating accept and merge bash wrappers to Python. Independent Test: spec-kitty agent feature accept --json and spec-kitty agent feature merge --json execute successfully; bash wrappers eliminated. Prompt: kitty-specs/008-unified-python-cli/tasks/WP05-final-feature-lifecycle-commands.md Phase: Phase 5 - Completion Commands (Stream D, Agent Delta, Day 8) Stream: Stream D (can run in parallel with WP03, WP04 after WP01-WP02 complete)
Included Subtasks
- □ T070 Analyze existing
tasks_cli.py acceptandmergeimplementations - □ T071 Implement
acceptcommand insrc/specify_cli/cli/commands/agent/feature.py - □ T072 Implement
mergecommand with auto-retry logic frommerge-feature.sh - □ T073 Unit tests for accept and merge commands
- □ T074 Integration test: Full feature lifecycle (create → accept → merge)
- □ T075 Verify 90%+ test coverage for new commands
Implementation Notes
- Bash wrappers to replace:
accept-feature.sh,merge-feature.sh(thin wrappers aroundtasks_cli.py) - Leverage existing Python implementation in
scripts/tasks/tasks_cli.py - Migrate auto-retry logic from
merge-feature.sh(auto-navigate to latest worktree if in wrong location) - Extract
find_latest_feature_worktree()utility fromcommon.sh
Parallel Opportunities
- Unit tests (T073) can run concurrently with implementation
- Integration test (T074) can run after both commands implemented
Dependencies
- Requires: WP01-WP02 complete (foundation + feature.py exists)
- No conflicts with: WP03, WP04 (different commands within feature.py)
Risks & Mitigations
- Risk: Auto-retry logic may not work correctly across platforms
- Mitigation: Test on all platforms, preserve SPEC_KITTY_AUTORETRY env var behavior
Work Package WP06: Cleanup & Migration (Priority: P0) 🎯 SEQUENTIAL
Goal: Remove all bash scripts, update slash command templates, create upgrade migration for existing projects. Independent Test: Upgrade migration successfully updates test project; all bash scripts removed; all slash commands reference spec-kitty agent commands. Prompt: kitty-specs/008-unified-python-cli/tasks/WP06-cleanup-and-migration.md Phase: Phase 6 - Cleanup & Migration (Sequential, Days 9-10) Dependencies: Requires WP01-WP05 ALL complete (all command streams finished)
Included Subtasks
- □ T092 Create
src/specify_cli/upgrade/migrations/m_0_10_0_python_only.pymigration script - □ T093 Implement bash script detection in
.kittify/scripts/bash/ - □ T094 Implement slash command template scanning in
.claude/commands/*.md - □ T095 Implement template update logic (replace bash script calls with
spec-kitty agentequivalents) - □ T096 Implement worktree bash script copy cleanup
- □ T097 Implement custom modification detection (diff against templates)
- □ T098 Implement idempotent execution with version tracking in
.kittify/metadata.yaml - □ T099 Add warning messages for custom bash modifications that cannot auto-migrate
- □ T100 Delete entire
scripts/bash/directory from repository - □ T101 Delete entire
.github/workflows/scripts/directory from repository - □ T102 Update
.gitignoreif needed (remove bash script entries) - □ T103 Scan and update all slash command templates in
.claude/commands/*.md - □ T104 Update mission templates in
templates/missions/*/command-templates/ - □ T105 Update
CONTRIBUTING.mddocumentation (remove bash sections, add agent commands) - □ T106 Update
README.mddocumentation (documentspec-kitty agentnamespace) - □ T107 Create migration guide for custom bash script modifications
- □ T108 Unit test: Migration script detection logic
- □ T109 Unit test: Template update logic (bash → Python command replacement)
- □ T110 Unit test: Idempotent execution (run migration twice, verify no changes second time)
- □ T111 Integration test: Upgrade migration on test project with bash scripts
- □ T112 Integration test: Upgrade migration on test project with custom modifications
- □ T113 Verify all bash scripts removed from main repository
- □ T114 Verify all slash commands updated to reference
spec-kitty agentcommands
Implementation Notes
- Follow precedent from
m_0_9_0_frontmatter_only.pymigration - Migration version must be tracked in
.kittify/metadata.yamlfor idempotency - Custom modification detection uses git diff or file hash comparison
- Template updates must preserve user customizations outside bash script calls
Parallel Opportunities
- Documentation updates (T105-T107) can run in parallel with migration implementation
- Unit tests (T108-T110) can run concurrently
Dependencies
- Requires: WP01-WP05 ALL complete (cannot delete bash scripts until Python equivalents working)
- Blocks: WP07 (validation phase)
Risks & Mitigations
- Risk: Custom bash modifications break automated migration
- Mitigation: Detect modifications, warn user, provide manual migration guide
- Risk: Breaking changes during migration period disrupt active users
- Mitigation: Clear upgrade documentation, release notes, automated migration via
spec-kitty upgrade
Work Package WP07: Testing & Validation (Priority: P0) 🎯 SEQUENTIAL
Goal: Validate all workflows work end-to-end, cross-platform compatibility, performance targets met. Independent Test: All spec-kitty workflows complete without errors; upgrade migration works; CI passes on Windows, macOS, Linux. Prompt: kitty-specs/008-unified-python-cli/tasks/WP07-testing-and-validation.md Phase: Phase 7 - Validation (Sequential, Day 11) Dependencies: Requires WP06 complete (all implementation finished)
Included Subtasks
- □ T115 Test full feature workflow:
/spec-kitty.specify→ creates feature - □ T116 Test plan workflow:
/spec-kitty.plan→ creates plan, updates context - □ T117 Test tasks workflow:
/spec-kitty.tasks→ generates tasks - □ T118 Test implement workflow:
/spec-kitty.implement→ moves tasks through lanes - □ T119 Test review workflow:
/spec-kitty.review→ validates and marks done - □ T120 Test accept workflow:
/spec-kitty.accept→ acceptance validation - □ T121 Test merge workflow:
/spec-kitty.merge→ merges and cleans up - □ T122 Test release workflow:
spec-kitty agent build-release --dry-run→ verify packages created - □ T123 Test release workflow in GitHub Actions CI environment
- □ T124 Create test project with old bash structure for upgrade testing
- □ T125 Run
spec-kitty upgradeon test project and verify migration succeeded - □ T126 Test all workflows in upgraded project (verify no regressions)
- □ T127 Run CI tests on macOS (main development platform)
- □ T128 Run CI tests on Linux (production platform)
- □ T129 Run CI tests on Windows (verify file copy fallback works)
- □ T130 Measure command execution time for simple commands (target <100ms)
- □ T131 Measure command execution time for complex commands (target <5s)
- □ T132 Verify performance meets baseline (no measurable overhead vs bash)
- □ T133 Calculate test coverage for
src/specify_cli/cli/commands/agent/namespace - □ T134 Verify 90%+ test coverage achieved (FR-026, FR-027)
- □ T135 Verify zero path-related errors in agent execution logs
- □ T136 Document any edge cases discovered during validation
Implementation Notes
- This is the final validation gate before merge
- All workflows must complete without manual intervention
- Cross-platform testing validates Windows symlink fallback works
- Performance measurement establishes baseline for future regressions
Parallel Opportunities
- Workflow tests (T115-T121) can run in parallel after infrastructure ready
- Platform tests (T127-T129) can run concurrently
- Performance tests (T130-T132) can run in parallel with coverage analysis
Dependencies
- Requires: WP06 complete (everything implemented, bash scripts deleted, migration created)
- Blocks: None (final phase before merge)
Risks & Mitigations
- Risk: Edge cases discovered late require significant rework
- Mitigation: Comprehensive unit/integration testing in WP02-WP05 reduces risk
- Risk: Cross-platform issues on Windows
- Mitigation: Early testing in Phase 1, existing fallback patterns validated in research phase
Dependency & Execution Summary
Execution Order: 1. WP01 (Foundation) - SEQUENTIAL, must complete first 2. WP02-WP05 (Commands) - PARALLEL after WP01 complete
3. WP06 (Cleanup) - SEQUENTIAL after WP02-WP05 complete 4. WP07 (Validation) - SEQUENTIAL after WP06 complete
- WP02 (Feature: create, check, setup) - Stream A
- WP03 (Tasks) - Stream B
- WP04 (Context) - Stream C
- WP05 (Feature: accept, merge) - Stream D (needs WP02)
Critical Path: WP01 (2d) → Longest stream (2d) → WP06 (2d) → WP07 (1d) = ~7 days minimum
Parallelization Benefit: 4 command streams (6 days work) execute concurrently, reducing calendar time to ~2 days.
MVP Scope: WP01 + WP02 + WP03 (Foundation + Feature + Tasks) = Minimum viable for agent workflows
Coordination Sync Points:
- Sync 1 (Day 2): WP01 complete → Parallel streams begin
- Sync 2 (Day 6): WP02+WP03 complete → Verify basic workflows
- Sync 3 (Day 8): WP02-WP05 complete → Begin cleanup
- Sync 4 (Day 10): WP06 complete → Begin validation
Subtask Index (Reference)
spec-kitty agent workflow implement WP03
spec-kitty agent workflow implement WP03
| Subtask ID | Summary | Work Package | Priority | Parallel? |
|---|---|---|---|---|
| T001 | Create agent directory structure | WP01 | P0 | No |
| T002 | Create agent __init__.py | WP01 | P0 | No |
| T003 | Create feature.py stub | WP01 | P0 | Yes |
| T004 | Create tasks.py stub | WP01 | P0 | Yes |
| T005 | Create context.py stub | WP01 | P0 | Yes |
| T006 | Create release.py stub | WP01 | P0 | Yes |
| T007 | Register agent sub-app | WP01 | P0 | No |
| T008 | Enhance paths.py with worktree detection | WP01 | P0 | No |
| T009 | Add SPECIFY_REPO_ROOT env var support | WP01 | P0 | No |
| T010 | Ensure broken symlink handling | WP01 | P0 | No |
| T011 | Create tests/unit/agent/ | WP01 | P0 | Yes |
| T012 | Create tests/integration/ | WP01 | P0 | Yes |
| T013 | Create pytest fixtures | WP01 | P0 | No |
| T014 | Verify agent --help works | WP01 | P0 | No |
| T015 | Unit test: Path resolution main repo | WP01 | P0 | Yes |
| T016 | Unit test: Path resolution worktree | WP01 | P0 | Yes |
| T017 | Unit test: Broken symlink handling | WP01 | P0 | Yes |
| T018 | Create worktree.py module | WP02 | P1 | No |
| T019 | Implement create_feature_worktree() | WP02 | P1 | No |
| T020 | Implement get_next_feature_number() | WP02 | P1 | No |
| T021 | Implement setup_feature_directory() | WP02 | P1 | No |
| T022 | Implement validate_feature_structure() | WP02 | P1 | No |
| T023 | Implement create-feature command | WP02 | P1 | No |
| T024 | Implement check-prerequisites command | WP02 | P1 | No |
| T025 | Implement setup-plan command | WP02 | P1 | No |
| T026 | Ensure dual output for feature commands | WP02 | P1 | No |
| T027 | Unit test: worktree.py utilities | WP02 | P1 | Yes |
| T028 | Unit test: create-feature command | WP02 | P1 | Yes |
| T029 | Unit test: check-prerequisites command | WP02 | P1 | Yes |
| T030 | Unit test: setup-plan command | WP02 | P1 | Yes |
| T031 | Integration test: Create feature from main | WP02 | P1 | Yes |
| T032 | Integration test: Create feature from worktree | WP02 | P1 | Yes |
| T033 | Verify 90%+ coverage feature.py | WP02 | P1 | No |
| T034 | Analyze existing tasks_support.py | WP03 | P1 | No |
| T035 | Convert argparse to Typer in tasks.py | WP03 | P1 | No |
| T037 | Implement mark-status command | WP03 | P1 | No |
| T038 | Implement list-tasks command | WP03 | P1 | No |
| T039 | Implement add-history command | WP03 | P1 | No |
| T040 | Implement rollback-task command | WP03 | P1 | No |
| T041 | Implement validate-workflow command | WP03 | P1 | No |
| T042 | Ensure dual output for task commands | WP03 | P1 | No |
| T043 | Preserve tasks_support.py functionality | WP03 | P1 | No |
| T045 | Unit test: mark-status command | WP03 | P1 | Yes |
| T046 | Unit test: list-tasks command | WP03 | P1 | Yes |
| T047 | Unit test: add-history command | WP03 | P1 | Yes |
| T048 | Unit test: rollback-task command | WP03 | P1 | Yes |
| T049 | Unit test: validate-workflow command | WP03 | P1 | Yes |
| T050 | Integration test: Full task workflow | WP03 | P1 | Yes |
| T051 | Integration test: Tasks from both locations | WP03 | P1 | Yes |
| T052 | Verify 90%+ coverage tasks.py | WP03 | P1 | No |
| T053 | Deprecate old tasks_support.py | WP03 | P1 | No |
| T054 | Create agent_context.py module | WP04 | P2 | No |
| T055 | Implement parse_plan_for_tech_stack() | WP04 | P2 | No |
| T056 | Implement update_agent_context() | WP04 | P2 | No |
| T057 | Implement preserve_manual_additions() | WP04 | P2 | No |
| T058 | Support all 12 agent types | WP04 | P2 | No |
| T059 | Implement update-context command | WP04 | P2 | No |
| T060 | Add --agent-type flag | WP04 | P2 | No |
| T061 | Add --json flag | WP04 | P2 | No |
| T062 | Ensure dual output for context commands | WP04 | P2 | No |
| T063 | Unit test: parse_plan_for_tech_stack() | WP04 | P2 | Yes |
| T064 | Unit test: preserve_manual_additions() | WP04 | P2 | Yes |
| T065 | Unit test: update_agent_context() all types | WP04 | P2 | Yes |
| T066 | Unit test: update-context command | WP04 | P2 | Yes |
| T067 | Integration test: Multiple agent types | WP04 | P2 | Yes |
| T068 | Integration test: Preserve manual additions | WP04 | P2 | Yes |
| T069 | Verify 90%+ coverage context.py | WP04 | P2 | No |
| T070 | Analyze tasks_cli.py accept/merge | WP05 | P2 | No |
| T071 | Implement accept command | WP05 | P2 | No |
| T072 | Implement merge command w/ auto-retry | WP05 | P2 | No |
| T073 | Unit tests: accept/merge commands | WP05 | P2 | Yes |
| T074 | Integration test: Full lifecycle | WP05 | P2 | Yes |
| T075 | Verify 90%+ coverage | WP05 | P2 | No |
| T092 | Create m_0_10_0_python_only.py | WP06 | P0 | No |
| T093 | Implement bash script detection | WP06 | P0 | No |
| T094 | Implement template scanning | WP06 | P0 | No |
| T095 | Implement template update logic | WP06 | P0 | No |
| T096 | Implement worktree cleanup | WP06 | P0 | No |
| T097 | Implement custom modification detection | WP06 | P0 | No |
| T098 | Implement idempotent execution | WP06 | P0 | No |
| T099 | Add custom modification warnings | WP06 | P0 | No |
| T100 | Delete scripts/bash/ directory | WP06 | P0 | No |
| T101 | Delete .github/workflows/scripts/ | WP06 | P0 | No |
| T102 | Update .gitignore | WP06 | P0 | No |
| T103 | Update .claude/commands/*.md templates | WP06 | P0 | No |
| T104 | Update mission templates | WP06 | P0 | No |
| T105 | Update CONTRIBUTING.md | WP06 | P0 | Yes |
| T106 | Update README.md | WP06 | P0 | Yes |
| T107 | Create migration guide | WP06 | P0 | Yes |
| T108 | Unit test: Migration detection | WP06 | P0 | Yes |
| T109 | Unit test: Template updates | WP06 | P0 | Yes |
| T110 | Unit test: Idempotent execution | WP06 | P0 | Yes |
| T111 | Integration test: Upgrade with bash | WP06 | P0 | Yes |
| T112 | Integration test: Upgrade with custom mods | WP06 | P0 | Yes |
| T113 | Verify bash scripts deleted | WP06 | P0 | No |
| T114 | Verify templates updated | WP06 | P0 | No |
| T115 | Test specify workflow | WP07 | P0 | Yes |
| T116 | Test plan workflow | WP07 | P0 | Yes |
| T117 | Test tasks workflow | WP07 | P0 | Yes |
| T118 | Test implement workflow | WP07 | P0 | Yes |
| T119 | Test review workflow | WP07 | P0 | Yes |
| T120 | Test accept workflow | WP07 | P0 | Yes |
| T121 | Test merge workflow | WP07 | P0 | Yes |
| T122 | Test release dry-run | WP07 | P0 | Yes |
| T123 | Test release in CI | WP07 | P0 | No |
| T124 | Create test project for upgrade | WP07 | P0 | No |
| T125 | Run upgrade on test project | WP07 | P0 | No |
| T126 | Test workflows in upgraded project | WP07 | P0 | Yes |
| T127 | Run CI on macOS | WP07 | P0 | Yes |
| T128 | Run CI on Linux | WP07 | P0 | Yes |
| T129 | Run CI on Windows | WP07 | P0 | Yes |
| T130 | Measure simple command performance | WP07 | P0 | Yes |
| T131 | Measure complex command performance | WP07 | P0 | Yes |
| T132 | Verify performance baseline | WP07 | P0 | No |
| T133 | Calculate test coverage | WP07 | P0 | No |
| T134 | Verify 90%+ coverage achieved | WP07 | P0 | No |
| T135 | Verify zero path errors | WP07 | P0 | No |
| T136 | Document edge cases | WP07 | P0 | No |
<!-- status-model:start -->
Canonical Status (Generated)
<!-- status-model:end -->
- WP01: done
- WP02: done
- WP03: done
- WP04: done
- WP05: done
- WP06: done
- WP07: done