feat(spaces): implement Phase 0-1 of Information Space Service
Phase 0 - Project Organization: - Create docs/PROJECT_STRUCTURE.md documenting codebase layout - Create markitect/core/ with parser, serializer, document_manager, workspace - Create markitect/schema/ consolidating 6 schema_*.py modules - Create markitect/storage/ with database module - Maintain backward compatibility via re-exports from original locations - Add docs/roadmap/information-space-service/ with README and WORKPLAN Phase 1 - Foundation (Weeks 1-3): - Week 1: Core domain models (InformationSpace, SpaceDocument, SpaceConfig, SpaceMetadata, SpaceVariable, TransclusionReference, SpaceStatus) - Week 2: Repository layer with interfaces (ISpaceRepository, IDocumentAssociationRepository, IVariableRepository, IReferenceRepository) and SQLite implementations with foreign key cascade deletes - Week 3: SpaceService orchestration layer with full CRUD, document, variable, and reference tracking operations Test coverage: 124 tests (25 model + 63 repository + 36 integration) Capabilities delivered: - CAP-001: InformationSpace entity with lifecycle management - CAP-002: SpaceRepository CRUD with SQLite backing - CAP-003: Document-Space associations with path-based organization - CAP-004: Space metadata and configuration schemas - CAP-005: Database schema with migrations Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
72
markitect/schema/__init__.py
Normal file
72
markitect/schema/__init__.py
Normal file
@@ -0,0 +1,72 @@
|
||||
"""
|
||||
Schema management modules for MarkiTect.
|
||||
|
||||
This package contains the schema-related functionality:
|
||||
- Validator: Validate markdown documents against JSON schemas
|
||||
- Generator: Generate JSON schemas from markdown structures
|
||||
- Loader: Load schemas from markdown files with embedded JSON
|
||||
- Analyzer: Analyze schemas for rigidity issues
|
||||
- Refiner: Refine rigid schemas with loosening rules
|
||||
- Naming: Schema filename convention validation
|
||||
|
||||
All modules are re-exported from their original schema_*.py locations
|
||||
for backward compatibility.
|
||||
"""
|
||||
|
||||
from .validator import SchemaValidator
|
||||
from .generator import SchemaGenerator
|
||||
from .loader import (
|
||||
MarkdownSchemaLoader,
|
||||
SchemaLoaderError,
|
||||
InvalidSchemaFormatError,
|
||||
SchemaNotFoundError,
|
||||
)
|
||||
from .analyzer import (
|
||||
SchemaAnalyzer,
|
||||
SchemaAnalysisResult,
|
||||
SchemaIssue,
|
||||
IssueType,
|
||||
IssueSeverity,
|
||||
)
|
||||
from .refiner import (
|
||||
SchemaRefiner,
|
||||
RefinementResult,
|
||||
RefinementAction,
|
||||
)
|
||||
from .naming import (
|
||||
validate_schema_filename,
|
||||
suggest_valid_filename,
|
||||
extract_schema_domain,
|
||||
get_schema_version,
|
||||
SchemaFilenameError,
|
||||
SCHEMA_FILENAME_PATTERN,
|
||||
)
|
||||
|
||||
__all__ = [
|
||||
# Validator
|
||||
"SchemaValidator",
|
||||
# Generator
|
||||
"SchemaGenerator",
|
||||
# Loader
|
||||
"MarkdownSchemaLoader",
|
||||
"SchemaLoaderError",
|
||||
"InvalidSchemaFormatError",
|
||||
"SchemaNotFoundError",
|
||||
# Analyzer
|
||||
"SchemaAnalyzer",
|
||||
"SchemaAnalysisResult",
|
||||
"SchemaIssue",
|
||||
"IssueType",
|
||||
"IssueSeverity",
|
||||
# Refiner
|
||||
"SchemaRefiner",
|
||||
"RefinementResult",
|
||||
"RefinementAction",
|
||||
# Naming
|
||||
"validate_schema_filename",
|
||||
"suggest_valid_filename",
|
||||
"extract_schema_domain",
|
||||
"get_schema_version",
|
||||
"SchemaFilenameError",
|
||||
"SCHEMA_FILENAME_PATTERN",
|
||||
]
|
||||
Reference in New Issue
Block a user