feat(spaces): implement Phase 7 Composability
Implements space composition and inheritance features: - SpaceReference model for space-to-space references (includes, extends, links_to, composed_of) - Variable inheritance through parent chain with local override - Config inheritance with source tracking - Access control models (SpacePermission, SpaceRole, AccessLevel) - InheritanceResolver for walking parent chains - AccessControlService for permission management - ComposableSpaceService integrating all composability features - Circular reference detection for EXTENDS references - SQLite repositories for references and permissions - 57 comprehensive unit tests Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
49
markitect/spaces/composability/__init__.py
Normal file
49
markitect/spaces/composability/__init__.py
Normal file
@@ -0,0 +1,49 @@
|
||||
"""
|
||||
Composability module for Information Spaces.
|
||||
|
||||
Provides space-to-space references, variable/config inheritance,
|
||||
and basic access control for the Information Space system.
|
||||
"""
|
||||
|
||||
from .models import (
|
||||
SpaceReference,
|
||||
SpaceReferenceType,
|
||||
SpacePermission,
|
||||
SpaceRole,
|
||||
AccessLevel,
|
||||
SpaceAccess,
|
||||
InheritedVariable,
|
||||
InheritedConfig,
|
||||
)
|
||||
from .service import (
|
||||
ComposableSpaceService,
|
||||
InheritanceResolver,
|
||||
AccessControlService,
|
||||
)
|
||||
from .repository import (
|
||||
ISpaceReferenceRepository,
|
||||
IAccessControlRepository,
|
||||
SqliteSpaceReferenceRepository,
|
||||
SqliteAccessControlRepository,
|
||||
)
|
||||
|
||||
__all__ = [
|
||||
# Models
|
||||
"SpaceReference",
|
||||
"SpaceReferenceType",
|
||||
"SpacePermission",
|
||||
"SpaceRole",
|
||||
"AccessLevel",
|
||||
"SpaceAccess",
|
||||
"InheritedVariable",
|
||||
"InheritedConfig",
|
||||
# Services
|
||||
"ComposableSpaceService",
|
||||
"InheritanceResolver",
|
||||
"AccessControlService",
|
||||
# Repositories
|
||||
"ISpaceReferenceRepository",
|
||||
"IAccessControlRepository",
|
||||
"SqliteSpaceReferenceRepository",
|
||||
"SqliteAccessControlRepository",
|
||||
]
|
||||
Reference in New Issue
Block a user