Files
markitect-main/markitect/schema/__init__.py
tegwick 9b12875681 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>
2026-02-08 02:02:46 +01:00

73 lines
1.7 KiB
Python

"""
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",
]