Files
markitect-main/roadmap/schema-of-schemas
tegwick b81ce5631d feat: implement Phase 2 - Markdown Schema Loader
Completed Phase 2 of the schema-of-schemas implementation with full
markdown schema support. This enables schemas to be authored as
markdown files with rich documentation and embedded JSON schemas.

Core Implementation (markitect/schema_loader.py):
- MarkdownSchemaLoader class with comprehensive parsing capabilities
- YAML frontmatter extraction with error handling
- JSON code block extraction with section preference (## Schema Definition)
- Metadata merging with x-markitect-source tracking
- Schema saving with template support and round-trip capability
- Helper methods: list_json_blocks(), validate_schema_structure()

Test Coverage (tests/test_schema_loader.py):
- 35 comprehensive unit tests (100% passing)
- Tests for loading, parsing, saving, round-trip conversion
- Edge case handling (empty files, binary files, malformed blocks)
- Fixed binary file test to use invalid UTF-8 sequences

Example Schema (markitect/schemas/manpage-schema-v1.0.md):
- First markdown schema following naming convention
- Complete manpage schema with frontmatter + documentation + JSON
- Demonstrates section classification and content control
- Shows proper structure for future schema authors

Documentation (roadmap/schema-of-schemas/SCHEMA_LOADER_GUIDE.md):
- Comprehensive user guide (600+ lines)
- API reference with examples
- Best practices and troubleshooting
- Integration patterns for CLI and validator

Progress Tracking:
- Updated TODO.md with Phase 2 completion
- Updated CHANGELOG.md with implementation details
- Next: Phase 3 - Schema-for-Schemas Metaschema

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-05 00:02:15 +01:00
..

Schema-of-Schemas Implementation

Project: Markdown-First Schema System Status: Planning → Implementation Timeline: 8-10 days

What We're Building

Goals

  1. Filename convention: {domain}-schema-v{version}.md
  2. Markdown-first schema format (documentation + embedded JSON)
  3. Schema-for-schemas to validate all schemas
  4. Migrate existing schemas to new format
  5. Clean up duplicate/legacy schemas

Why

  • Consistency: Enforced naming and versioning
  • Alignment: Markdown-first matches MarkiTect philosophy
  • Documentation: Rich docs alongside schemas
  • Validation: Schema-for-schemas ensures quality
  • Maintainability: Clear versions and structure

Implementation Phases

  1. Phase 0: Planning & Setup (0.5 days) ← Current
  2. Phase 1: Filename Convention (1 day)
  3. Phase 2: Markdown Loader (2-3 days)
  4. Phase 3: Schema-for-Schemas (2 days)
  5. Phase 4: Schema Migration (1-2 days)
  6. Phase 5: CLI & Docs (1 day)
  7. Phase 6: Testing (1 day)

Current Status

Completed

  • Directory structure created
  • Planning documents moved to roadmap
  • Comprehensive workplan written
  • Example markdown schema created

Next Steps

  1. Complete Phase 0 planning artifacts
  2. Begin Phase 1 implementation
  3. Checkpoint review after Phase 1

Key Decisions

Naming Convention

Format: {domain}-schema-v{major}.{minor}.md Example: manpage-schema-v1.0.md

Schema Format

Markdown with embedded JSON:

---
schema-id: "https://markitect.dev/schemas/manpage/v1"
version: "1.0.0"
---

# Manpage Schema v1.0

[Documentation...]

## Schema Definition

```json
{ ... JSON schema ... }

### Schema Migration Plan

Old → New ────────────────────────────────────────────────── terminology-schema.json → terminology-schema-v1.0.md api-documentation → api-documentation-schema-v1.0.md enhanced-manpage → manpage-schema-v2.0.md markdown-manpage → REMOVE (duplicate) markdown-manpage-schema.json → REMOVE (duplicate)


## Progress Tracking

Track progress in: `roadmap/schema-of-schemas/IMPLEMENTATION_LOG.md` (to be created)

## Questions?

See the full workplan for detailed implementation steps, risks, and mitigation strategies.