Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
7aa1251
Fix create-tickets to support both auto-generated and manual epic for…
kpearson Oct 8, 2025
bdb1f22
Enhance create-tickets to extract rich details from epic fields
kpearson Oct 8, 2025
e909daf
Fix create-tickets to generate rich detailed tickets without template
kpearson Oct 8, 2025
cdd2475
Integrate ticket and test standards into create-epic and create-ticke…
kpearson Oct 9, 2025
4c32b07
Remove unbuild epic tickets
kpearson Oct 9, 2025
6cb163e
Add epic creation prompt architecture and update installation
kpearson Oct 9, 2025
68db2b2
Add create-epic command file with new prompt architecture
kpearson Oct 9, 2025
7322edd
Add function examples requirement to epic creation prompt
kpearson Oct 10, 2025
5ace691
Remove state-machine epic for regeneration
kpearson Oct 10, 2025
745af2e
Add epic review agent with audit trail
kpearson Oct 10, 2025
0167d73
Add epic-reviewer agent integration to create-epic command
kpearson Oct 10, 2025
7342a09
Update create-epic command to use epic-reviewer agent naturally
kpearson Oct 10, 2025
3091e2d
Implement deterministic epic review workflow with session resumption
kpearson Oct 10, 2025
77cf9c3
Remove generated state-machine epic file
kpearson Oct 10, 2025
c0e2123
Improve epic review feedback application workflow
kpearson Oct 10, 2025
6e19b24
Make epic review feedback surgical and support rich epic format
kpearson Oct 10, 2025
8aae5e3
Add make archive-epic command for cleaning up generated files
kpearson Oct 10, 2025
2fcc0f3
Add YAML frontmatter with session tracking to epic reviews
kpearson Oct 10, 2025
61ff970
Add tickets review workflow after create-tickets
kpearson Oct 10, 2025
01c9363
Rename review commands for clarity and consistency
kpearson Oct 10, 2025
33b5e54
Add clear task framing to epic-review command
kpearson Oct 10, 2025
785d2e9
Focus epic-review on spec-to-implementation validation
kpearson Oct 10, 2025
35369e7
Fix section numbering and enforce 80-char line length
kpearson Oct 11, 2025
630ee34
Fix epic file placement - create in spec directory not parent
kpearson Oct 11, 2025
b242936
Add documentation of applied review changes
kpearson Oct 11, 2025
848ac35
Clarify epic-review is for human consumption only
kpearson Oct 11, 2025
d64d005
Add Python fallback for review feedback documentation
kpearson Oct 11, 2025
fbc4266
Fix epic file output path when using directory argument
kpearson Oct 11, 2025
5b7b46b
Add Python fallback for review feedback documentation
kpearson Oct 11, 2025
d07ea5a
Add session IDs to review updates template frontmatter
kpearson Oct 11, 2025
c9a7175
Clarify epic-review is for human consumption only
kpearson Oct 11, 2025
e3f2137
Separate stdout and stderr logging for review feedback
kpearson Oct 11, 2025
5fbb5bf
Spec reuseable apply freview feedback
kpearson Oct 11, 2025
47c3b6b
Pivot state machine to Python-driven execution
kpearson Oct 11, 2025
8c20f27
Epic planning complete - Apply Review Feedback
kpearson Oct 11, 2025
8660b8d
Fix epic validator tests to match current implementation
kpearson Oct 11, 2025
008e01f
Create ReviewTargets dataclass for review feedback dependency injection
kpearson Oct 11, 2025
066db72
Implement _create_template_doc() helper function
kpearson Oct 11, 2025
ebae0e7
Implement _create_fallback_updates_doc() helper function
kpearson Oct 11, 2025
4e6b30f
Extract _build_feedback_prompt() helper function for dynamic prompt g…
kpearson Oct 11, 2025
fa795e7
Merge tickets ARF-001 through ARF-004
kpearson Oct 11, 2025
0bde843
Implement apply_review_feedback() orchestration function
kpearson Oct 11, 2025
83c46be
Add ReviewTargets and apply_review_feedback exports to cli.utils
kpearson Oct 11, 2025
995122a
Integrate review feedback into create_tickets.py
kpearson Oct 11, 2025
3c633d1
Refactor create_epic.py to use shared review feedback utility
kpearson Oct 11, 2025
2ad026a
Merge branches 'ticket/ARF-007' and 'ticket/ARF-008' into apply-revie…
kpearson Oct 11, 2025
eef2b03
Add comprehensive unit tests for apply_review_feedback() function
kpearson Oct 11, 2025
8ed344a
Add integration tests and test fixtures for review feedback workflows
kpearson Oct 11, 2025
cd03172
Add epic artifacts and test fixtures
kpearson Oct 11, 2025
506f7f8
Add --force flag to create-x commands
kpearson Oct 12, 2025
0a69bdd
Remove split epic feature
kpearson Oct 12, 2025
ca19753
Add state machine tickets
kpearson Oct 12, 2025
3fe1d59
Add foundational type-safe data models and state enums for epic state…
kpearson Oct 12, 2025
467b02d
Add GitOperations wrapper for git subprocess commands
kpearson Oct 12, 2025
5867284
Add TransitionGate protocol and EpicContext for validation gates
kpearson Oct 12, 2025
96c28bd
Add ClaudeTicketBuilder for ticket builder subprocess spawning
kpearson Oct 12, 2025
041f488
Implement self-driving EpicStateMachine for autonomous ticket execution
kpearson Oct 12, 2025
5a765b6
Implement LLMStartGate and DependenciesMetGate with comprehensive uni…
kpearson Oct 12, 2025
9d645c0
Implement CreateBranchGate with comprehensive tests
kpearson Oct 12, 2025
ab397fb
Implement failure handling with cascading effects
kpearson Oct 12, 2025
f3f8df4
Implement epic finalization logic with topological sort and squash me…
kpearson Oct 12, 2025
77a537c
Implement state machine resume from epic-state.json
kpearson Oct 12, 2025
37b064d
feat: rewrite execute-epic command to use EpicStateMachine
kpearson Oct 12, 2025
52266a4
Update epic documentation and ticket files
kpearson Oct 12, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
228 changes: 228 additions & 0 deletions .epics/apply-review-feedback-cd03172/TICKETS_CREATED.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,228 @@
# Apply Review Feedback Abstraction - Tickets Created

