3.1 KiB
Cross-Cutting Concerns Management - Reference
This reference documentation provides comprehensive details on the cross-cutting concerns standardization methodology developed in bootstrap-013.
Core Methodology
Systematic standardization of: Error handling, Logging, Configuration
Three Phases:
- Observe (Pattern inventory, baseline metrics, gap analysis)
- Codify (Convention selection, infrastructure creation, linter development)
- Automate (Standardization, CI integration, documentation)
Five Universal Principles
- Detect Before Standardize: Automate identification of non-compliant code
- Prioritize by Value: High-value files first (ROI-based classification)
- Infrastructure Enables Scale: Build sentinels before standardizing call sites
- Context Is King: Enrich errors with operation + resource + type + guidance
- Automate Enforcement: CI blocks non-compliant code
Knowledge Artifacts
All knowledge artifacts from bootstrap-013 are documented in:
experiments/bootstrap-013-cross-cutting-concerns/knowledge/
Best Practices (3):
- Go Logging (13 practices)
- Go Error Handling (13 practices)
- Go Configuration (14 practices)
Templates (3):
- Logger Setup (log/slog initialization)
- Error Handling Template (sentinel errors, wrapping, context)
- Config Management Template (centralized config, validation)
File Tier Prioritization
Tier 1 (ROI > 10x): User-facing APIs, public interfaces, error infrastructure
- Strategy: Standardize 100%
- Example: capabilities.go (16.7x ROI, 25.5% value gain)
Tier 2 (ROI 5-10x): Internal services, CLI commands, data processors
- Strategy: Selective standardization 50-80%
- Example: Internal utilities (8.3x ROI, 6% value gain)
Tier 3 (ROI < 5x): Test utilities, stubs, deprecated code
- Strategy: Defer or skip 0-20%
- Example: Stubs (3x ROI, 1% value gain) - deferred
Effectiveness Validation
Error Diagnosis Speed: 60-75% faster with rich context
ROI by Tier:
- Tier 1: 16.7x ROI
- Tier 2: 8.3x ROI
- Tier 3: 3x ROI (deferred)
CI Enforcement:
- Setup time: 20 minutes
- Regression rate: 0%
- Ongoing maintenance: 0 hours (fully automated)
Transferability
Overall: 80-90% transferable across languages
Language-Specific Adaptations:
- Go: 90% (log/slog, fmt.Errorf %w, os.Getenv)
- Python: 80-85% (logging, raise...from, os.environ)
- JavaScript: 75-80% (winston, Error.cause, process.env)
- Rust: 85-90% (tracing, anyhow, thiserror)
Universal Components (100%):
- 5 universal principles
- File tier prioritization framework
- ROI calculation method
- Context enrichment structure (operation + resource + type + guidance)
Language-Specific (10-20%):
- Specific libraries/tools
- Syntax variations
- Error wrapping mechanisms
Experiment Results
See full results: experiments/bootstrap-013-cross-cutting-concerns/ (in progress)
Key Metrics:
- Error handling: 70% → 90% consistency (Tier 1)
- Logging: 0.7% → 90% adoption
- Configuration: 40% → 80% centralized
- ROI: 16.7x for Tier 1, 8.3x for Tier 2
- Diagnosis speed: 60-75% improvement