-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
architectureArchitecture and design changesArchitecture and design changeschange-proposalProposal for a new changeProposal for a new changeenhancementNew feature or requestNew feature or requestmodule-systemModule system and registryModule system and registryopenspec
Description
Schema Extension System for Modular ProjectBundle Extensions
Why
Modules need a mechanism to extend ProjectBundle with custom fields without modifying core models, enabling marketplace-ready interoperability where external services (ADO, Jira, Linear) can persist metadata without core coupling. Without this, modules either duplicate schema logic or introduce tight coupling, blocking parallel development and ecosystem growth.
What Changes
- NEW: Add
extensionsfield toFeatureandProjectBundlemodels with namespace-prefixed accessors/mutators - NEW: Create
src/specfact_cli/models/dynamic_extensions.pyfor Pydantic dynamic model creation - MODIFY: Extend module manifest schema (
module-package.yaml) withschema_extensionsdeclaration - MODIFY: Extend module lifecycle registration to load and validate schema extensions from manifests
- NEW: Add namespace enforcement (module-prefixed fields) with static analysis guards
- NEW: Add documentation for extending ProjectBundle and best practices
OpenSpec Change Proposal: arch-07-schema-extension-system
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
architectureArchitecture and design changesArchitecture and design changeschange-proposalProposal for a new changeProposal for a new changeenhancementNew feature or requestNew feature or requestmodule-systemModule system and registryModule system and registryopenspec
Type
Projects
Status
Todo