feat: Schema Extension System for Modular ProjectBundle Extensions (arch-07)#265
Merged
feat: Schema Extension System for Modular ProjectBundle Extensions (arch-07)#265
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
Schema extension system (arch-07) for modular ProjectBundle extensions: modules can extend
FeatureandProjectBundlewith namespaced custom fields without modifying core models. Addsextensionsdict,get_extension/set_extensionaccessors, optionalschema_extensionsinmodule-package.yaml, andExtensionRegistrywith collision detection. Includes docs, quality gate fixes (format, type-check), and version 0.33.0.Fixes #213
New Features #213
Contract References:
@icontractand@beartypeonFeature.get_extension/set_extension,ProjectBundle.get_extension/set_extension,SchemaExtensionvalidation,ExtensionRegistry.register/get_extensions/list_all.Type of Change
Please check all that apply:
@icontractdecorators)Contract-First Testing Evidence
Required for all changes affecting CLI commands or public APIs:
Contract Validation
@icontractdecorators on public APIs)@beartypedecorators applied)hatch run contract-test-explorationTest Execution
hatch run contract-test-contracts✅hatch run contract-test-exploration✅hatch run contract-test-scenarios✅hatch run smart-test/hatch test --cover -v✅Test Quality
How Has This Been Tested?
Contract-First Approach: New unit tests in
tests/unit/models/test_schema_extensions.py,tests/unit/models/test_module_package_metadata.py,tests/unit/specfact_cli/registry/test_extension_registry.py; TDD evidence inopenspec/changes/arch-07-schema-extension-system/TDD_EVIDENCE.md.Manual Testing
Automated Testing
Test Environment
Checklist
@icontract,@beartype)Quality Gates Status
hatch run type-check)hatch run lint)hatch run contract-test-contracts)hatch run contract-test-exploration)hatch run contract-test-scenarios)Screenshots/Recordings (if applicable)
N/A — model and registry changes; no CLI UI change.
OpenSpec Change: arch-07-schema-extension-system