**Epic**: Apply Review Feedback Abstraction
**Date**: 2025-10-11
**Total Tickets**: 10
**Status**: All tickets created and validated

---

## Ticket Summary

| Ticket ID | Title | Lines | Dependencies |
|-----------|-------|-------|--------------|
| ARF-001 | Create review_feedback.py utility module with ReviewTargets dataclass | 130 | None |
| ARF-002 | Extract _build_feedback_prompt() helper function | 142 | ARF-001 |
| ARF-003 | Extract _create_template_doc() helper function | 153 | ARF-001 |
| ARF-004 | Extract _create_fallback_updates_doc() helper function | 171 | ARF-001 |
| ARF-005 | Create main apply_review_feedback() function | 259 | ARF-001, ARF-002, ARF-003, ARF-004 |
| ARF-006 | Update cli/utils/__init__.py exports | 137 | ARF-005 |
| ARF-007 | Refactor create_epic.py to use shared utility | 180 | ARF-006 |
| ARF-008 | Integrate review feedback into create_tickets.py | 215 | ARF-006 |
| ARF-009 | Create unit tests for review_feedback module | 272 | ARF-005 |
| ARF-010 | Perform integration testing and validation | 301 | ARF-007, ARF-008, ARF-009 |

**Total Planning**: 1,960 lines of detailed specifications

---

## Dependency Graph

```
ARF-001 (ReviewTargets dataclass)
├── ARF-002 (_build_feedback_prompt)
├── ARF-003 (_create_template_doc)
├── ARF-004 (_create_fallback_updates_doc)
└── ARF-005 (apply_review_feedback main function)
├── ARF-006 (__init__.py exports)
│ ├── ARF-007 (Refactor create_epic.py)
│ └── ARF-008 (Integrate create_tickets.py)
└── ARF-009 (Unit tests)

ARF-010 (Integration testing)
├── Depends on: ARF-007
├── Depends on: ARF-008
└── Depends on: ARF-009
```

---

## Execution Order

Based on dependencies, tickets should be executed in this order:

**Phase 1: Foundation** (Parallel after ARF-001)
1. ARF-001: ReviewTargets dataclass

**Phase 2: Helper Functions** (Can execute in parallel)
2. ARF-002: _build_feedback_prompt()
3. ARF-003: _create_template_doc()
4. ARF-004: _create_fallback_updates_doc()

**Phase 3: Main Function**
5. ARF-005: apply_review_feedback()

**Phase 4: Exports**
6. ARF-006: Update __init__.py

**Phase 5: Integration** (Can execute in parallel)
7. ARF-007: Refactor create_epic.py
8. ARF-008: Integrate create_tickets.py

**Phase 6: Testing** (Parallel with Phase 5)
9. ARF-009: Unit tests

**Phase 7: Validation**
10. ARF-010: Integration testing

---

## Quality Metrics

### Ticket Standards Compliance

All tickets meet requirements from `/Users/kit/.claude/standards/ticket-standards.md`:

- ✅ **50-150 line minimum**: All tickets exceed this (130-301 lines)
- ✅ **Clear user stories**: Every ticket has user stories with who/what/why
- ✅ **Specific acceptance criteria**: 8-16 testable criteria per ticket
- ✅ **Technical context**: Detailed explanations of system impact
- ✅ **Dependencies listed**: Both "Depends on" and "Blocks" specified
- ✅ **Collaborative code context**: Provides/Consumes/Integrates documented
- ✅ **Function profiles**: Signatures with arity and intent
- ✅ **Automated tests**: Specific test names with patterns
- ✅ **Definition of done**: Checklist beyond acceptance criteria
- ✅ **Non-goals**: Explicitly stated scope boundaries
- ✅ **Deployability test**: Each ticket can be deployed independently

### Test Standards Compliance

All tickets meet requirements from `/Users/kit/.claude/standards/test-standards.md`:

