You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							248 lines
						
					
					
						
							6.8 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							248 lines
						
					
					
						
							6.8 KiB
						
					
					
				
								# Build Testing — Requirements and Emergency Procedures
							 | 
						|
								
							 | 
						|
								> **Agent role**: Reference this file for testing requirements and
							 | 
						|
								  emergency procedures when working with build architecture changes.
							 | 
						|
								
							 | 
						|
								## Emergency Procedures
							 | 
						|
								
							 | 
						|
								### Build System Broken
							 | 
						|
								
							 | 
						|
								1. **Immediate**: Revert to last known working commit
							 | 
						|
								
							 | 
						|
								2. **Investigation**: Create issue with full error details
							 | 
						|
								
							 | 
						|
								3. **Testing**: Verify all platforms work after revert
							 | 
						|
								
							 | 
						|
								4. **Documentation**: Update `BUILDING.md` with failure notes
							 | 
						|
								
							 | 
						|
								### Platform-Specific Failure
							 | 
						|
								
							 | 
						|
								1. **Isolate**: Identify which platform is affected
							 | 
						|
								
							 | 
						|
								2. **Test Others**: Verify other platforms still work
							 | 
						|
								
							 | 
						|
								3. **Rollback**: Revert platform-specific changes
							 | 
						|
								
							 | 
						|
								4. **Investigation**: Debug in isolated environment
							 | 
						|
								
							 | 
						|
								## Rollback Playbook
							 | 
						|
								
							 | 
						|
								### Immediate Rollback
							 | 
						|
								
							 | 
						|
								1. `git revert` or `git reset --hard <prev>`; restore prior `scripts/` or config
							 | 
						|
								
							 | 
						|
								   files
							 | 
						|
								
							 | 
						|
								2. Rebuild affected targets; verify old behavior returns
							 | 
						|
								
							 | 
						|
								3. Post-mortem notes → update this guard and `BUILDING.md` if gaps found
							 | 
						|
								
							 | 
						|
								### Rollback Verification
							 | 
						|
								
							 | 
						|
								- **Web**: `npm run build:web:dev` and `npm run build:web:prod`
							 | 
						|
								
							 | 
						|
								- **Mobile**: `npm run build:android:test` and `npm run build:ios:test`
							 | 
						|
								
							 | 
						|
								- **Desktop**: `npm run build:electron:dev` and packaging commands
							 | 
						|
								
							 | 
						|
								- **Clean**: Run relevant `clean:*` scripts and verify re-build works
							 | 
						|
								
							 | 
						|
								### Android-Specific Rollback Verification
							 | 
						|
								
							 | 
						|
								- **Asset Generation**: `npm run build:android --assets` -
							 | 
						|
								
							 | 
						|
								  verify resources regenerate
							 | 
						|
								
							 | 
						|
								- **API Routing**: Test both `--dev` and `--dev --api-ip <custom>` modes
							 | 
						|
								
							 | 
						|
								- **Resource Validation**:
							 | 
						|
								
							 | 
						|
								  Check `android/app/src/main/res/` for all required assets
							 | 
						|
								
							 | 
						|
								- **Build Modes**: Verify development, test, and production modes all work
							 | 
						|
								
							 | 
						|
								- **Resource Fallback**:
							 | 
						|
								
							 | 
						|
								  Confirm missing resources trigger automatic regeneration
							 | 
						|
								
							 | 
						|
								## Integration Points
							 | 
						|
								
							 | 
						|
								### With Version Control
							 | 
						|
								
							 | 
						|
								- **Branch Protection**: Require reviews for build script changes
							 | 
						|
								
							 | 
						|
								- **Commit Messages**: Must reference ADR for major changes
							 | 
						|
								
							 | 
						|
								- **Testing**: All build changes must pass CI/CD pipeline
							 | 
						|
								
							 | 
						|
								### With Documentation
							 | 
						|
								
							 | 
						|
								- **BUILDING.md**: Must be updated for any script changes
							 | 
						|
								
							 | 
						|
								- **README.md**: Must reflect new build requirements
							 | 
						|
								
							 | 
						|
								- **CHANGELOG.md**: Must document breaking build changes
							 | 
						|
								
							 | 
						|
								### With Testing
							 | 
						|
								
							 | 
						|
								- **Pre-commit**: Run basic build validation
							 | 
						|
								
							 | 
						|
								- **CI/CD**: Full platform build testing
							 | 
						|
								
							 | 
						|
								- **Manual Testing**: Human verification of critical paths
							 | 
						|
								
							 | 
						|
								## Competence Hooks
							 | 
						|
								
							 | 
						|
								### Why This Works
							 | 
						|
								
							 | 
						|
								- **Prevents Build Failures**: Catches issues before they reach production
							 | 
						|
								
							 | 
						|
								- **Maintains Consistency**: Ensures all platforms build identically
							 | 
						|
								
							 | 
						|
								- **Reduces Debugging Time**: Prevents build system regressions
							 | 
						|
								
							 | 
						|
								### Common Pitfalls
							 | 
						|
								
							 | 
						|
								- **Silent Failures**: Changes that work on one platform but break others
							 | 
						|
								
							 | 
						|
								- **Dependency Conflicts**: Updates that create version incompatibilities
							 | 
						|
								
							 | 
						|
								- **Documentation Drift**: Build scripts that don't match documentation
							 | 
						|
								
							 | 
						|
								### Next Skill Unlock
							 | 
						|
								
							 | 
						|
								- Learn to test build changes across all platforms simultaneously
							 | 
						|
								
							 | 
						|
								### Teach-back
							 | 
						|
								
							 | 
						|
								- "What three platforms must I test before committing a build script change?"
							 | 
						|
								
							 | 
						|
								## Collaboration Hooks
							 | 
						|
								
							 | 
						|
								### Team Review Requirements
							 | 
						|
								
							 | 
						|
								- **Platform Owners**: iOS, Android, Electron, Web specialists
							 | 
						|
								
							 | 
						|
								- **DevOps**: CI/CD pipeline maintainers
							 | 
						|
								
							 | 
						|
								- **QA**: Testing infrastructure owners
							 | 
						|
								
							 | 
						|
								### Discussion Prompts
							 | 
						|
								
							 | 
						|
								- "Which platforms will be affected by this build change?"
							 | 
						|
								
							 | 
						|
								- "How can we test this change without breaking existing builds?"
							 | 
						|
								
							 | 
						|
								- "What's our rollback plan if this change fails?"
							 | 
						|
								
							 | 
						|
								## Self-Check (Before Allowing Changes)
							 | 
						|
								
							 | 
						|
								- [ ] **Authorization Level**: Is this change appropriate for the level?
							 | 
						|
								
							 | 
						|
								- [ ] **Testing Plan**: Is there a comprehensive testing strategy?
							 | 
						|
								
							 | 
						|
								- [ ] **Documentation**: Will BUILDING.md be updated?
							 | 
						|
								
							 | 
						|
								- [ ] **Rollback**: Is there a safe rollback mechanism?
							 | 
						|
								
							 | 
						|
								- [ ] **Team Review**: Have appropriate stakeholders been consulted?
							 | 
						|
								
							 | 
						|
								- [ ] **CI/CD**: Will this pass the build pipeline?
							 | 
						|
								
							 | 
						|
								## Continuous Improvement & Feedback
							 | 
						|
								
							 | 
						|
								### Feedback Collection
							 | 
						|
								
							 | 
						|
								The Build Architecture Guard system includes feedback mechanisms to continuously
							 | 
						|
								  improve its effectiveness:
							 | 
						|
								
							 | 
						|
								- **User Feedback**: Script includes feedback prompts for guard improvements
							 | 
						|
								
							 | 
						|
								- **Pattern Analysis**:
							 | 
						|
								
							 | 
						|
								  Monitor which file patterns trigger false positives/negatives
							 | 
						|
								
							 | 
						|
								- **Documentation Gaps**: Track which changes lack proper documentation
							 | 
						|
								
							 | 
						|
								- **Testing Effectiveness**: Measure how often guard catches actual issues
							 | 
						|
								
							 | 
						|
								### Feedback Integration Process
							 | 
						|
								
							 | 
						|
								1. **Collect Feedback**: Monitor guard execution logs and user reports
							 | 
						|
								
							 | 
						|
								2. **Analyze Patterns**: Identify common false positives or missed patterns
							 | 
						|
								
							 | 
						|
								3. **Update Rules**: Modify `build_architecture_guard.mdc` based on feedback
							 | 
						|
								
							 | 
						|
								4. **Enhance Script**: Update `build-arch-guard.sh` with new validations
							 | 
						|
								
							 | 
						|
								5. **Test Changes**: Verify guard improvements don't introduce new issues
							 | 
						|
								
							 | 
						|
								6. **Document Updates**: Update guard documentation with new patterns
							 | 
						|
								
							 | 
						|
								### Feedback Categories
							 | 
						|
								
							 | 
						|
								- **False Positives**: Files flagged as sensitive that shouldn't be
							 | 
						|
								
							 | 
						|
								- **False Negatives**: Sensitive files that weren't caught
							 | 
						|
								
							 | 
						|
								- **Missing Patterns**: New file types that should be protected
							 | 
						|
								
							 | 
						|
								- **Overly Strict**: Patterns that are too restrictive
							 | 
						|
								
							 | 
						|
								- **Documentation Gaps**: Missing guidance for specific change types
							 | 
						|
								
							 | 
						|
								- **Testing Improvements**: Better validation procedures
							 | 
						|
								
							 | 
						|
								### Feedback Reporting
							 | 
						|
								
							 | 
						|
								When reporting guard issues, include:
							 | 
						|
								
							 | 
						|
								- **File patterns** that triggered false positives/negatives
							 | 
						|
								
							 | 
						|
								- **Build system changes** that weren't properly caught
							 | 
						|
								
							 | 
						|
								- **Documentation gaps** in current guard rules
							 | 
						|
								
							 | 
						|
								- **Testing procedures** that could be improved
							 | 
						|
								
							 | 
						|
								- **User experience** issues with guard enforcement
							 | 
						|
								
							 | 
						|
								---
							 | 
						|
								
							 | 
						|
								**See also**:
							 | 
						|
								
							 | 
						|
								- `.cursor/rules/architecture/build_architecture_guard.mdc` for
							 | 
						|
								
							 | 
						|
								  core protection guidelines
							 | 
						|
								
							 | 
						|
								- `.cursor/rules/architecture/build_validation.mdc` for validation procedures
							 | 
						|
								
							 | 
						|
								**Status**: Active testing requirements
							 | 
						|
								**Priority**: High
							 | 
						|
								**Estimated Effort**: Ongoing reference
							 | 
						|
								**Dependencies**: build_architecture_guard.mdc, build_validation.mdc
							 | 
						|
								**Stakeholders**: Development team, DevOps team, Build team
							 | 
						|
								
							 | 
						|
								## Model Implementation Checklist
							 | 
						|
								
							 | 
						|
								### Before Build Testing
							 | 
						|
								
							 | 
						|
								- [ ] **Test Planning**: Plan comprehensive testing strategy for build changes
							 | 
						|
								- [ ] **Platform Coverage**: Identify all platforms that need testing
							 | 
						|
								- [ ] **Risk Assessment**: Assess testing risks and mitigation strategies
							 | 
						|
								- [ ] **Resource Planning**: Plan testing resources and time requirements
							 | 
						|
								
							 | 
						|
								### During Build Testing
							 | 
						|
								
							 | 
						|
								- [ ] **Test Execution**: Execute planned tests across all platforms
							 | 
						|
								- [ ] **Issue Tracking**: Track and document any issues found
							 | 
						|
								- [ ] **Feedback Collection**: Collect feedback on testing effectiveness
							 | 
						|
								- [ ] **Documentation**: Document testing procedures and results
							 | 
						|
								
							 | 
						|
								### After Build Testing
							 | 
						|
								
							 | 
						|
								- [ ] **Result Analysis**: Analyze testing results and identify patterns
							 | 
						|
								- [ ] **Feedback Integration**: Integrate feedback into testing procedures
							 | 
						|
								- [ ] **Process Improvement**: Update testing procedures based on feedback
							 | 
						|
								- [ ] **Team Communication**: Share testing results and improvements with team
							 | 
						|
								
							 |