tegwick
a17c362653
feat: implement Issue #148 core infrastructure for explode-implode variants
Complete implementation of Phase 1 core infrastructure:
Core Infrastructure Components:
- ExplodeVariant enum (flat, hierarchical, semantic)
- ExplodeMode, ManifestVersion, DetectionConfidence enums
- BaseVariant abstract class with common interface
- ExplodeOptions, ImplodeOptions, ExplodeResult, ImplodeResult dataclasses
Manifest System:
- ManifestManager class for manifest.md creation and parsing
- StructureEntry and ManifestData dataclasses
- YAML front matter with complete metadata preservation
- Validation and update mechanisms
Variant Detection:
- VariantDetector class with multiple detection strategies
- Manifest-based detection (highest priority)
- Directory naming pattern recognition
- Semantic structure analysis with confidence scoring
- Automatic fallback and combination logic
Command Interface Updates:
- md-explode: Added --variant parameter with [flat|hierarchical|semantic]
- md-explode: Added --create-manifest/--no-manifest option
- md-implode: Added --force-variant parameter for manual override
- md-implode: Integrated auto-detection with verbose output
- Updated help text and examples for both commands
Test Coverage:
- Comprehensive test suite with 21 test cases
- Tests for all enums, dataclasses, and core functionality
- ManifestManager creation, reading, and validation tests
- VariantDetector pattern recognition and confidence tests
- 100% test pass rate with robust edge case handling
Infrastructure Features:
- Backward compatibility maintained (flat variant default)
- Graceful handling of unimplemented variants with user warnings
- Extensible design for easy addition of new variants
- Clear separation between infrastructure and implementation
Success Criteria Met:
✅ ExplodeVariant enum with all planned variants
✅ ManifestManager creates and parses manifest.md files
✅ Commands accept variant parameters
✅ Auto-detection logic identifies variant types
✅ Unit tests achieve 100% pass rate
✅ Backward compatibility maintained
Ready for Phase 2: Variant implementations (Issue #149)
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-12 20:17:41 +02:00
..
2025-10-02 00:45:06 +02:00
2025-09-29 12:18:25 +02:00
2025-10-02 09:32:16 +02:00
2025-09-27 02:14:23 +02:00
2025-09-29 12:18:25 +02:00
2025-10-06 02:11:28 +02:00
2025-10-04 02:33:48 +02:00
2025-09-26 22:36:35 +02:00
2025-10-12 19:55:57 +02:00
2025-10-02 15:33:32 +02:00
2025-10-02 09:14:24 +02:00
2025-10-04 01:31:36 +02:00
2025-10-04 01:31:36 +02:00
2025-10-04 01:31:36 +02:00
2025-10-05 14:05:48 +02:00
2025-10-01 21:05:36 +02:00
2025-09-22 02:04:19 +02:00
2025-10-04 01:31:36 +02:00
2025-10-02 09:14:24 +02:00
2025-10-01 21:05:36 +02:00
2025-09-30 03:31:48 +02:00
2025-09-30 03:31:48 +02:00
2025-10-01 21:05:36 +02:00
2025-10-01 21:05:36 +02:00
2025-10-03 11:58:42 +02:00
2025-10-03 16:48:03 +02:00
2025-09-22 02:04:19 +02:00
2025-10-03 10:45:43 +02:00
2025-10-03 10:53:44 +02:00
2025-10-03 11:29:49 +02:00
2025-10-06 18:04:05 +02:00
2025-10-06 17:46:54 +02:00
2025-10-06 17:46:54 +02:00
2025-10-01 21:05:36 +02:00
2025-09-30 23:33:43 +02:00
2025-09-30 13:09:37 +02:00
2025-10-01 12:48:48 +02:00
2025-10-01 18:07:05 +02:00
2025-10-01 08:25:08 +02:00
2025-10-01 02:59:40 +02:00
2025-10-01 08:03:11 +02:00
2025-10-01 08:24:39 +02:00
2025-10-01 12:48:48 +02:00
2025-10-01 12:13:43 +02:00
2025-10-02 00:45:06 +02:00
2025-10-06 02:11:28 +02:00
2025-10-03 01:48:03 +02:00
2025-10-02 00:45:06 +02:00
2025-10-02 15:33:32 +02:00
2025-10-02 15:33:32 +02:00
2025-10-02 15:33:32 +02:00
2025-10-03 17:03:11 +02:00
2025-10-04 03:14:04 +02:00
2025-10-05 00:31:10 +02:00
2025-10-06 02:11:28 +02:00
2025-10-05 13:59:33 +02:00
2025-10-04 03:52:06 +02:00
2025-10-07 00:14:56 +02:00
2025-10-07 00:54:24 +02:00
2025-10-07 00:54:24 +02:00
2025-10-07 01:22:09 +02:00
2025-10-07 01:22:09 +02:00
2025-10-07 01:32:47 +02:00
2025-10-07 12:47:59 +02:00
2025-10-07 13:33:39 +02:00
2025-10-07 15:44:30 +02:00
2025-10-07 15:44:30 +02:00
2025-10-07 15:44:30 +02:00
2025-10-12 19:57:31 +02:00
2025-10-07 22:47:05 +02:00
2025-10-12 19:57:31 +02:00
2025-10-07 22:47:05 +02:00
2025-10-12 19:57:31 +02:00
2025-10-07 22:47:05 +02:00
2025-10-07 23:11:33 +02:00
2025-10-11 13:42:36 +02:00
2025-10-12 19:57:31 +02:00
2025-10-12 19:57:31 +02:00
2025-10-12 19:57:31 +02:00
2025-10-12 19:57:31 +02:00
2025-10-12 20:17:41 +02:00
2025-10-05 00:31:10 +02:00
2025-09-29 12:18:25 +02:00
2025-09-29 12:18:25 +02:00
2025-10-01 21:05:36 +02:00
2025-10-01 21:05:36 +02:00
2025-09-29 12:18:25 +02:00
2025-09-29 12:18:25 +02:00
2025-09-29 12:18:25 +02:00
2025-09-29 12:18:25 +02:00
2025-09-29 12:18:25 +02:00
2025-09-30 23:33:43 +02:00
2025-10-06 16:46:26 +02:00
2025-10-06 16:46:26 +02:00
2025-09-30 23:33:43 +02:00
2025-10-01 21:05:36 +02:00
2025-09-29 12:18:25 +02:00
2025-10-03 05:37:17 +02:00
2025-09-30 22:13:07 +02:00
2025-10-01 21:05:36 +02:00
2025-09-30 23:33:43 +02:00
2025-09-29 12:18:25 +02:00
2025-09-29 12:18:25 +02:00
2025-09-29 12:18:25 +02:00
2025-09-29 12:18:25 +02:00
2025-09-29 12:18:25 +02:00
2025-10-05 12:49:28 +02:00
2025-10-02 00:45:06 +02:00
2025-10-04 01:41:58 +02:00
2025-10-04 01:41:58 +02:00
2025-10-04 01:53:31 +02:00
2025-10-04 01:53:31 +02:00
2025-10-03 23:06:57 +02:00
2025-10-03 05:37:17 +02:00