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
|
|
|
"""
|
|
|
|
|
Explode-Implode Variants Module
|
|
|
|
|
|
|
|
|
|
This module provides different strategies for exploding markdown files into
|
|
|
|
|
directory structures and imploding them back, with full reversibility support.
|
|
|
|
|
|
|
|
|
|
Key Components:
|
|
|
|
|
- ExplodeVariant: Enum defining available variants
|
|
|
|
|
- BaseVariant: Abstract base class for variant implementations
|
|
|
|
|
- ManifestManager: Handles manifest.md creation and parsing
|
|
|
|
|
- VariantDetector: Auto-detects variant types from directory structures
|
|
|
|
|
"""
|
|
|
|
|
|
|
|
|
|
from .enums import ExplodeVariant, ExplodeMode, ManifestVersion, DetectionConfidence
|
|
|
|
|
from .base_variant import BaseVariant, ExplodeOptions, ImplodeOptions, ExplodeResult, ImplodeResult
|
|
|
|
|
from .manifest_manager import ManifestManager, ManifestData, StructureEntry
|
|
|
|
|
from .variant_detector import VariantDetector, DetectionResult
|
2025-10-12 22:30:06 +02:00
|
|
|
from .flat_variant import FlatVariant
|
|
|
|
|
from .hierarchical_variant import HierarchicalVariant
|
|
|
|
|
from .semantic_variant import SemanticVariant
|
|
|
|
|
from .variant_factory import VariantFactory, get_variant_factory, create_variant, detect_variant, auto_create_variant
|
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
|
|
|
|
|
|
|
|
__all__ = [
|
|
|
|
|
'ExplodeVariant',
|
|
|
|
|
'ExplodeMode',
|
|
|
|
|
'ManifestVersion',
|
|
|
|
|
'DetectionConfidence',
|
|
|
|
|
'BaseVariant',
|
|
|
|
|
'ExplodeOptions',
|
|
|
|
|
'ImplodeOptions',
|
|
|
|
|
'ExplodeResult',
|
|
|
|
|
'ImplodeResult',
|
|
|
|
|
'ManifestManager',
|
|
|
|
|
'ManifestData',
|
|
|
|
|
'StructureEntry',
|
|
|
|
|
'VariantDetector',
|
2025-10-12 22:30:06 +02:00
|
|
|
'DetectionResult',
|
|
|
|
|
'FlatVariant',
|
|
|
|
|
'HierarchicalVariant',
|
|
|
|
|
'SemanticVariant',
|
|
|
|
|
'VariantFactory',
|
|
|
|
|
'get_variant_factory',
|
|
|
|
|
'create_variant',
|
|
|
|
|
'detect_variant',
|
|
|
|
|
'auto_create_variant'
|
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
|
|
|
]
|