feat: add bundle-mapper module (bundle-mapper-01, #121)#274
Merged
Conversation
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Adds the bundle-mapper module (OpenSpec change bundle-mapper-01-mapping-strategy): confidence-based spec-to-bundle assignment with three signals (explicit labels, historical patterns, content similarity), mapping history persistence, and interactive UI. Implemented in worktree only; no core specfact-cli changes.
Fixes #121
New Features #121
Contract References:
BundleMapping(Pydantic + beartype),BundleMapper.compute_mapping(@require/@Ensure),MappingRule.matches(beartype),save_user_confirmed_mapping(@require/@Ensure),ask_bundle_mapping(@require/@Ensure).Type of Change
@icontractdecorators)Contract-First Testing Evidence
Contract Validation
@icontractdecorators on public APIs)@beartypedecorators applied)hatch run contract-test-explorationTest Execution
hatch run contract-test-contracts✅hatch run contract-test-exploration(not run for module-only)hatch run contract-test-scenarios✅hatch run pytest modules/bundle-mapper/tests/✅ (11 passed)Test Quality
How Has This Been Tested?
Contract-First Approach: New public APIs use @icontract and @beartype. Unit tests cover BundleMapping, BundleMapper (explicit/historical/content signals), and mapping history (item_key, save/load). TDD_EVIDENCE.md in openspec/changes/bundle-mapper-01-mapping-strategy/.
Manual Testing
Automated Testing
Test Environment
Checklist
@icontract,@beartype)Quality Gates Status
hatch run type-check)hatch run format)hatch run contract-test)Screenshots/Recordings (if applicable)
N/A – module library; CLI integration (--auto-bundle) to follow when core backlog commands are extended.