- ✅ **Unit tests specified**: Pattern `test_[function]_[scenario]_[expected]()`
- ✅ **Integration tests specified**: Pattern `test_[feature]_[when]_[then]()`
- ✅ **Coverage targets**: 80% minimum, 100% for critical paths
- ✅ **Test framework identified**: pytest (from pyproject.toml)
- ✅ **Test commands provided**: Actual `uv run pytest` commands
- ✅ **Performance benchmarks**: Unit < 100ms, integration < 5s
- ✅ **AAA pattern**: Tests described with Arrange-Act-Assert structure

---

## Files Created

All ticket files created at:
```
/Users/kit/Code/buildspec/.epics/apply-review-feedback/tickets/
├── ARF-001.md (130 lines, 6.9 KB)
├── ARF-002.md (142 lines, 7.4 KB)
├── ARF-003.md (153 lines, 7.6 KB)
├── ARF-004.md (171 lines, 9.0 KB)
├── ARF-005.md (259 lines, 13 KB)
├── ARF-006.md (137 lines, 5.5 KB)
├── ARF-007.md (180 lines, 7.8 KB)
├── ARF-008.md (215 lines, 8.9 KB)
├── ARF-009.md (272 lines, 13 KB)
└── ARF-010.md (301 lines, 11 KB)
```

---

## Epic Context Summary

**Epic Goal**: Create a reusable abstraction for applying review feedback that works across different review types (epic-file-review and epic-review).

**Key Architecture Decisions**:

1. **Dependency Injection Pattern**: ReviewTargets dataclass serves as configuration container
2. **Separation of Concerns**: Helper functions for prompt building, template creation, fallback documentation
3. **Error Handling Strategy**: Graceful degradation with fallback documentation
4. **Code Reuse**: ~272 LOC removed from create_epic.py, shared utility enables create_tickets.py integration

**Files to Modify** (from epic):
- New: `cli/utils/review_feedback.py` (ARF-001 through ARF-005)
- Modified: `cli/utils/__init__.py` (ARF-006)
- Refactored: `cli/commands/create_epic.py` (ARF-007)
- Enhanced: `cli/commands/create_tickets.py` (ARF-008)
- New: `tests/unit/utils/test_review_feedback.py` (ARF-009)
- New: `tests/integration/test_review_feedback_integration.py` (ARF-010)

**Coordination Requirements** (from epic):
- ReviewTargets is single source of truth for file paths
- All helper functions accept ReviewTargets as parameter
- No hardcoded file paths in apply_review_feedback()
- Prompt template varies based on review_type
- Template uses frontmatter with status tracking
- Fallback doc created when template status remains in_progress
- Both create_epic.py and create_tickets.py instantiate ReviewTargets differently

---

## Testing Strategy

**Unit Tests** (ARF-009):
- 60+ test cases covering all functions
- Mocked ClaudeRunner and file I/O
- Coverage target: 80% minimum, 100% for critical paths

**Integration Tests** (ARF-010):
- End-to-end workflows with real files
- Performance validation (< 30s)
- Fallback scenarios
- Error handling verification

**Total Test Cases**: ~71 automated tests across unit and integration levels

---

## Success Criteria

For this epic to be considered complete, all tickets must pass the deployability test:

1. **ARF-001**: ReviewTargets can be instantiated and used
2. **ARF-002**: Prompts build correctly for both review types
3. **ARF-003**: Template files created with proper frontmatter
4. **ARF-004**: Fallback docs created with stdout/stderr analysis
5. **ARF-005**: Full workflow orchestrates correctly
6. **ARF-006**: Imports work from cli.utils
7. **ARF-007**: create-epic workflow unchanged functionally
8. **ARF-008**: create-tickets gains review feedback capability
9. **ARF-009**: All unit tests pass with ≥80% coverage
10. **ARF-010**: All integration tests pass, performance acceptable

---

## Validation Checklist

Before marking epic complete, verify:

- [ ] All 10 tickets created and saved to disk
- [ ] Each ticket meets ticket-standards.md requirements
- [ ] Each ticket meets test-standards.md requirements
- [ ] Dependency graph is acyclic and correct
- [ ] Execution order is clear and logical
- [ ] All test specifications are concrete (no "add tests" placeholders)
- [ ] All function signatures are specified with types
- [ ] All file paths are absolute (from epic context)
- [ ] All LOC estimates are documented (ARF-007: -272, ARF-008: +27)

✅ **All validation checks passed**

---

## Next Steps

1. Begin implementation starting with ARF-001 (foundation)
2. Execute tickets in dependency order (see Execution Order above)
3. Run unit tests after each ticket (ARF-009 test cases)
4. Run integration tests after all implementation tickets (ARF-010)
5. Verify all acceptance criteria met before marking ticket complete
6. Update this document with implementation progress

---

**Generated**: 2025-10-11 13:48 PST
**Epic File**: `/Users/kit/Code/buildspec/.epics/apply-review-feedback/apply-review-feedback.epic.yaml`
**Standards Used**:
- `/Users/kit/.claude/standards/ticket-standards.md`
- `/Users/kit/.claude/standards/test-standards.md`
Loading