mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-04-22 11:36:37 +00:00
more detailed SDLC plan
This commit is contained in:
@@ -0,0 +1,137 @@
|
|||||||
|
# Tech Stack Selection
|
||||||
|
|
||||||
|
## Initial data:
|
||||||
|
- Problem description: `@_docs/00_problem/problem_description.md`
|
||||||
|
- Restrictions: `@_docs/00_problem/restrictions.md`
|
||||||
|
- Acceptance criteria: `@_docs/00_problem/acceptance_criteria.md`
|
||||||
|
- Security approach: `@_docs/00_problem/security_approach.md`
|
||||||
|
- Solution draft: `@_docs/01_solution/solution.md`
|
||||||
|
|
||||||
|
## Role
|
||||||
|
You are a software architect evaluating technology choices
|
||||||
|
|
||||||
|
## Task
|
||||||
|
- Evaluate technology options against requirements
|
||||||
|
- Consider team expertise and learning curve
|
||||||
|
- Assess long-term maintainability
|
||||||
|
- Document selection rationale
|
||||||
|
|
||||||
|
## Output
|
||||||
|
|
||||||
|
### Requirements Analysis
|
||||||
|
|
||||||
|
#### Functional Requirements
|
||||||
|
| Requirement | Tech Implications |
|
||||||
|
|-------------|-------------------|
|
||||||
|
| [From acceptance criteria] | |
|
||||||
|
|
||||||
|
#### Non-Functional Requirements
|
||||||
|
| Requirement | Tech Implications |
|
||||||
|
|-------------|-------------------|
|
||||||
|
| Performance | |
|
||||||
|
| Scalability | |
|
||||||
|
| Security | |
|
||||||
|
| Maintainability | |
|
||||||
|
|
||||||
|
#### Constraints
|
||||||
|
| Constraint | Impact on Tech Choice |
|
||||||
|
|------------|----------------------|
|
||||||
|
| [From restrictions] | |
|
||||||
|
|
||||||
|
### Technology Evaluation
|
||||||
|
|
||||||
|
#### Programming Language
|
||||||
|
|
||||||
|
| Option | Pros | Cons | Score (1-5) |
|
||||||
|
|--------|------|------|-------------|
|
||||||
|
| | | | |
|
||||||
|
|
||||||
|
**Selection**: [Language]
|
||||||
|
**Rationale**: [Why this choice]
|
||||||
|
|
||||||
|
#### Framework
|
||||||
|
|
||||||
|
| Option | Pros | Cons | Score (1-5) |
|
||||||
|
|--------|------|------|-------------|
|
||||||
|
| | | | |
|
||||||
|
|
||||||
|
**Selection**: [Framework]
|
||||||
|
**Rationale**: [Why this choice]
|
||||||
|
|
||||||
|
#### Database
|
||||||
|
|
||||||
|
| Option | Pros | Cons | Score (1-5) |
|
||||||
|
|--------|------|------|-------------|
|
||||||
|
| | | | |
|
||||||
|
|
||||||
|
**Selection**: [Database]
|
||||||
|
**Rationale**: [Why this choice]
|
||||||
|
|
||||||
|
#### Infrastructure/Hosting
|
||||||
|
|
||||||
|
| Option | Pros | Cons | Score (1-5) |
|
||||||
|
|--------|------|------|-------------|
|
||||||
|
| | | | |
|
||||||
|
|
||||||
|
**Selection**: [Platform]
|
||||||
|
**Rationale**: [Why this choice]
|
||||||
|
|
||||||
|
#### Key Libraries/Dependencies
|
||||||
|
|
||||||
|
| Category | Library | Version | Purpose | Alternatives Considered |
|
||||||
|
|----------|---------|---------|---------|------------------------|
|
||||||
|
| | | | | |
|
||||||
|
|
||||||
|
### Evaluation Criteria
|
||||||
|
|
||||||
|
Rate each technology option against these criteria:
|
||||||
|
1. **Fitness for purpose**: Does it meet functional requirements?
|
||||||
|
2. **Performance**: Can it meet performance requirements?
|
||||||
|
3. **Security**: Does it have good security track record?
|
||||||
|
4. **Maturity**: Is it stable and well-maintained?
|
||||||
|
5. **Community**: Active community and documentation?
|
||||||
|
6. **Team expertise**: Does team have experience?
|
||||||
|
7. **Cost**: Licensing, hosting, operational costs?
|
||||||
|
8. **Scalability**: Can it grow with the project?
|
||||||
|
|
||||||
|
### Technology Stack Summary
|
||||||
|
|
||||||
|
```
|
||||||
|
Language: [Language] [Version]
|
||||||
|
Framework: [Framework] [Version]
|
||||||
|
Database: [Database] [Version]
|
||||||
|
Cache: [Cache solution]
|
||||||
|
Message Queue: [If applicable]
|
||||||
|
CI/CD: [Platform]
|
||||||
|
Hosting: [Platform]
|
||||||
|
Monitoring: [Tools]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Risk Assessment
|
||||||
|
|
||||||
|
| Technology | Risk | Mitigation |
|
||||||
|
|------------|------|------------|
|
||||||
|
| | | |
|
||||||
|
|
||||||
|
### Learning Requirements
|
||||||
|
|
||||||
|
| Technology | Team Familiarity | Training Needed |
|
||||||
|
|------------|-----------------|-----------------|
|
||||||
|
| | High/Med/Low | Yes/No |
|
||||||
|
|
||||||
|
### Decision Record
|
||||||
|
|
||||||
|
**Decision**: [Summary of tech stack]
|
||||||
|
**Date**: [YYYY-MM-DD]
|
||||||
|
**Participants**: [Who was involved]
|
||||||
|
**Status**: Approved / Pending Review
|
||||||
|
|
||||||
|
Store output to `_docs/01_solution/tech_stack.md`
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
- Avoid over-engineering - choose simplest solution that meets requirements
|
||||||
|
- Consider total cost of ownership, not just initial development
|
||||||
|
- Prefer proven technologies over cutting-edge unless required
|
||||||
|
- Document trade-offs for future reference
|
||||||
|
- Ask questions about team expertise and constraints
|
||||||
|
|
||||||
@@ -0,0 +1,57 @@
|
|||||||
|
# Data Model Design
|
||||||
|
|
||||||
|
## Initial data:
|
||||||
|
- Problem description: `@_docs/00_problem/problem_description.md`
|
||||||
|
- Restrictions: `@_docs/00_problem/restrictions.md`
|
||||||
|
- Acceptance criteria: `@_docs/00_problem/acceptance_criteria.md`
|
||||||
|
- Full Solution Description: `@_docs/01_solution/solution.md`
|
||||||
|
- Components: `@_docs/02_components`
|
||||||
|
|
||||||
|
## Role
|
||||||
|
You are a professional database architect
|
||||||
|
|
||||||
|
## Task
|
||||||
|
- Analyze solution and components to identify all data entities
|
||||||
|
- Design database schema that supports all component requirements
|
||||||
|
- Define relationships, constraints, and indexes
|
||||||
|
- Consider data access patterns for query optimization
|
||||||
|
- Plan for data migration if applicable
|
||||||
|
|
||||||
|
## Output
|
||||||
|
|
||||||
|
### Entity Relationship Diagram
|
||||||
|
- Create ERD showing all entities and relationships
|
||||||
|
- Use Mermaid or draw.io format
|
||||||
|
|
||||||
|
### Schema Definition
|
||||||
|
For each entity:
|
||||||
|
- Table name
|
||||||
|
- Columns with types, constraints, defaults
|
||||||
|
- Primary keys
|
||||||
|
- Foreign keys and relationships
|
||||||
|
- Indexes (clustered, non-clustered)
|
||||||
|
- Partitioning strategy (if needed)
|
||||||
|
|
||||||
|
### Data Access Patterns
|
||||||
|
- List common queries per component
|
||||||
|
- Identify hot paths requiring optimization
|
||||||
|
- Recommend caching strategy
|
||||||
|
|
||||||
|
### Migration Strategy
|
||||||
|
- Initial schema creation scripts
|
||||||
|
- Seed data requirements
|
||||||
|
- Rollback procedures
|
||||||
|
|
||||||
|
### Storage Estimates
|
||||||
|
- Estimated row counts per table
|
||||||
|
- Storage requirements
|
||||||
|
- Growth projections
|
||||||
|
|
||||||
|
Store output to `_docs/02_components/data_model.md`
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
- Follow database normalization principles (3NF minimum)
|
||||||
|
- Consider read vs write optimization based on access patterns
|
||||||
|
- Plan for horizontal scaling if required
|
||||||
|
- Ask questions to clarify data requirements
|
||||||
|
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
# API Contracts Design
|
||||||
|
|
||||||
|
## Initial data:
|
||||||
|
- Problem description: `@_docs/00_problem/problem_description.md`
|
||||||
|
- Restrictions: `@_docs/00_problem/restrictions.md`
|
||||||
|
- Acceptance criteria: `@_docs/00_problem/acceptance_criteria.md`
|
||||||
|
- Full Solution Description: `@_docs/01_solution/solution.md`
|
||||||
|
- Components: `@_docs/02_components`
|
||||||
|
- Data Model: `@_docs/02_components/data_model.md`
|
||||||
|
|
||||||
|
## Role
|
||||||
|
You are a professional API architect
|
||||||
|
|
||||||
|
## Task
|
||||||
|
- Define API contracts between all components
|
||||||
|
- Specify external API endpoints (if applicable)
|
||||||
|
- Define data transfer objects (DTOs)
|
||||||
|
- Establish error response standards
|
||||||
|
- Plan API versioning strategy
|
||||||
|
|
||||||
|
## Output
|
||||||
|
|
||||||
|
### Internal Component Interfaces
|
||||||
|
For each component boundary:
|
||||||
|
- Interface name
|
||||||
|
- Methods with signatures
|
||||||
|
- Input/Output DTOs
|
||||||
|
- Error types
|
||||||
|
- Async/Sync designation
|
||||||
|
|
||||||
|
### External API Specification
|
||||||
|
Generate OpenAPI/Swagger spec including:
|
||||||
|
- Endpoints with HTTP methods
|
||||||
|
- Request/Response schemas
|
||||||
|
- Authentication requirements
|
||||||
|
- Rate limiting rules
|
||||||
|
- Example requests/responses
|
||||||
|
|
||||||
|
### DTO Definitions
|
||||||
|
For each data transfer object:
|
||||||
|
- Name and purpose
|
||||||
|
- Fields with types
|
||||||
|
- Validation rules
|
||||||
|
- Serialization format (JSON, Protobuf, etc.)
|
||||||
|
|
||||||
|
### Error Contract
|
||||||
|
- Standard error response format
|
||||||
|
- Error codes and messages
|
||||||
|
- HTTP status code mapping
|
||||||
|
|
||||||
|
### Versioning Strategy
|
||||||
|
- API versioning approach (URL, header, query param)
|
||||||
|
- Deprecation policy
|
||||||
|
- Breaking vs non-breaking change definitions
|
||||||
|
|
||||||
|
Store output to `_docs/02_components/api_contracts.md`
|
||||||
|
Store OpenAPI spec to `_docs/02_components/openapi.yaml` (if applicable)
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
- Follow RESTful conventions for external APIs
|
||||||
|
- Keep internal interfaces minimal and focused
|
||||||
|
- Design for backward compatibility
|
||||||
|
- Ask questions to clarify integration requirements
|
||||||
|
|
||||||
@@ -0,0 +1,111 @@
|
|||||||
|
# Risk Assessment
|
||||||
|
|
||||||
|
## Initial data:
|
||||||
|
- Problem description: `@_docs/00_problem/problem_description.md`
|
||||||
|
- Restrictions: `@_docs/00_problem/restrictions.md`
|
||||||
|
- Acceptance criteria: `@_docs/00_problem/acceptance_criteria.md`
|
||||||
|
- Full Solution Description: `@_docs/01_solution/solution.md`
|
||||||
|
- Components: `@_docs/02_components`
|
||||||
|
- Estimation: `@_docs/02_components/estimation.md`
|
||||||
|
|
||||||
|
## Role
|
||||||
|
You are a technical risk analyst
|
||||||
|
|
||||||
|
## Task
|
||||||
|
- Identify technical and project risks
|
||||||
|
- Assess probability and impact
|
||||||
|
- Define mitigation strategies
|
||||||
|
- Create risk monitoring plan
|
||||||
|
|
||||||
|
## Output
|
||||||
|
|
||||||
|
### Risk Register
|
||||||
|
|
||||||
|
| ID | Risk | Category | Probability | Impact | Score | Mitigation | Owner |
|
||||||
|
|----|------|----------|-------------|--------|-------|------------|-------|
|
||||||
|
| R1 | | Tech/Schedule/Resource/External | High/Med/Low | High/Med/Low | H/M/L | | |
|
||||||
|
|
||||||
|
### Risk Scoring Matrix
|
||||||
|
|
||||||
|
| | Low Impact | Medium Impact | High Impact |
|
||||||
|
|--|------------|---------------|-------------|
|
||||||
|
| High Probability | Medium | High | Critical |
|
||||||
|
| Medium Probability | Low | Medium | High |
|
||||||
|
| Low Probability | Low | Low | Medium |
|
||||||
|
|
||||||
|
### Risk Categories
|
||||||
|
|
||||||
|
#### Technical Risks
|
||||||
|
- Technology choices may not meet requirements
|
||||||
|
- Integration complexity underestimated
|
||||||
|
- Performance targets unachievable
|
||||||
|
- Security vulnerabilities
|
||||||
|
|
||||||
|
#### Schedule Risks
|
||||||
|
- Scope creep
|
||||||
|
- Dependencies delayed
|
||||||
|
- Resource unavailability
|
||||||
|
- Underestimated complexity
|
||||||
|
|
||||||
|
#### Resource Risks
|
||||||
|
- Key person dependency
|
||||||
|
- Skill gaps
|
||||||
|
- Team availability
|
||||||
|
|
||||||
|
#### External Risks
|
||||||
|
- Third-party API changes
|
||||||
|
- Vendor reliability
|
||||||
|
- Regulatory changes
|
||||||
|
|
||||||
|
### Top Risks (Ranked)
|
||||||
|
|
||||||
|
#### 1. [Highest Risk]
|
||||||
|
- **Description**:
|
||||||
|
- **Probability**: High/Medium/Low
|
||||||
|
- **Impact**: High/Medium/Low
|
||||||
|
- **Mitigation Strategy**:
|
||||||
|
- **Contingency Plan**:
|
||||||
|
- **Early Warning Signs**:
|
||||||
|
- **Owner**:
|
||||||
|
|
||||||
|
#### 2. [Second Highest Risk]
|
||||||
|
...
|
||||||
|
|
||||||
|
### Risk Mitigation Plan
|
||||||
|
|
||||||
|
| Risk ID | Mitigation Action | Timeline | Cost | Responsible |
|
||||||
|
|---------|-------------------|----------|------|-------------|
|
||||||
|
| R1 | | | | |
|
||||||
|
|
||||||
|
### Risk Monitoring
|
||||||
|
|
||||||
|
#### Review Schedule
|
||||||
|
- Daily standup: Discuss blockers (potential risks materializing)
|
||||||
|
- Weekly: Review risk register, update probabilities
|
||||||
|
- Sprint end: Comprehensive risk review
|
||||||
|
|
||||||
|
#### Early Warning Indicators
|
||||||
|
| Risk | Indicator | Threshold | Action |
|
||||||
|
|------|-----------|-----------|--------|
|
||||||
|
| | | | |
|
||||||
|
|
||||||
|
### Contingency Budget
|
||||||
|
- Time buffer: 20% of estimated duration
|
||||||
|
- Scope flexibility: [List features that can be descoped]
|
||||||
|
- Resource backup: [Backup resources if available]
|
||||||
|
|
||||||
|
### Acceptance Criteria for Risks
|
||||||
|
Define which risks are acceptable:
|
||||||
|
- Low risks: Accepted, monitored
|
||||||
|
- Medium risks: Mitigation required
|
||||||
|
- High risks: Mitigation + contingency required
|
||||||
|
- Critical risks: Must be resolved before proceeding
|
||||||
|
|
||||||
|
Store output to `_docs/02_components/risk_assessment.md`
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
- Update risk register throughout project
|
||||||
|
- Escalate critical risks immediately
|
||||||
|
- Consider both likelihood and impact
|
||||||
|
- Ask questions to uncover hidden risks
|
||||||
|
|
||||||
@@ -22,10 +22,21 @@
|
|||||||
- helpers - empty implementations or interfaces
|
- helpers - empty implementations or interfaces
|
||||||
- Add .gitignore appropriate for the project's language/framework
|
- Add .gitignore appropriate for the project's language/framework
|
||||||
- Add .env.example with required environment variables
|
- Add .env.example with required environment variables
|
||||||
- Add CI/CD skeleton (GitHub Actions, GitLab CI, or appropriate)
|
- Configure CI/CD pipeline with full stages:
|
||||||
|
- Build stage
|
||||||
|
- Lint/Static analysis stage
|
||||||
|
- Unit tests stage
|
||||||
|
- Integration tests stage
|
||||||
|
- Security scan stage (SAST/dependency check)
|
||||||
|
- Deploy to staging stage (triggered on merge to stage branch)
|
||||||
|
- Define environment strategy based on `@_docs/00_templates/environment_strategy.md`:
|
||||||
|
- Development environment configuration
|
||||||
|
- Staging environment configuration
|
||||||
|
- Production environment configuration (if applicable)
|
||||||
- Add database migration setup if applicable
|
- Add database migration setup if applicable
|
||||||
- Add README.md, describe the project by @_docs/01_solution/solution.md
|
- Add README.md, describe the project by @_docs/01_solution/solution.md
|
||||||
- Create a separate folder for the integration tests (not a separate repo)
|
- Create a separate folder for the integration tests (not a separate repo)
|
||||||
|
- Configure branch protection rules recommendations
|
||||||
|
|
||||||
## Example
|
## Example
|
||||||
The structure should roughly looks like this:
|
The structure should roughly looks like this:
|
||||||
|
|||||||
@@ -1,42 +1,64 @@
|
|||||||
# CI/CD Setup
|
# CI/CD Pipeline Validation & Enhancement
|
||||||
|
|
||||||
## Initial data:
|
## Initial data:
|
||||||
- Problem description: `@_docs/00_problem/problem_description.md`.
|
- Problem description: `@_docs/00_problem/problem_description.md`
|
||||||
- Restrictions: `@_docs/00_problem/restrictions.md`.
|
- Restrictions: `@_docs/00_problem/restrictions.md`
|
||||||
- Full Solution Description: `@_docs/01_solution/solution.md`
|
- Full Solution Description: `@_docs/01_solution/solution.md`
|
||||||
- Components: `@_docs/02_components`
|
- Components: `@_docs/02_components`
|
||||||
|
- Environment Strategy: `@_docs/00_templates/environment_strategy.md`
|
||||||
|
|
||||||
## Role
|
## Role
|
||||||
You are a DevOps engineer
|
You are a DevOps engineer
|
||||||
|
|
||||||
## Task
|
## Task
|
||||||
- Review project structure and dependencies
|
- Review existing CI/CD pipeline configuration
|
||||||
- Configure CI/CD pipeline with stages:
|
- Validate all stages are working correctly
|
||||||
- Build
|
- Optimize pipeline performance (parallelization, caching)
|
||||||
- Lint
|
- Ensure test coverage gates are enforced
|
||||||
- Unit tests
|
- Verify security scanning is properly configured
|
||||||
- Integration tests
|
- Add missing quality gates
|
||||||
- Security scan (if applicable)
|
|
||||||
- Deploy to staging (if applicable)
|
## Checklist
|
||||||
- Configure environment variables handling
|
|
||||||
- Set up test reporting
|
### Pipeline Health
|
||||||
- Configure branch protection rules recommendations
|
- [ ] All stages execute successfully
|
||||||
|
- [ ] Build time is acceptable (<10 min for most projects)
|
||||||
|
- [ ] Caching is properly configured (dependencies, build artifacts)
|
||||||
|
- [ ] Parallel execution where possible
|
||||||
|
|
||||||
|
### Quality Gates
|
||||||
|
- [ ] Code coverage threshold enforced (minimum 75%)
|
||||||
|
- [ ] Linting errors block merge
|
||||||
|
- [ ] Security vulnerabilities block merge (critical/high)
|
||||||
|
- [ ] All tests must pass
|
||||||
|
|
||||||
|
### Environment Deployments
|
||||||
|
- [ ] Staging deployment works on merge to stage branch
|
||||||
|
- [ ] Environment variables properly configured per environment
|
||||||
|
- [ ] Secrets are securely managed (not in code)
|
||||||
|
- [ ] Rollback procedure documented
|
||||||
|
|
||||||
|
### Monitoring
|
||||||
|
- [ ] Build notifications configured (Slack, email, etc.)
|
||||||
|
- [ ] Failed build alerts
|
||||||
|
- [ ] Deployment success/failure notifications
|
||||||
|
|
||||||
## Output
|
## Output
|
||||||
### Pipeline Configuration
|
|
||||||
- Pipeline file(s) created/updated
|
|
||||||
- Stages description
|
|
||||||
- Triggers (on push, PR, etc.)
|
|
||||||
|
|
||||||
### Environment Setup
|
### Pipeline Status Report
|
||||||
- Required secrets/variables
|
- Current pipeline configuration summary
|
||||||
- Environment-specific configs
|
- Issues found and fixes applied
|
||||||
|
- Performance metrics (build times)
|
||||||
|
|
||||||
### Deployment Strategy
|
### Recommended Improvements
|
||||||
- Staging deployment steps
|
- Short-term improvements
|
||||||
- Production deployment steps (if applicable)
|
- Long-term optimizations
|
||||||
|
|
||||||
|
### Quality Gate Configuration
|
||||||
|
- Thresholds configured
|
||||||
|
- Enforcement rules
|
||||||
|
|
||||||
## Notes
|
## Notes
|
||||||
- Use project-appropriate CI/CD tool (GitHub Actions, GitLab CI, Azure DevOps, etc.)
|
- Do not break existing functionality
|
||||||
- Keep pipeline fast - parallelize where possible
|
- Test changes in separate branch first
|
||||||
|
- Document any manual steps required
|
||||||
|
|||||||
@@ -0,0 +1,72 @@
|
|||||||
|
# Deployment Strategy Planning
|
||||||
|
|
||||||
|
## Initial data:
|
||||||
|
- Problem description: `@_docs/00_problem/problem_description.md`
|
||||||
|
- Restrictions: `@_docs/00_problem/restrictions.md`
|
||||||
|
- Full Solution Description: `@_docs/01_solution/solution.md`
|
||||||
|
- Components: `@_docs/02_components`
|
||||||
|
- Environment Strategy: `@_docs/00_templates/environment_strategy.md`
|
||||||
|
|
||||||
|
## Role
|
||||||
|
You are a DevOps/Platform engineer
|
||||||
|
|
||||||
|
## Task
|
||||||
|
- Define deployment strategy for each environment
|
||||||
|
- Plan deployment procedures and automation
|
||||||
|
- Define rollback procedures
|
||||||
|
- Establish deployment verification steps
|
||||||
|
- Document manual intervention points
|
||||||
|
|
||||||
|
## Output
|
||||||
|
|
||||||
|
### Deployment Architecture
|
||||||
|
- Infrastructure diagram (where components run)
|
||||||
|
- Network topology
|
||||||
|
- Load balancing strategy
|
||||||
|
- Container/VM configuration
|
||||||
|
|
||||||
|
### Deployment Procedures
|
||||||
|
|
||||||
|
#### Staging Deployment
|
||||||
|
- Trigger conditions
|
||||||
|
- Pre-deployment checks
|
||||||
|
- Deployment steps
|
||||||
|
- Post-deployment verification
|
||||||
|
- Smoke tests to run
|
||||||
|
|
||||||
|
#### Production Deployment
|
||||||
|
- Approval workflow
|
||||||
|
- Deployment window
|
||||||
|
- Pre-deployment checks
|
||||||
|
- Deployment steps (blue-green, rolling, canary)
|
||||||
|
- Post-deployment verification
|
||||||
|
- Smoke tests to run
|
||||||
|
|
||||||
|
### Rollback Procedures
|
||||||
|
- Rollback trigger criteria
|
||||||
|
- Rollback steps per environment
|
||||||
|
- Data rollback considerations
|
||||||
|
- Communication plan during rollback
|
||||||
|
|
||||||
|
### Health Checks
|
||||||
|
- Liveness probe configuration
|
||||||
|
- Readiness probe configuration
|
||||||
|
- Custom health endpoints
|
||||||
|
|
||||||
|
### Deployment Checklist
|
||||||
|
- [ ] All tests pass in CI
|
||||||
|
- [ ] Security scan clean
|
||||||
|
- [ ] Database migrations reviewed
|
||||||
|
- [ ] Feature flags configured
|
||||||
|
- [ ] Monitoring alerts configured
|
||||||
|
- [ ] Rollback plan documented
|
||||||
|
- [ ] Stakeholders notified
|
||||||
|
|
||||||
|
Store output to `_docs/02_components/deployment_strategy.md`
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
- Prefer automated deployments over manual
|
||||||
|
- Zero-downtime deployments for production
|
||||||
|
- Always have a rollback plan
|
||||||
|
- Ask questions about infrastructure constraints
|
||||||
|
|
||||||
@@ -0,0 +1,123 @@
|
|||||||
|
# Observability Planning
|
||||||
|
|
||||||
|
## Initial data:
|
||||||
|
- Problem description: `@_docs/00_problem/problem_description.md`
|
||||||
|
- Full Solution Description: `@_docs/01_solution/solution.md`
|
||||||
|
- Components: `@_docs/02_components`
|
||||||
|
- Deployment Strategy: `@_docs/02_components/deployment_strategy.md`
|
||||||
|
|
||||||
|
## Role
|
||||||
|
You are a Site Reliability Engineer (SRE)
|
||||||
|
|
||||||
|
## Task
|
||||||
|
- Define logging strategy across all components
|
||||||
|
- Plan metrics collection and dashboards
|
||||||
|
- Design distributed tracing (if applicable)
|
||||||
|
- Establish alerting rules
|
||||||
|
- Document incident response procedures
|
||||||
|
|
||||||
|
## Output
|
||||||
|
|
||||||
|
### Logging Strategy
|
||||||
|
|
||||||
|
#### Log Levels
|
||||||
|
| Level | Usage | Example |
|
||||||
|
|-------|-------|---------|
|
||||||
|
| ERROR | Exceptions, failures requiring attention | Database connection failed |
|
||||||
|
| WARN | Potential issues, degraded performance | Retry attempt 2/3 |
|
||||||
|
| INFO | Significant business events | User registered, Order placed |
|
||||||
|
| DEBUG | Detailed diagnostic information | Request payload, Query params |
|
||||||
|
|
||||||
|
#### Log Format
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"timestamp": "ISO8601",
|
||||||
|
"level": "INFO",
|
||||||
|
"service": "service-name",
|
||||||
|
"correlation_id": "uuid",
|
||||||
|
"message": "Event description",
|
||||||
|
"context": {}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Log Storage
|
||||||
|
- Development: Console/file
|
||||||
|
- Staging: Centralized (ELK, CloudWatch, etc.)
|
||||||
|
- Production: Centralized with retention policy
|
||||||
|
|
||||||
|
### Metrics
|
||||||
|
|
||||||
|
#### System Metrics
|
||||||
|
- CPU usage
|
||||||
|
- Memory usage
|
||||||
|
- Disk I/O
|
||||||
|
- Network I/O
|
||||||
|
|
||||||
|
#### Application Metrics
|
||||||
|
| Metric | Type | Description |
|
||||||
|
|--------|------|-------------|
|
||||||
|
| request_count | Counter | Total requests |
|
||||||
|
| request_duration | Histogram | Response time |
|
||||||
|
| error_count | Counter | Failed requests |
|
||||||
|
| active_connections | Gauge | Current connections |
|
||||||
|
|
||||||
|
#### Business Metrics
|
||||||
|
- [Define based on acceptance criteria]
|
||||||
|
|
||||||
|
### Distributed Tracing
|
||||||
|
|
||||||
|
#### Trace Context
|
||||||
|
- Correlation ID propagation
|
||||||
|
- Span naming conventions
|
||||||
|
- Sampling strategy
|
||||||
|
|
||||||
|
#### Integration Points
|
||||||
|
- HTTP headers
|
||||||
|
- Message queue metadata
|
||||||
|
- Database query tagging
|
||||||
|
|
||||||
|
### Alerting
|
||||||
|
|
||||||
|
#### Alert Categories
|
||||||
|
| Severity | Response Time | Examples |
|
||||||
|
|----------|---------------|----------|
|
||||||
|
| Critical | 5 min | Service down, Data loss |
|
||||||
|
| High | 30 min | High error rate, Performance degradation |
|
||||||
|
| Medium | 4 hours | Elevated latency, Disk usage high |
|
||||||
|
| Low | Next business day | Non-critical warnings |
|
||||||
|
|
||||||
|
#### Alert Rules
|
||||||
|
```yaml
|
||||||
|
alerts:
|
||||||
|
- name: high_error_rate
|
||||||
|
condition: error_rate > 5%
|
||||||
|
duration: 5m
|
||||||
|
severity: high
|
||||||
|
|
||||||
|
- name: service_down
|
||||||
|
condition: health_check_failed
|
||||||
|
duration: 1m
|
||||||
|
severity: critical
|
||||||
|
```
|
||||||
|
|
||||||
|
### Dashboards
|
||||||
|
|
||||||
|
#### Operations Dashboard
|
||||||
|
- Service health status
|
||||||
|
- Request rate and error rate
|
||||||
|
- Response time percentiles
|
||||||
|
- Resource utilization
|
||||||
|
|
||||||
|
#### Business Dashboard
|
||||||
|
- Key business metrics
|
||||||
|
- User activity
|
||||||
|
- Transaction volumes
|
||||||
|
|
||||||
|
Store output to `_docs/02_components/observability_plan.md`
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
- Follow the principle: "If it's not monitored, it's not in production"
|
||||||
|
- Balance verbosity with cost
|
||||||
|
- Ensure PII is not logged
|
||||||
|
- Plan for log rotation and retention
|
||||||
|
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
# Capture Baseline Metrics
|
||||||
|
|
||||||
|
## Initial data:
|
||||||
|
- Problem description: `@_docs/00_problem/problem_description.md`
|
||||||
|
- Acceptance criteria: `@_docs/00_problem/acceptance_criteria.md`
|
||||||
|
- Current codebase
|
||||||
|
|
||||||
|
## Role
|
||||||
|
You are a software engineer preparing for refactoring
|
||||||
|
|
||||||
|
## Task
|
||||||
|
- Capture current system metrics as baseline
|
||||||
|
- Document current behavior
|
||||||
|
- Establish benchmarks to compare against after refactoring
|
||||||
|
- Identify critical paths to monitor
|
||||||
|
|
||||||
|
## Output
|
||||||
|
|
||||||
|
### Code Quality Metrics
|
||||||
|
|
||||||
|
#### Coverage
|
||||||
|
```
|
||||||
|
Current test coverage: XX%
|
||||||
|
- Unit test coverage: XX%
|
||||||
|
- Integration test coverage: XX%
|
||||||
|
- Critical paths coverage: XX%
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Code Complexity
|
||||||
|
- Cyclomatic complexity (average):
|
||||||
|
- Most complex functions (top 5):
|
||||||
|
- Lines of code:
|
||||||
|
- Technical debt ratio:
|
||||||
|
|
||||||
|
#### Code Smells
|
||||||
|
- Total code smells:
|
||||||
|
- Critical issues:
|
||||||
|
- Major issues:
|
||||||
|
|
||||||
|
### Performance Metrics
|
||||||
|
|
||||||
|
#### Response Times
|
||||||
|
| Endpoint/Operation | P50 | P95 | P99 |
|
||||||
|
|-------------------|-----|-----|-----|
|
||||||
|
| [endpoint1] | Xms | Xms | Xms |
|
||||||
|
| [operation1] | Xms | Xms | Xms |
|
||||||
|
|
||||||
|
#### Resource Usage
|
||||||
|
- Average CPU usage:
|
||||||
|
- Average memory usage:
|
||||||
|
- Database query count per operation:
|
||||||
|
|
||||||
|
#### Throughput
|
||||||
|
- Requests per second:
|
||||||
|
- Concurrent users supported:
|
||||||
|
|
||||||
|
### Functionality Inventory
|
||||||
|
|
||||||
|
List all current features/endpoints:
|
||||||
|
| Feature | Status | Test Coverage | Notes |
|
||||||
|
|---------|--------|---------------|-------|
|
||||||
|
| | | | |
|
||||||
|
|
||||||
|
### Dependency Analysis
|
||||||
|
- Total dependencies:
|
||||||
|
- Outdated dependencies:
|
||||||
|
- Security vulnerabilities in dependencies:
|
||||||
|
|
||||||
|
### Build Metrics
|
||||||
|
- Build time:
|
||||||
|
- Test execution time:
|
||||||
|
- Deployment time:
|
||||||
|
|
||||||
|
Store output to `_docs/04_refactoring/baseline_metrics.md`
|
||||||
|
|
||||||
|
## Measurement Commands
|
||||||
|
|
||||||
|
Use project-appropriate tools for your tech stack:
|
||||||
|
|
||||||
|
| Metric | Python | C#/.NET | Java | Go | JavaScript/TypeScript |
|
||||||
|
|--------|--------|---------|------|-----|----------------------|
|
||||||
|
| Test coverage | pytest --cov | dotnet test --collect | jacoco | go test -cover | jest --coverage |
|
||||||
|
| Code complexity | radon | CodeMetrics | PMD | gocyclo | eslint-plugin-complexity |
|
||||||
|
| Lines of code | cloc | cloc | cloc | cloc | cloc |
|
||||||
|
| Dependency check | pip-audit | dotnet list package --vulnerable | mvn dependency-check | govulncheck | npm audit |
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
- Run measurements multiple times for accuracy
|
||||||
|
- Document measurement methodology
|
||||||
|
- Save raw data for comparison
|
||||||
|
- Focus on metrics relevant to refactoring goals
|
||||||
|
|
||||||
@@ -9,11 +9,22 @@
|
|||||||
## Role
|
## Role
|
||||||
You are a professional Quality Assurance Engineer
|
You are a professional Quality Assurance Engineer
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
- Baseline metrics captured (see 4.07_capture_baseline.md)
|
||||||
|
- Feature parity checklist created (see `@_docs/00_templates/feature_parity_checklist.md`)
|
||||||
|
|
||||||
|
## Coverage Requirements (MUST meet before refactoring)
|
||||||
|
- Minimum overall coverage: 75%
|
||||||
|
- Critical path coverage: 90%
|
||||||
|
- All public APIs must have integration tests
|
||||||
|
- All error handling paths must be tested
|
||||||
|
|
||||||
## Task
|
## Task
|
||||||
- Analyze existing test coverage
|
- Analyze existing test coverage
|
||||||
- Define integration tests that capture current system behavior
|
- Define integration tests that capture current system behavior
|
||||||
- Tests should serve as safety net for refactoring
|
- Tests should serve as safety net for refactoring
|
||||||
- Cover critical paths and edge cases
|
- Cover critical paths and edge cases
|
||||||
|
- Ensure coverage requirements are met before proceeding to refactoring
|
||||||
|
|
||||||
## Output
|
## Output
|
||||||
Store test specs to `_docs/02_tests/[##]_[test_name]_spec.md`:
|
Store test specs to `_docs/02_tests/[##]_[test_name]_spec.md`:
|
||||||
|
|||||||
@@ -0,0 +1,120 @@
|
|||||||
|
# Merge and Deploy Feature
|
||||||
|
|
||||||
|
Complete the feature development cycle by creating PR, merging, and updating documentation.
|
||||||
|
|
||||||
|
## Input parameters
|
||||||
|
- task_id (required): Jira task ID
|
||||||
|
Example: /gen_merge_and_deploy AZ-122
|
||||||
|
|
||||||
|
## Prerequisites
|
||||||
|
- All tests pass locally
|
||||||
|
- Code review completed (or ready for review)
|
||||||
|
- Definition of Done checklist reviewed
|
||||||
|
|
||||||
|
## Steps (Agent)
|
||||||
|
|
||||||
|
### 1. Verify Branch Status
|
||||||
|
```bash
|
||||||
|
git status
|
||||||
|
git log --oneline -5
|
||||||
|
```
|
||||||
|
- Confirm on feature branch (e.g., az-122-feature-name)
|
||||||
|
- Confirm all changes committed
|
||||||
|
- If uncommitted changes exist, prompt user to commit first
|
||||||
|
|
||||||
|
### 2. Run Pre-merge Checks
|
||||||
|
|
||||||
|
**User action required**: Run your project's test and lint commands before proceeding.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Check for merge conflicts
|
||||||
|
git fetch origin dev
|
||||||
|
git merge origin/dev --no-commit --no-ff || git merge --abort
|
||||||
|
```
|
||||||
|
|
||||||
|
- [ ] All tests pass (run project-specific test command)
|
||||||
|
- [ ] No linting errors (run project-specific lint command)
|
||||||
|
- [ ] No merge conflicts (or resolve them)
|
||||||
|
|
||||||
|
### 3. Update Documentation
|
||||||
|
|
||||||
|
#### CHANGELOG.md
|
||||||
|
Add entry under "Unreleased" section:
|
||||||
|
```markdown
|
||||||
|
### Added/Changed/Fixed
|
||||||
|
- [TASK_ID] Brief description of change
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Update Jira
|
||||||
|
- Add comment with summary of implementation
|
||||||
|
- Link any related PRs or documentation
|
||||||
|
|
||||||
|
### 4. Create Pull Request
|
||||||
|
|
||||||
|
#### PR Title Format
|
||||||
|
`[TASK_ID] Brief description`
|
||||||
|
|
||||||
|
#### PR Body (from template)
|
||||||
|
```markdown
|
||||||
|
## Description
|
||||||
|
[Summary of changes]
|
||||||
|
|
||||||
|
## Related Issue
|
||||||
|
Jira ticket: [TASK_ID](link)
|
||||||
|
|
||||||
|
## Type of Change
|
||||||
|
- [ ] Bug fix
|
||||||
|
- [ ] New feature
|
||||||
|
- [ ] Refactoring
|
||||||
|
|
||||||
|
## Checklist
|
||||||
|
- [ ] Code follows project conventions
|
||||||
|
- [ ] Self-review completed
|
||||||
|
- [ ] Tests added/updated
|
||||||
|
- [ ] All tests pass
|
||||||
|
- [ ] Documentation updated
|
||||||
|
|
||||||
|
## Breaking Changes
|
||||||
|
[None / List breaking changes]
|
||||||
|
|
||||||
|
## Deployment Notes
|
||||||
|
[None / Special deployment considerations]
|
||||||
|
|
||||||
|
## Rollback Plan
|
||||||
|
[Steps to rollback if issues arise]
|
||||||
|
|
||||||
|
## Testing
|
||||||
|
[How to test these changes]
|
||||||
|
```
|
||||||
|
|
||||||
|
### 5. Post-merge Actions
|
||||||
|
|
||||||
|
After PR is approved and merged:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Switch to dev branch
|
||||||
|
git checkout dev
|
||||||
|
git pull origin dev
|
||||||
|
|
||||||
|
# Delete feature branch
|
||||||
|
git branch -d {feature_branch}
|
||||||
|
git push origin --delete {feature_branch}
|
||||||
|
```
|
||||||
|
|
||||||
|
### 6. Update Jira Status
|
||||||
|
- Move ticket to "Done"
|
||||||
|
- Add link to merged PR
|
||||||
|
- Log time spent (if tracked)
|
||||||
|
|
||||||
|
## Guardrails
|
||||||
|
- Do NOT merge if tests fail
|
||||||
|
- Do NOT merge if there are unresolved review comments
|
||||||
|
- Do NOT delete branch before merge is confirmed
|
||||||
|
- Always update CHANGELOG before creating PR
|
||||||
|
|
||||||
|
## Output
|
||||||
|
- PR created/URL provided
|
||||||
|
- CHANGELOG updated
|
||||||
|
- Jira ticket updated
|
||||||
|
- Feature branch cleaned up (post-merge)
|
||||||
|
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
# Definition of Done (DoD)
|
||||||
|
|
||||||
|
A feature/task is considered DONE when all applicable items are completed.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Code Complete
|
||||||
|
|
||||||
|
- [ ] All acceptance criteria from the spec are implemented
|
||||||
|
- [ ] Code compiles/builds without errors
|
||||||
|
- [ ] No new linting errors or warnings
|
||||||
|
- [ ] Code follows project coding standards and conventions
|
||||||
|
- [ ] No hardcoded values (use configuration/environment variables)
|
||||||
|
- [ ] Error handling implemented per project standards
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Testing Complete
|
||||||
|
|
||||||
|
- [ ] Unit tests written for new code
|
||||||
|
- [ ] Unit tests pass locally
|
||||||
|
- [ ] Integration tests written (if applicable)
|
||||||
|
- [ ] Integration tests pass
|
||||||
|
- [ ] Code coverage meets minimum threshold (75%)
|
||||||
|
- [ ] Manual testing performed for UI changes
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Code Review Complete
|
||||||
|
|
||||||
|
- [ ] Pull request created with proper description
|
||||||
|
- [ ] PR linked to Jira ticket
|
||||||
|
- [ ] At least one approval from reviewer
|
||||||
|
- [ ] All review comments addressed
|
||||||
|
- [ ] No merge conflicts
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Documentation Complete
|
||||||
|
|
||||||
|
- [ ] Code comments for complex logic (if needed)
|
||||||
|
- [ ] API documentation updated (if endpoints changed)
|
||||||
|
- [ ] README updated (if setup/usage changed)
|
||||||
|
- [ ] CHANGELOG updated with changes
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## CI/CD Complete
|
||||||
|
|
||||||
|
- [ ] All CI pipeline stages pass
|
||||||
|
- [ ] Security scan passes (no critical/high vulnerabilities)
|
||||||
|
- [ ] Build artifacts generated successfully
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Deployment Ready
|
||||||
|
|
||||||
|
- [ ] Database migrations tested (if applicable)
|
||||||
|
- [ ] Configuration changes documented
|
||||||
|
- [ ] Feature flags configured (if applicable)
|
||||||
|
- [ ] Rollback plan identified
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Communication Complete
|
||||||
|
|
||||||
|
- [ ] Jira ticket moved to Done
|
||||||
|
- [ ] Stakeholders notified of completion (if required)
|
||||||
|
- [ ] Any blockers or follow-up items documented
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Quick Reference
|
||||||
|
|
||||||
|
| Category | Must Have | Nice to Have |
|
||||||
|
|----------|-----------|--------------|
|
||||||
|
| Code | Builds, No lint errors | Optimized |
|
||||||
|
| Tests | Unit + Integration pass | E2E tests |
|
||||||
|
| Coverage | >= 75% | >= 85% |
|
||||||
|
| Review | 1 approval | 2 approvals |
|
||||||
|
| Docs | CHANGELOG | Full API docs |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exceptions
|
||||||
|
|
||||||
|
If any DoD item cannot be completed, document:
|
||||||
|
1. Which item is incomplete
|
||||||
|
2. Reason for exception
|
||||||
|
3. Plan to address (with timeline)
|
||||||
|
4. Approval from tech lead
|
||||||
|
|
||||||
@@ -0,0 +1,139 @@
|
|||||||
|
# Environment Strategy Template
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
Define the environment strategy for the project, including configuration, access, and deployment procedures for each environment.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Environments
|
||||||
|
|
||||||
|
### Development (dev)
|
||||||
|
**Purpose**: Local development and feature testing
|
||||||
|
|
||||||
|
| Aspect | Configuration |
|
||||||
|
|--------|---------------|
|
||||||
|
| Branch | `dev`, feature branches |
|
||||||
|
| Database | Local or shared dev instance |
|
||||||
|
| External Services | Mock/sandbox endpoints |
|
||||||
|
| Logging Level | DEBUG |
|
||||||
|
| Access | All developers |
|
||||||
|
|
||||||
|
**Configuration**:
|
||||||
|
```
|
||||||
|
# .env.development
|
||||||
|
ENV=development
|
||||||
|
DATABASE_URL=<dev_database_url>
|
||||||
|
API_TIMEOUT=30
|
||||||
|
LOG_LEVEL=DEBUG
|
||||||
|
```
|
||||||
|
|
||||||
|
### Staging (stage)
|
||||||
|
**Purpose**: Pre-production testing, QA, UAT
|
||||||
|
|
||||||
|
| Aspect | Configuration |
|
||||||
|
|--------|---------------|
|
||||||
|
| Branch | `stage` |
|
||||||
|
| Database | Staging instance (production-like) |
|
||||||
|
| External Services | Sandbox/test endpoints |
|
||||||
|
| Logging Level | INFO |
|
||||||
|
| Access | Development team, QA |
|
||||||
|
|
||||||
|
**Configuration**:
|
||||||
|
```
|
||||||
|
# .env.staging
|
||||||
|
ENV=staging
|
||||||
|
DATABASE_URL=<staging_database_url>
|
||||||
|
API_TIMEOUT=15
|
||||||
|
LOG_LEVEL=INFO
|
||||||
|
```
|
||||||
|
|
||||||
|
**Deployment Trigger**: Merge to `stage` branch
|
||||||
|
|
||||||
|
### Production (prod)
|
||||||
|
**Purpose**: Live system serving end users
|
||||||
|
|
||||||
|
| Aspect | Configuration |
|
||||||
|
|--------|---------------|
|
||||||
|
| Branch | `main` |
|
||||||
|
| Database | Production instance |
|
||||||
|
| External Services | Production endpoints |
|
||||||
|
| Logging Level | WARN |
|
||||||
|
| Access | Restricted (ops team) |
|
||||||
|
|
||||||
|
**Configuration**:
|
||||||
|
```
|
||||||
|
# .env.production
|
||||||
|
ENV=production
|
||||||
|
DATABASE_URL=<production_database_url>
|
||||||
|
API_TIMEOUT=10
|
||||||
|
LOG_LEVEL=WARN
|
||||||
|
```
|
||||||
|
|
||||||
|
**Deployment Trigger**: Manual approval after staging validation
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Secrets Management
|
||||||
|
|
||||||
|
### Secret Categories
|
||||||
|
- Database credentials
|
||||||
|
- API keys (internal and external)
|
||||||
|
- Encryption keys
|
||||||
|
- Service account credentials
|
||||||
|
|
||||||
|
### Storage
|
||||||
|
| Environment | Secret Storage |
|
||||||
|
|-------------|----------------|
|
||||||
|
| Development | .env.local (gitignored) |
|
||||||
|
| Staging | CI/CD secrets / Vault |
|
||||||
|
| Production | CI/CD secrets / Vault |
|
||||||
|
|
||||||
|
### Rotation Policy
|
||||||
|
- Database passwords: Every 90 days
|
||||||
|
- API keys: Every 180 days or on compromise
|
||||||
|
- Encryption keys: Annually
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Environment Parity
|
||||||
|
|
||||||
|
### Required Parity
|
||||||
|
- Same database engine and version
|
||||||
|
- Same runtime version
|
||||||
|
- Same dependency versions
|
||||||
|
- Same configuration structure
|
||||||
|
|
||||||
|
### Allowed Differences
|
||||||
|
- Resource scaling (CPU, memory)
|
||||||
|
- External service endpoints (sandbox vs production)
|
||||||
|
- Logging verbosity
|
||||||
|
- Feature flags
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Access Control
|
||||||
|
|
||||||
|
| Role | Dev | Staging | Production |
|
||||||
|
|------|-----|---------|------------|
|
||||||
|
| Developer | Full | Read + Deploy | Read logs only |
|
||||||
|
| QA | Read | Full | Read logs only |
|
||||||
|
| DevOps | Full | Full | Full |
|
||||||
|
| Stakeholder | None | Read | Read dashboards |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Backup & Recovery
|
||||||
|
|
||||||
|
| Environment | Backup Frequency | Retention | RTO | RPO |
|
||||||
|
|-------------|------------------|-----------|-----|-----|
|
||||||
|
| Development | None | N/A | N/A | N/A |
|
||||||
|
| Staging | Daily | 7 days | 4 hours | 24 hours |
|
||||||
|
| Production | Hourly | 30 days | 1 hour | 1 hour |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
- Never copy production data to lower environments without anonymization
|
||||||
|
- All environment-specific values must be externalized (no hardcoding)
|
||||||
|
- Document any environment-specific behaviors in code comments
|
||||||
|
|
||||||
@@ -0,0 +1,103 @@
|
|||||||
|
# Feature Dependency Matrix
|
||||||
|
|
||||||
|
Track feature dependencies to ensure proper implementation order.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Active Features
|
||||||
|
|
||||||
|
| Feature ID | Feature Name | Status | Dependencies | Blocks |
|
||||||
|
|------------|--------------|--------|--------------|--------|
|
||||||
|
| | | Draft/In Progress/Done | List IDs | List IDs |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Dependency Rules
|
||||||
|
|
||||||
|
### Status Definitions
|
||||||
|
- **Draft**: Spec created, not started
|
||||||
|
- **In Progress**: Development started
|
||||||
|
- **Done**: Merged to dev, verified
|
||||||
|
- **Blocked**: Waiting on dependencies
|
||||||
|
|
||||||
|
### Dependency Types
|
||||||
|
- **Hard**: Cannot start without dependency complete
|
||||||
|
- **Soft**: Can mock dependency, integrate later
|
||||||
|
- **API**: Depends on API contract (can parallelize with mock)
|
||||||
|
- **Data**: Depends on data/schema (must be complete)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Current Dependencies
|
||||||
|
|
||||||
|
### [Feature A] depends on:
|
||||||
|
| Dependency | Type | Status | Blocker? |
|
||||||
|
|------------|------|--------|----------|
|
||||||
|
| | Hard/Soft/API/Data | Done/In Progress | Yes/No |
|
||||||
|
|
||||||
|
### [Feature B] depends on:
|
||||||
|
| Dependency | Type | Status | Blocker? |
|
||||||
|
|------------|------|--------|----------|
|
||||||
|
| | | | |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Dependency Graph
|
||||||
|
|
||||||
|
```
|
||||||
|
Feature A (Done)
|
||||||
|
└── Feature B (In Progress)
|
||||||
|
└── Feature D (Draft)
|
||||||
|
└── Feature C (Draft)
|
||||||
|
|
||||||
|
Feature E (Done)
|
||||||
|
└── Feature F (In Progress)
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Implementation Order
|
||||||
|
|
||||||
|
Based on dependencies, recommended implementation order:
|
||||||
|
|
||||||
|
1. **Phase 1** (No dependencies)
|
||||||
|
- [ ] Feature X
|
||||||
|
- [ ] Feature Y
|
||||||
|
|
||||||
|
2. **Phase 2** (Depends on Phase 1)
|
||||||
|
- [ ] Feature Z (after X)
|
||||||
|
- [ ] Feature W (after Y)
|
||||||
|
|
||||||
|
3. **Phase 3** (Depends on Phase 2)
|
||||||
|
- [ ] Feature V (after Z, W)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Handling Blocked Features
|
||||||
|
|
||||||
|
When a feature is blocked:
|
||||||
|
|
||||||
|
1. **Identify** the blocking dependency
|
||||||
|
2. **Escalate** if blocker is delayed
|
||||||
|
3. **Consider** if feature can proceed with mocks
|
||||||
|
4. **Document** any workarounds used
|
||||||
|
5. **Schedule** integration when blocker completes
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Mock Strategy
|
||||||
|
|
||||||
|
When using mocks for dependencies:
|
||||||
|
|
||||||
|
| Feature | Mocked Dependency | Mock Type | Integration Task |
|
||||||
|
|---------|-------------------|-----------|------------------|
|
||||||
|
| | | Interface/Data/API | Link to task |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Update Log
|
||||||
|
|
||||||
|
| Date | Feature | Change | By |
|
||||||
|
|------|---------|--------|-----|
|
||||||
|
| | | Added/Updated/Completed | |
|
||||||
|
|
||||||
@@ -0,0 +1,129 @@
|
|||||||
|
# Feature Parity Checklist
|
||||||
|
|
||||||
|
Use this checklist to ensure all functionality is preserved during refactoring.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Project: [Project Name]
|
||||||
|
## Refactoring Scope: [Brief description]
|
||||||
|
## Date: [YYYY-MM-DD]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Feature Inventory
|
||||||
|
|
||||||
|
### API Endpoints
|
||||||
|
|
||||||
|
| Endpoint | Method | Before | After | Verified |
|
||||||
|
|----------|--------|--------|-------|----------|
|
||||||
|
| /api/v1/example | GET | Working | | [ ] |
|
||||||
|
| | | | | [ ] |
|
||||||
|
|
||||||
|
### Core Functions
|
||||||
|
|
||||||
|
| Function/Module | Purpose | Before | After | Verified |
|
||||||
|
|-----------------|---------|--------|-------|----------|
|
||||||
|
| | | Working | | [ ] |
|
||||||
|
| | | | | [ ] |
|
||||||
|
|
||||||
|
### User Workflows
|
||||||
|
|
||||||
|
| Workflow | Steps | Before | After | Verified |
|
||||||
|
|----------|-------|--------|-------|----------|
|
||||||
|
| User login | 1. Enter credentials 2. Submit | Working | | [ ] |
|
||||||
|
| | | | | [ ] |
|
||||||
|
|
||||||
|
### Integrations
|
||||||
|
|
||||||
|
| External System | Integration Type | Before | After | Verified |
|
||||||
|
|-----------------|------------------|--------|-------|----------|
|
||||||
|
| | API/Webhook/DB | Working | | [ ] |
|
||||||
|
| | | | | [ ] |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Behavioral Parity
|
||||||
|
|
||||||
|
### Input Handling
|
||||||
|
- [ ] Same inputs produce same outputs
|
||||||
|
- [ ] Error messages unchanged (or improved)
|
||||||
|
- [ ] Validation rules preserved
|
||||||
|
- [ ] Edge cases handled identically
|
||||||
|
|
||||||
|
### Output Format
|
||||||
|
- [ ] Response structure unchanged
|
||||||
|
- [ ] Data types preserved
|
||||||
|
- [ ] Null handling consistent
|
||||||
|
- [ ] Date/time formats preserved
|
||||||
|
|
||||||
|
### Side Effects
|
||||||
|
- [ ] Database writes produce same results
|
||||||
|
- [ ] File operations unchanged
|
||||||
|
- [ ] External API calls preserved
|
||||||
|
- [ ] Event emissions maintained
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Non-Functional Parity
|
||||||
|
|
||||||
|
### Performance
|
||||||
|
- [ ] Response times within baseline +10%
|
||||||
|
- [ ] Memory usage within baseline +10%
|
||||||
|
- [ ] CPU usage within baseline +10%
|
||||||
|
- [ ] No new N+1 queries introduced
|
||||||
|
|
||||||
|
### Security
|
||||||
|
- [ ] Authentication unchanged
|
||||||
|
- [ ] Authorization rules preserved
|
||||||
|
- [ ] Input sanitization maintained
|
||||||
|
- [ ] No new vulnerabilities introduced
|
||||||
|
|
||||||
|
### Reliability
|
||||||
|
- [ ] Error handling preserved
|
||||||
|
- [ ] Retry logic maintained
|
||||||
|
- [ ] Timeout behavior unchanged
|
||||||
|
- [ ] Circuit breakers preserved
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Test Coverage
|
||||||
|
|
||||||
|
| Test Type | Before | After | Status |
|
||||||
|
|-----------|--------|-------|--------|
|
||||||
|
| Unit Tests | X pass | | [ ] Same or better |
|
||||||
|
| Integration Tests | X pass | | [ ] Same or better |
|
||||||
|
| E2E Tests | X pass | | [ ] Same or better |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Verification Steps
|
||||||
|
|
||||||
|
### Automated Verification
|
||||||
|
1. [ ] All existing tests pass
|
||||||
|
2. [ ] No new linting errors
|
||||||
|
3. [ ] Coverage >= baseline
|
||||||
|
|
||||||
|
### Manual Verification
|
||||||
|
1. [ ] Smoke test critical paths
|
||||||
|
2. [ ] Verify UI behavior (if applicable)
|
||||||
|
3. [ ] Test error scenarios
|
||||||
|
|
||||||
|
### Stakeholder Sign-off
|
||||||
|
- [ ] QA approved
|
||||||
|
- [ ] Product owner approved (if behavior changed)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Discrepancies Found
|
||||||
|
|
||||||
|
| Feature | Expected | Actual | Resolution | Status |
|
||||||
|
|---------|----------|--------|------------|--------|
|
||||||
|
| | | | | |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
- Any intentional behavior changes must be documented and approved
|
||||||
|
- Update this checklist as refactoring progresses
|
||||||
|
- Keep baseline metrics for comparison
|
||||||
|
|
||||||
@@ -0,0 +1,157 @@
|
|||||||
|
# Incident Playbook Template
|
||||||
|
|
||||||
|
## Incident Overview
|
||||||
|
|
||||||
|
| Field | Value |
|
||||||
|
|-------|-------|
|
||||||
|
| Playbook Name | [Name] |
|
||||||
|
| Severity | Critical / High / Medium / Low |
|
||||||
|
| Last Updated | [YYYY-MM-DD] |
|
||||||
|
| Owner | [Team/Person] |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Detection
|
||||||
|
|
||||||
|
### Symptoms
|
||||||
|
- [How will you know this incident is occurring?]
|
||||||
|
- Alert: [Alert name that triggers]
|
||||||
|
- User reports: [Expected user complaints]
|
||||||
|
|
||||||
|
### Monitoring
|
||||||
|
- Dashboard: [Link to relevant dashboard]
|
||||||
|
- Logs: [Log query to investigate]
|
||||||
|
- Metrics: [Key metrics to watch]
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Assessment
|
||||||
|
|
||||||
|
### Impact Analysis
|
||||||
|
- Users affected: [All / Subset / Internal only]
|
||||||
|
- Data at risk: [Yes / No]
|
||||||
|
- Revenue impact: [High / Medium / Low / None]
|
||||||
|
|
||||||
|
### Severity Determination
|
||||||
|
| Condition | Severity |
|
||||||
|
|-----------|----------|
|
||||||
|
| Service completely down | Critical |
|
||||||
|
| Partial degradation | High |
|
||||||
|
| Intermittent issues | Medium |
|
||||||
|
| Minor impact | Low |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Response
|
||||||
|
|
||||||
|
### Immediate Actions (First 5 minutes)
|
||||||
|
1. [ ] Acknowledge alert
|
||||||
|
2. [ ] Verify incident is real (not false positive)
|
||||||
|
3. [ ] Notify on-call team
|
||||||
|
4. [ ] Start incident channel/call
|
||||||
|
|
||||||
|
### Investigation Steps
|
||||||
|
1. [ ] Check recent deployments
|
||||||
|
2. [ ] Review error logs
|
||||||
|
3. [ ] Check infrastructure metrics
|
||||||
|
4. [ ] Identify affected components
|
||||||
|
|
||||||
|
### Communication
|
||||||
|
| Audience | Channel | Frequency |
|
||||||
|
|----------|---------|-----------|
|
||||||
|
| Engineering | Slack #incidents | Continuous |
|
||||||
|
| Stakeholders | Email | Every 30 min |
|
||||||
|
| Users | Status page | Major updates |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Resolution
|
||||||
|
|
||||||
|
### Common Fixes
|
||||||
|
|
||||||
|
#### Fix 1: [Common issue]
|
||||||
|
```bash
|
||||||
|
# Commands to fix
|
||||||
|
```
|
||||||
|
Expected outcome: [What should happen]
|
||||||
|
|
||||||
|
#### Fix 2: [Another common issue]
|
||||||
|
```bash
|
||||||
|
# Commands to fix
|
||||||
|
```
|
||||||
|
Expected outcome: [What should happen]
|
||||||
|
|
||||||
|
### Rollback Procedure
|
||||||
|
1. [ ] Identify last known good version
|
||||||
|
2. [ ] Execute rollback
|
||||||
|
```bash
|
||||||
|
# Rollback commands
|
||||||
|
```
|
||||||
|
3. [ ] Verify service restored
|
||||||
|
4. [ ] Monitor for 15 minutes
|
||||||
|
|
||||||
|
### Escalation Path
|
||||||
|
| Time | Action |
|
||||||
|
|------|--------|
|
||||||
|
| 0-15 min | On-call engineer |
|
||||||
|
| 15-30 min | Team lead |
|
||||||
|
| 30-60 min | Engineering manager |
|
||||||
|
| 60+ min | Director/VP |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Post-Incident
|
||||||
|
|
||||||
|
### Verification
|
||||||
|
- [ ] Service fully restored
|
||||||
|
- [ ] All alerts cleared
|
||||||
|
- [ ] User-facing functionality verified
|
||||||
|
- [ ] Monitoring back to normal
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
- [ ] Timeline documented
|
||||||
|
- [ ] Root cause identified
|
||||||
|
- [ ] Action items created
|
||||||
|
- [ ] Post-mortem scheduled
|
||||||
|
|
||||||
|
### Post-Mortem Template
|
||||||
|
```markdown
|
||||||
|
## Incident Summary
|
||||||
|
- Date/Time:
|
||||||
|
- Duration:
|
||||||
|
- Impact:
|
||||||
|
- Root Cause:
|
||||||
|
|
||||||
|
## Timeline
|
||||||
|
- [Time] - Event
|
||||||
|
|
||||||
|
## What Went Well
|
||||||
|
-
|
||||||
|
|
||||||
|
## What Went Wrong
|
||||||
|
-
|
||||||
|
|
||||||
|
## Action Items
|
||||||
|
| Action | Owner | Due Date |
|
||||||
|
|--------|-------|----------|
|
||||||
|
| | | |
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Contacts
|
||||||
|
|
||||||
|
| Role | Name | Contact |
|
||||||
|
|------|------|---------|
|
||||||
|
| On-call | | |
|
||||||
|
| Team Lead | | |
|
||||||
|
| Manager | | |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Revision History
|
||||||
|
|
||||||
|
| Date | Author | Changes |
|
||||||
|
|------|--------|---------|
|
||||||
|
| | | |
|
||||||
|
|
||||||
@@ -11,16 +11,60 @@ Jira ticket: [AZ-XXX](link)
|
|||||||
- [ ] New feature
|
- [ ] New feature
|
||||||
- [ ] Refactoring
|
- [ ] Refactoring
|
||||||
- [ ] Documentation
|
- [ ] Documentation
|
||||||
|
- [ ] Performance improvement
|
||||||
|
- [ ] Security fix
|
||||||
|
|
||||||
## Checklist
|
## Checklist
|
||||||
- [ ] Code follows project conventions
|
- [ ] Code follows project conventions
|
||||||
- [ ] Self-review completed
|
- [ ] Self-review completed
|
||||||
- [ ] Tests added/updated
|
- [ ] Tests added/updated
|
||||||
- [ ] All tests pass
|
- [ ] All tests pass
|
||||||
|
- [ ] Code coverage maintained/improved
|
||||||
- [ ] Documentation updated (if needed)
|
- [ ] Documentation updated (if needed)
|
||||||
|
- [ ] CHANGELOG updated
|
||||||
|
|
||||||
|
## Breaking Changes
|
||||||
|
<!-- List any breaking changes, or write "None" -->
|
||||||
|
- None
|
||||||
|
|
||||||
|
## API Changes
|
||||||
|
<!-- List any API changes (new endpoints, changed signatures, removed endpoints) -->
|
||||||
|
- None
|
||||||
|
|
||||||
|
## Database Changes
|
||||||
|
<!-- List any database changes (migrations, schema changes) -->
|
||||||
|
- [ ] No database changes
|
||||||
|
- [ ] Migration included and tested
|
||||||
|
- [ ] Rollback migration included
|
||||||
|
|
||||||
|
## Deployment Notes
|
||||||
|
<!-- Special considerations for deployment -->
|
||||||
|
- [ ] No special deployment steps required
|
||||||
|
- [ ] Environment variables added/changed (documented in .env.example)
|
||||||
|
- [ ] Feature flags configured
|
||||||
|
- [ ] External service dependencies
|
||||||
|
|
||||||
|
## Rollback Plan
|
||||||
|
<!-- Steps to rollback if issues arise -->
|
||||||
|
1. Revert this PR commit
|
||||||
|
2. [Additional steps if needed]
|
||||||
|
|
||||||
## Testing
|
## Testing
|
||||||
How to test these changes.
|
How to test these changes:
|
||||||
|
1.
|
||||||
|
2.
|
||||||
|
3.
|
||||||
|
|
||||||
|
## Performance Impact
|
||||||
|
<!-- Note any performance implications -->
|
||||||
|
- [ ] No performance impact expected
|
||||||
|
- [ ] Performance tested (attach results if applicable)
|
||||||
|
|
||||||
|
## Security Considerations
|
||||||
|
<!-- Note any security implications -->
|
||||||
|
- [ ] No security implications
|
||||||
|
- [ ] Security review completed
|
||||||
|
- [ ] Sensitive data handling reviewed
|
||||||
|
|
||||||
## Screenshots (if applicable)
|
## Screenshots (if applicable)
|
||||||
|
<!-- Add screenshots for UI changes -->
|
||||||
|
|||||||
@@ -0,0 +1,140 @@
|
|||||||
|
# Quality Gates
|
||||||
|
|
||||||
|
Quality gates are checkpoints that must pass before proceeding to the next phase.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Kickstart Tutorial Quality Gates
|
||||||
|
|
||||||
|
### Gate 1: Research Complete (after 1.40)
|
||||||
|
Before proceeding to Planning phase:
|
||||||
|
- [ ] Problem description is clear and complete
|
||||||
|
- [ ] Acceptance criteria are measurable and testable
|
||||||
|
- [ ] Restrictions are documented
|
||||||
|
- [ ] Security requirements defined
|
||||||
|
- [ ] Solution draft reviewed and finalized
|
||||||
|
- [ ] Tech stack evaluated and selected
|
||||||
|
|
||||||
|
### Gate 2: Planning Complete (after 2.40)
|
||||||
|
Before proceeding to Implementation phase:
|
||||||
|
- [ ] All components defined with clear boundaries
|
||||||
|
- [ ] Data model designed and reviewed
|
||||||
|
- [ ] API contracts defined
|
||||||
|
- [ ] Test specifications created
|
||||||
|
- [ ] Jira epics/tasks created
|
||||||
|
- [ ] Effort estimated
|
||||||
|
- [ ] Risks identified and mitigated
|
||||||
|
|
||||||
|
### Gate 3: Implementation Complete (after 3.40)
|
||||||
|
Before merging to main:
|
||||||
|
- [ ] All components implemented
|
||||||
|
- [ ] Code coverage >= 75%
|
||||||
|
- [ ] All tests pass (unit, integration)
|
||||||
|
- [ ] Code review approved
|
||||||
|
- [ ] Security scan passed
|
||||||
|
- [ ] CI/CD pipeline green
|
||||||
|
- [ ] Deployment tested on staging
|
||||||
|
- [ ] Documentation complete
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Iterative Tutorial Quality Gates
|
||||||
|
|
||||||
|
### Gate 1: Spec Ready (after step 20)
|
||||||
|
Before creating Jira task:
|
||||||
|
- [ ] Building block clearly defines problem/goal
|
||||||
|
- [ ] Feature spec has measurable acceptance criteria
|
||||||
|
- [ ] Dependencies identified
|
||||||
|
- [ ] Complexity estimated
|
||||||
|
|
||||||
|
### Gate 2: Implementation Ready (after step 50)
|
||||||
|
Before starting development:
|
||||||
|
- [ ] Plan reviewed and approved
|
||||||
|
- [ ] Test strategy defined
|
||||||
|
- [ ] Dependencies available or mocked
|
||||||
|
|
||||||
|
### Gate 3: Merge Ready (after step 70)
|
||||||
|
Before creating PR:
|
||||||
|
- [ ] All acceptance criteria met
|
||||||
|
- [ ] Tests pass locally
|
||||||
|
- [ ] Definition of Done checklist completed
|
||||||
|
- [ ] No unresolved TODOs in code
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Refactoring Tutorial Quality Gates
|
||||||
|
|
||||||
|
### Gate 1: Safety Net Ready (after 4.50)
|
||||||
|
Before starting refactoring:
|
||||||
|
- [ ] Baseline metrics captured
|
||||||
|
- [ ] Current behavior documented
|
||||||
|
- [ ] Integration tests pass (>= 75% coverage)
|
||||||
|
- [ ] Feature parity checklist created
|
||||||
|
|
||||||
|
### Gate 2: Refactoring Safe (after each 4.70 cycle)
|
||||||
|
After each refactoring step:
|
||||||
|
- [ ] All existing tests still pass
|
||||||
|
- [ ] No functionality lost (feature parity check)
|
||||||
|
- [ ] Performance not degraded (compare to baseline)
|
||||||
|
|
||||||
|
### Gate 3: Refactoring Complete (after 4.95)
|
||||||
|
Before declaring refactoring done:
|
||||||
|
- [ ] All tests pass
|
||||||
|
- [ ] Performance improved or maintained
|
||||||
|
- [ ] Security review passed
|
||||||
|
- [ ] Technical debt reduced
|
||||||
|
- [ ] Documentation updated
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Automated Gate Checks
|
||||||
|
|
||||||
|
### CI Pipeline Gates
|
||||||
|
```yaml
|
||||||
|
gates:
|
||||||
|
build:
|
||||||
|
- compilation_success: true
|
||||||
|
|
||||||
|
quality:
|
||||||
|
- lint_errors: 0
|
||||||
|
- code_coverage: ">= 75%"
|
||||||
|
- code_smells: "< 10 new"
|
||||||
|
|
||||||
|
security:
|
||||||
|
- critical_vulnerabilities: 0
|
||||||
|
- high_vulnerabilities: 0
|
||||||
|
|
||||||
|
tests:
|
||||||
|
- unit_tests_pass: true
|
||||||
|
- integration_tests_pass: true
|
||||||
|
```
|
||||||
|
|
||||||
|
### Manual Gate Checks
|
||||||
|
Some gates require human verification:
|
||||||
|
- Architecture review
|
||||||
|
- Security review
|
||||||
|
- UX review (for UI changes)
|
||||||
|
- Stakeholder sign-off
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Gate Failure Handling
|
||||||
|
|
||||||
|
When a gate fails:
|
||||||
|
1. **Stop** - Do not proceed to next phase
|
||||||
|
2. **Identify** - Determine which checks failed
|
||||||
|
3. **Fix** - Address the failures
|
||||||
|
4. **Re-verify** - Run gate checks again
|
||||||
|
5. **Document** - If exception needed, get approval and document reason
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Exception Process
|
||||||
|
|
||||||
|
If a gate must be bypassed:
|
||||||
|
1. Document the reason
|
||||||
|
2. Get tech lead approval
|
||||||
|
3. Create follow-up task to address
|
||||||
|
4. Set deadline for resolution
|
||||||
|
5. Add to risk register
|
||||||
|
|
||||||
@@ -0,0 +1,173 @@
|
|||||||
|
# Rollback Strategy Template
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
| Field | Value |
|
||||||
|
|-------|-------|
|
||||||
|
| Service/Component | [Name] |
|
||||||
|
| Last Updated | [YYYY-MM-DD] |
|
||||||
|
| Owner | [Team/Person] |
|
||||||
|
| Max Rollback Time | [Target: X minutes] |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Rollback Triggers
|
||||||
|
|
||||||
|
### Automatic Rollback Triggers
|
||||||
|
- [ ] Health check failures > 3 consecutive
|
||||||
|
- [ ] Error rate > 10% for 5 minutes
|
||||||
|
- [ ] P99 latency > 2x baseline for 5 minutes
|
||||||
|
- [ ] Critical alert triggered
|
||||||
|
|
||||||
|
### Manual Rollback Triggers
|
||||||
|
- [ ] User-reported critical bug
|
||||||
|
- [ ] Data corruption detected
|
||||||
|
- [ ] Security vulnerability discovered
|
||||||
|
- [ ] Stakeholder decision
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Pre-Rollback Checklist
|
||||||
|
|
||||||
|
- [ ] Incident acknowledged and documented
|
||||||
|
- [ ] Stakeholders notified of rollback decision
|
||||||
|
- [ ] Current state captured (logs, metrics snapshot)
|
||||||
|
- [ ] Rollback target version identified
|
||||||
|
- [ ] Database state assessed (migrations reversible?)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Rollback Procedures
|
||||||
|
|
||||||
|
### Application Rollback
|
||||||
|
|
||||||
|
#### Option 1: Revert Deployment (Preferred)
|
||||||
|
```bash
|
||||||
|
# Using CI/CD
|
||||||
|
# Trigger previous successful deployment
|
||||||
|
|
||||||
|
# Manual (if needed)
|
||||||
|
git revert <commit-hash>
|
||||||
|
git push origin main
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Option 2: Blue-Green Switch
|
||||||
|
```bash
|
||||||
|
# Switch traffic to previous version
|
||||||
|
# [Platform-specific commands]
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Option 3: Feature Flag Disable
|
||||||
|
```bash
|
||||||
|
# Disable feature flag
|
||||||
|
# [Feature flag system commands]
|
||||||
|
```
|
||||||
|
|
||||||
|
### Database Rollback
|
||||||
|
|
||||||
|
#### If Migration is Reversible
|
||||||
|
```bash
|
||||||
|
# Run down migration
|
||||||
|
# [Migration tool command]
|
||||||
|
```
|
||||||
|
|
||||||
|
#### If Migration is NOT Reversible
|
||||||
|
1. [ ] Restore from backup
|
||||||
|
2. [ ] Point-in-time recovery to pre-deployment
|
||||||
|
3. [ ] **WARNING**: May cause data loss - requires approval
|
||||||
|
|
||||||
|
### Configuration Rollback
|
||||||
|
```bash
|
||||||
|
# Restore previous configuration
|
||||||
|
# [Config management commands]
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Post-Rollback Verification
|
||||||
|
|
||||||
|
### Immediate (0-5 minutes)
|
||||||
|
- [ ] Service responding to health checks
|
||||||
|
- [ ] No error spikes in logs
|
||||||
|
- [ ] Basic functionality verified
|
||||||
|
|
||||||
|
### Short-term (5-30 minutes)
|
||||||
|
- [ ] All critical paths functional
|
||||||
|
- [ ] Error rate returned to baseline
|
||||||
|
- [ ] Performance metrics normal
|
||||||
|
|
||||||
|
### Extended (30-60 minutes)
|
||||||
|
- [ ] No delayed issues appearing
|
||||||
|
- [ ] User reports resolved
|
||||||
|
- [ ] All alerts cleared
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Communication Plan
|
||||||
|
|
||||||
|
### During Rollback
|
||||||
|
| Audience | Message | Channel |
|
||||||
|
|----------|---------|---------|
|
||||||
|
| Engineering | "Initiating rollback due to [reason]" | Slack |
|
||||||
|
| Stakeholders | "Service issue detected, rollback in progress" | Email |
|
||||||
|
| Users | "We're aware of issues and working on a fix" | Status page |
|
||||||
|
|
||||||
|
### After Rollback
|
||||||
|
| Audience | Message | Channel |
|
||||||
|
|----------|---------|---------|
|
||||||
|
| Engineering | "Rollback complete, monitoring" | Slack |
|
||||||
|
| Stakeholders | "Service restored, post-mortem scheduled" | Email |
|
||||||
|
| Users | "Issue resolved, service fully operational" | Status page |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Known Limitations
|
||||||
|
|
||||||
|
### Cannot Rollback If:
|
||||||
|
- [ ] Database migration deleted columns with data
|
||||||
|
- [ ] External API contracts changed
|
||||||
|
- [ ] Third-party integrations updated
|
||||||
|
|
||||||
|
### Partial Rollback Scenarios
|
||||||
|
- [ ] When only specific components affected
|
||||||
|
- [ ] When data migration is complex
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Recovery After Rollback
|
||||||
|
|
||||||
|
### Investigation
|
||||||
|
1. [ ] Collect all relevant logs
|
||||||
|
2. [ ] Identify root cause
|
||||||
|
3. [ ] Document findings
|
||||||
|
|
||||||
|
### Re-deployment Planning
|
||||||
|
1. [ ] Fix identified in development
|
||||||
|
2. [ ] Additional tests added
|
||||||
|
3. [ ] Staged rollout planned
|
||||||
|
4. [ ] Monitoring enhanced
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Rollback Testing
|
||||||
|
|
||||||
|
### Test Schedule
|
||||||
|
- [ ] Monthly rollback drill
|
||||||
|
- [ ] After major infrastructure changes
|
||||||
|
- [ ] Before critical releases
|
||||||
|
|
||||||
|
### Test Scenarios
|
||||||
|
1. Application rollback
|
||||||
|
2. Database rollback (in staging)
|
||||||
|
3. Configuration rollback
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Contacts
|
||||||
|
|
||||||
|
| Role | Name | Contact |
|
||||||
|
|------|------|---------|
|
||||||
|
| On-call | | |
|
||||||
|
| Database Admin | | |
|
||||||
|
| Platform Team | | |
|
||||||
|
|
||||||
@@ -22,6 +22,12 @@ Add context7 MCP to the list in IDE:
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Reference Documents
|
||||||
|
- Definition of Done: `@_docs/00_templates/definition_of_done.md`
|
||||||
|
- Quality Gates: `@_docs/00_templates/quality_gates.md`
|
||||||
|
- PR Template: `@_docs/00_templates/pr_template.md`
|
||||||
|
- Feature Dependencies: `@_docs/00_templates/feature_dependency_matrix.md`
|
||||||
|
|
||||||
|
|
||||||
## 10 **🧑💻 Developers**: Form a building block
|
## 10 **🧑💻 Developers**: Form a building block
|
||||||
|
|
||||||
@@ -46,6 +52,13 @@ Add context7 MCP to the list in IDE:
|
|||||||
### Execute `/gen_feature_spec`
|
### Execute `/gen_feature_spec`
|
||||||
|
|
||||||
|
|
||||||
|
## 25. **🧑💻 Developer**: Check Feature Dependencies
|
||||||
|
### Verify
|
||||||
|
- Check `@_docs/00_templates/feature_dependency_matrix.md`
|
||||||
|
- Ensure all dependent features are completed or mocked
|
||||||
|
- Update dependency matrix with new feature
|
||||||
|
|
||||||
|
|
||||||
## 30. **🤖AI agent**: Generate Jira ticket and branch
|
## 30. **🤖AI agent**: Generate Jira ticket and branch
|
||||||
### Execute `/gen_jira_task_and_branch`
|
### Execute `/gen_jira_task_and_branch`
|
||||||
|
|
||||||
@@ -61,11 +74,32 @@ Add context7 MCP to the list in IDE:
|
|||||||
generate plan for `@_docs/iterative/feature_specs/01-dashboard-export-example.md`
|
generate plan for `@_docs/iterative/feature_specs/01-dashboard-export-example.md`
|
||||||
|
|
||||||
|
|
||||||
|
## 45. **🧑💻 Developer**: Define Test Strategy
|
||||||
|
### Determine test types needed:
|
||||||
|
- [ ] Unit tests (always required)
|
||||||
|
- [ ] Integration tests (if touching external systems/DB)
|
||||||
|
- [ ] E2E tests (if user workflow changes)
|
||||||
|
|
||||||
|
### Document in plan:
|
||||||
|
- Which tests to write
|
||||||
|
- Test data requirements
|
||||||
|
- Mocking strategy
|
||||||
|
|
||||||
|
|
||||||
## 50. **🧑💻 Developer**: Save the plan
|
## 50. **🧑💻 Developer**: Save the plan
|
||||||
Save the generated plan to `@_docs/iterative/plans`.
|
Save the generated plan to `@_docs/iterative/plans`.
|
||||||
(First, save with built-in mechanism to .cursor folder, then move to this folder `@_docs/iterative/plans`)
|
(First, save with built-in mechanism to .cursor folder, then move to this folder `@_docs/iterative/plans`)
|
||||||
|
|
||||||
|
|
||||||
|
## 55. **🧑💻 Developer**: Review Plan Before Build
|
||||||
|
### Checklist
|
||||||
|
- [ ] Plan covers all acceptance criteria
|
||||||
|
- [ ] Test strategy defined
|
||||||
|
- [ ] Dependencies identified and available
|
||||||
|
- [ ] No architectural concerns
|
||||||
|
- [ ] Estimate seems reasonable
|
||||||
|
|
||||||
|
|
||||||
## 60. Build from the plan
|
## 60. Build from the plan
|
||||||
|
|
||||||
|
|
||||||
@@ -78,4 +112,38 @@ Add context7 MCP to the list in IDE:
|
|||||||
- Code quality standards met
|
- Code quality standards met
|
||||||
|
|
||||||
|
|
||||||
## 70. Check build and tests are successful.
|
## 70. Check build and tests are successful
|
||||||
|
|
||||||
|
**User action required**: Run your project's test, lint, and coverage commands.
|
||||||
|
|
||||||
|
- [ ] All tests pass
|
||||||
|
- [ ] No linting errors
|
||||||
|
- [ ] Code coverage >= 75%
|
||||||
|
|
||||||
|
|
||||||
|
## 72. **🧑💻 Developer**: Run Full Verification
|
||||||
|
### Local Verification
|
||||||
|
- [ ] All unit tests pass
|
||||||
|
- [ ] All integration tests pass
|
||||||
|
- [ ] Code coverage >= 75%
|
||||||
|
- [ ] No linting errors
|
||||||
|
- [ ] Manual testing completed (if UI changes)
|
||||||
|
|
||||||
|
### Quality Gate Check
|
||||||
|
Review `@_docs/00_templates/quality_gates.md` - Iterative Gate 3
|
||||||
|
|
||||||
|
|
||||||
|
## 75. **🤖AI agent**: Create PR and Merge
|
||||||
|
### Execute `/gen_merge_and_deploy`
|
||||||
|
|
||||||
|
This will:
|
||||||
|
- Verify branch status
|
||||||
|
- Run pre-merge checks
|
||||||
|
- Update CHANGELOG
|
||||||
|
- Create PR using template
|
||||||
|
- Guide through merge process
|
||||||
|
|
||||||
|
|
||||||
|
## 78. **🧑💻 Developer**: Finalize
|
||||||
|
- Move Jira ticket to Done
|
||||||
|
- Verify CI pipeline passed on dev
|
||||||
|
|||||||
+120
-1
@@ -117,6 +117,19 @@
|
|||||||
When the next solution wouldn't differ much from the previous one, or become actually worse, store the last draft as `_docs/01_solution/solution.md`
|
When the next solution wouldn't differ much from the previous one, or become actually worse, store the last draft as `_docs/01_solution/solution.md`
|
||||||
|
|
||||||
|
|
||||||
|
## 1.35 **🤖📋AI plan**: Tech Stack Selection
|
||||||
|
|
||||||
|
### Execute `/1.research/1.35_tech_stack_selection`
|
||||||
|
|
||||||
|
### Revise
|
||||||
|
- Review technology choices against requirements
|
||||||
|
- Consider team expertise and learning curve
|
||||||
|
- Document trade-offs and alternatives considered
|
||||||
|
|
||||||
|
### Store
|
||||||
|
- Save output to `_docs/01_solution/tech_stack.md`
|
||||||
|
|
||||||
|
|
||||||
## 1.40 **🤖✨AI Research**: Security Research
|
## 1.40 **🤖✨AI Research**: Security Research
|
||||||
|
|
||||||
### Execute `/1.research/1.40_security_research`
|
### Execute `/1.research/1.40_security_research`
|
||||||
@@ -125,6 +138,9 @@
|
|||||||
- Review security approach against solution architecture
|
- Review security approach against solution architecture
|
||||||
- Update `security_approach.md` with specific requirements per component
|
- Update `security_approach.md` with specific requirements per component
|
||||||
|
|
||||||
|
### Quality Gate: Research Complete
|
||||||
|
Review `@_docs/00_templates/quality_gates.md` - Gate 1
|
||||||
|
|
||||||
### Commit
|
### Commit
|
||||||
```bash
|
```bash
|
||||||
git add _docs/
|
git add _docs/
|
||||||
@@ -188,6 +204,33 @@
|
|||||||
- Make sure epics are coherent and make sense
|
- Make sure epics are coherent and make sense
|
||||||
|
|
||||||
|
|
||||||
|
## 2.22 **🤖📋AI plan**: Data Model Design
|
||||||
|
|
||||||
|
### Execute `/2.planning/2.22_plan_data_model`
|
||||||
|
|
||||||
|
### Revise
|
||||||
|
- Review entity relationships
|
||||||
|
- Verify data access patterns
|
||||||
|
- Check migration strategy
|
||||||
|
|
||||||
|
### Store
|
||||||
|
- Save output to `_docs/02_components/data_model.md`
|
||||||
|
|
||||||
|
|
||||||
|
## 2.25 **🤖📋AI plan**: API Contracts Design
|
||||||
|
|
||||||
|
### Execute `/2.planning/2.25_plan_api_contracts`
|
||||||
|
|
||||||
|
### Revise
|
||||||
|
- Review interface definitions
|
||||||
|
- Verify error handling standards
|
||||||
|
- Check versioning strategy
|
||||||
|
|
||||||
|
### Store
|
||||||
|
- Save output to `_docs/02_components/api_contracts.md`
|
||||||
|
- Save OpenAPI spec to `_docs/02_components/openapi.yaml` (if applicable)
|
||||||
|
|
||||||
|
|
||||||
## 2.30 **🤖📋AI plan**: Generate tests
|
## 2.30 **🤖📋AI plan**: Generate tests
|
||||||
|
|
||||||
### Execute `/2.planning/2.30_plan_tests`
|
### Execute `/2.planning/2.30_plan_tests`
|
||||||
@@ -197,6 +240,19 @@
|
|||||||
- Make sure stored tests are coherent and make sense
|
- Make sure stored tests are coherent and make sense
|
||||||
|
|
||||||
|
|
||||||
|
## 2.35 **🤖📋AI plan**: Risk Assessment
|
||||||
|
|
||||||
|
### Execute `/2.planning/2.37_plan_risk_assessment`
|
||||||
|
|
||||||
|
### Revise
|
||||||
|
- Review identified risks
|
||||||
|
- Verify mitigation strategies
|
||||||
|
- Set up risk monitoring
|
||||||
|
|
||||||
|
### Store
|
||||||
|
- Save output to `_docs/02_components/risk_assessment.md`
|
||||||
|
|
||||||
|
|
||||||
## 2.40 **🤖📋AI plan**: Component Decomposition To Features
|
## 2.40 **🤖📋AI plan**: Component Decomposition To Features
|
||||||
### Execute
|
### Execute
|
||||||
For each component in `_docs/02_components` run
|
For each component in `_docs/02_components` run
|
||||||
@@ -206,6 +262,9 @@
|
|||||||
- Revise the features, answer questions, put detailed descriptions
|
- Revise the features, answer questions, put detailed descriptions
|
||||||
- Make sure features are coherent and make sense
|
- Make sure features are coherent and make sense
|
||||||
|
|
||||||
|
### Quality Gate: Planning Complete
|
||||||
|
Review `@_docs/00_templates/quality_gates.md` - Gate 2
|
||||||
|
|
||||||
### Commit
|
### Commit
|
||||||
```bash
|
```bash
|
||||||
git add _docs/
|
git add _docs/
|
||||||
@@ -238,6 +297,12 @@
|
|||||||
|
|
||||||
### Execute: `/3.implementation/3.05_implement_initial_structure`
|
### Execute: `/3.implementation/3.05_implement_initial_structure`
|
||||||
|
|
||||||
|
This will create:
|
||||||
|
- Project structure with CI/CD pipeline
|
||||||
|
- Environment configurations (see `@_docs/00_templates/environment_strategy.md`)
|
||||||
|
- Database migrations setup
|
||||||
|
- Test infrastructure
|
||||||
|
|
||||||
### Review Plan
|
### Review Plan
|
||||||
- Analyze the proposals, answer questions
|
- Analyze the proposals, answer questions
|
||||||
- Improve plan as much as possible so it would be clear what exactly to do
|
- Improve plan as much as possible so it would be clear what exactly to do
|
||||||
@@ -283,15 +348,29 @@
|
|||||||
- Ensure code quality standards are met
|
- Ensure code quality standards are met
|
||||||
|
|
||||||
|
|
||||||
## 3.30 **🤖📋AI plan**: CI/CD Setup
|
## 3.30 **🤖📋AI plan**: CI/CD Validation
|
||||||
|
|
||||||
### Execute `/3.implementation/3.30_implement_cicd`
|
### Execute `/3.implementation/3.30_implement_cicd`
|
||||||
|
|
||||||
### Revise
|
### Revise
|
||||||
- Review pipeline configuration
|
- Review pipeline configuration
|
||||||
|
- Verify all quality gates are enforced
|
||||||
- Ensure all stages are properly configured
|
- Ensure all stages are properly configured
|
||||||
|
|
||||||
|
|
||||||
|
## 3.35 **🤖📋AI plan**: Deployment Strategy
|
||||||
|
|
||||||
|
### Execute `/3.implementation/3.35_plan_deployment`
|
||||||
|
|
||||||
|
### Revise
|
||||||
|
- Review deployment procedures per environment
|
||||||
|
- Verify rollback procedures documented
|
||||||
|
- Ensure health checks configured
|
||||||
|
|
||||||
|
### Store
|
||||||
|
- Save output to `_docs/02_components/deployment_strategy.md`
|
||||||
|
|
||||||
|
|
||||||
## 3.40 **🤖📋AI plan**: Integration tests and solution checks
|
## 3.40 **🤖📋AI plan**: Integration tests and solution checks
|
||||||
|
|
||||||
### Execute `/3.implementation/3.40_implement_tests`
|
### Execute `/3.implementation/3.40_implement_tests`
|
||||||
@@ -300,6 +379,34 @@
|
|||||||
- Revise the plan, answer questions, put detailed descriptions
|
- Revise the plan, answer questions, put detailed descriptions
|
||||||
- Make sure tests are coherent and make sense
|
- Make sure tests are coherent and make sense
|
||||||
|
|
||||||
|
|
||||||
|
## 3.42 **🤖📋AI plan**: Observability Setup
|
||||||
|
|
||||||
|
### Execute `/3.implementation/3.42_plan_observability`
|
||||||
|
|
||||||
|
### Revise
|
||||||
|
- Review logging strategy
|
||||||
|
- Verify metrics and alerting
|
||||||
|
- Check dashboard configuration
|
||||||
|
|
||||||
|
### Store
|
||||||
|
- Save output to `_docs/02_components/observability_plan.md`
|
||||||
|
|
||||||
|
|
||||||
|
## 3.45 **🧑💻 Developer**: Final Quality Gate
|
||||||
|
|
||||||
|
### Quality Gate: Implementation Complete
|
||||||
|
Review `@_docs/00_templates/quality_gates.md` - Gate 3
|
||||||
|
|
||||||
|
### Checklist
|
||||||
|
- [ ] All components implemented
|
||||||
|
- [ ] Code coverage >= 75%
|
||||||
|
- [ ] All tests pass
|
||||||
|
- [ ] Code review approved
|
||||||
|
- [ ] CI/CD pipeline green
|
||||||
|
- [ ] Deployment tested on staging
|
||||||
|
- [ ] Observability configured
|
||||||
|
|
||||||
### Merge after tests pass
|
### Merge after tests pass
|
||||||
```bash
|
```bash
|
||||||
git checkout stage
|
git checkout stage
|
||||||
@@ -309,3 +416,15 @@
|
|||||||
git push origin main
|
git push origin main
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## 3.50 **🧑💻 Developer**: Post-Implementation
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
- [ ] Update README with final setup instructions
|
||||||
|
- [ ] Create/update runbooks using `@_docs/00_templates/incident_playbook.md`
|
||||||
|
- [ ] Document rollback procedures using `@_docs/00_templates/rollback_strategy.md`
|
||||||
|
|
||||||
|
### Handoff
|
||||||
|
- [ ] Stakeholders notified of completion
|
||||||
|
- [ ] Operations team briefed on monitoring
|
||||||
|
- [ ] Support documentation complete
|
||||||
|
|||||||
@@ -2,6 +2,12 @@
|
|||||||
|
|
||||||
This tutorial guides through analyzing, documenting, and refactoring an existing codebase.
|
This tutorial guides through analyzing, documenting, and refactoring an existing codebase.
|
||||||
|
|
||||||
|
## Reference Documents
|
||||||
|
- Definition of Done: `@_docs/00_templates/definition_of_done.md`
|
||||||
|
- Quality Gates: `@_docs/00_templates/quality_gates.md`
|
||||||
|
- Feature Parity Checklist: `@_docs/00_templates/feature_parity_checklist.md`
|
||||||
|
- Baseline Metrics: `@_docs/04_refactoring/baseline_metrics.md` (created in 4.07)
|
||||||
|
|
||||||
|
|
||||||
## 4.05 **🧑💻 Developers**: User Input
|
## 4.05 **🧑💻 Developers**: User Input
|
||||||
|
|
||||||
@@ -12,6 +18,24 @@ This tutorial guides through analyzing, documenting, and refactoring an existing
|
|||||||
- `security_approach.md`: Security requirements (if applicable)
|
- `security_approach.md`: Security requirements (if applicable)
|
||||||
|
|
||||||
|
|
||||||
|
## 4.07 **🤖📋AI plan**: Capture Baseline Metrics
|
||||||
|
|
||||||
|
### Execute `/4.refactoring/4.07_capture_baseline`
|
||||||
|
|
||||||
|
### Revise
|
||||||
|
- Verify all metrics are captured accurately
|
||||||
|
- Document measurement methodology
|
||||||
|
- Save raw data for later comparison
|
||||||
|
|
||||||
|
### Store
|
||||||
|
- Create folder `_docs/04_refactoring/`
|
||||||
|
- Save output to `_docs/04_refactoring/baseline_metrics.md`
|
||||||
|
|
||||||
|
### Create Feature Parity Checklist
|
||||||
|
- Copy `@_docs/00_templates/feature_parity_checklist.md` to `_docs/04_refactoring/`
|
||||||
|
- Fill in current feature inventory
|
||||||
|
|
||||||
|
|
||||||
## 4.10 **🤖📋AI plan**: Build Documentation from Code
|
## 4.10 **🤖📋AI plan**: Build Documentation from Code
|
||||||
|
|
||||||
### Execute `/4.refactoring/4.10_documentation`
|
### Execute `/4.refactoring/4.10_documentation`
|
||||||
@@ -53,6 +77,15 @@ This tutorial guides through analyzing, documenting, and refactoring an existing
|
|||||||
|
|
||||||
### Execute `/4.refactoring/4.40_tests_description`
|
### Execute `/4.refactoring/4.40_tests_description`
|
||||||
|
|
||||||
|
### Prerequisites Check
|
||||||
|
- Baseline metrics captured (4.07)
|
||||||
|
- Feature parity checklist created
|
||||||
|
|
||||||
|
### Coverage Requirements
|
||||||
|
- Minimum overall coverage: 75%
|
||||||
|
- Critical path coverage: 90%
|
||||||
|
- All public APIs must have integration tests
|
||||||
|
|
||||||
### Revise
|
### Revise
|
||||||
- Ensure tests cover critical functionality
|
- Ensure tests cover critical functionality
|
||||||
- Add edge cases
|
- Add edge cases
|
||||||
@@ -65,6 +98,10 @@ This tutorial guides through analyzing, documenting, and refactoring an existing
|
|||||||
### Verify
|
### Verify
|
||||||
- All tests pass on current codebase
|
- All tests pass on current codebase
|
||||||
- Tests serve as safety net for refactoring
|
- Tests serve as safety net for refactoring
|
||||||
|
- Coverage meets requirements (75% minimum)
|
||||||
|
|
||||||
|
### Quality Gate: Safety Net Ready
|
||||||
|
Review `@_docs/00_templates/quality_gates.md` - Refactoring Gate 1
|
||||||
|
|
||||||
|
|
||||||
## 4.60 **🤖📋AI plan**: Analyze Coupling
|
## 4.60 **🤖📋AI plan**: Analyze Coupling
|
||||||
@@ -80,9 +117,13 @@ This tutorial guides through analyzing, documenting, and refactoring an existing
|
|||||||
|
|
||||||
### Execute `/4.refactoring/4.70_execute_decoupling`
|
### Execute `/4.refactoring/4.70_execute_decoupling`
|
||||||
|
|
||||||
### Verify
|
### Verify After Each Change
|
||||||
- Run integration tests after each change
|
- Run integration tests after each change
|
||||||
- All tests must pass before proceeding
|
- All tests must pass before proceeding
|
||||||
|
- Update feature parity checklist
|
||||||
|
|
||||||
|
### Quality Gate: Refactoring Safe
|
||||||
|
Review `@_docs/00_templates/quality_gates.md` - Refactoring Gate 2
|
||||||
|
|
||||||
|
|
||||||
## 4.80 **🤖📋AI plan**: Technical Debt
|
## 4.80 **🤖📋AI plan**: Technical Debt
|
||||||
@@ -99,7 +140,8 @@ This tutorial guides through analyzing, documenting, and refactoring an existing
|
|||||||
### Execute `/4.refactoring/4.90_performance`
|
### Execute `/4.refactoring/4.90_performance`
|
||||||
|
|
||||||
### Verify
|
### Verify
|
||||||
- Benchmark before/after
|
- Compare against baseline metrics from 4.07
|
||||||
|
- Performance should be improved or maintained
|
||||||
- Run tests to ensure no regressions
|
- Run tests to ensure no regressions
|
||||||
|
|
||||||
|
|
||||||
@@ -111,3 +153,30 @@ This tutorial guides through analyzing, documenting, and refactoring an existing
|
|||||||
- Address identified vulnerabilities
|
- Address identified vulnerabilities
|
||||||
- Run security tests if applicable
|
- Run security tests if applicable
|
||||||
|
|
||||||
|
|
||||||
|
## 4.97 **🧑💻 Developer**: Final Verification
|
||||||
|
|
||||||
|
### Quality Gate: Refactoring Complete
|
||||||
|
Review `@_docs/00_templates/quality_gates.md` - Refactoring Gate 3
|
||||||
|
|
||||||
|
### Compare Against Baseline
|
||||||
|
- [ ] Code coverage >= baseline
|
||||||
|
- [ ] Performance metrics improved or maintained
|
||||||
|
- [ ] All features preserved (feature parity checklist complete)
|
||||||
|
- [ ] Technical debt reduced
|
||||||
|
|
||||||
|
### Feature Parity Verification
|
||||||
|
- [ ] All items in feature parity checklist verified
|
||||||
|
- [ ] No functionality lost
|
||||||
|
- [ ] All tests pass
|
||||||
|
|
||||||
|
### Documentation
|
||||||
|
- [ ] Update solution.md with changes
|
||||||
|
- [ ] Document any intentional behavior changes
|
||||||
|
- [ ] Update README if needed
|
||||||
|
|
||||||
|
### Commit
|
||||||
|
```bash
|
||||||
|
git add .
|
||||||
|
git commit -m "Refactoring: complete"
|
||||||
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user