markitect-main/CHANGELOG.md

321 lines
20 KiB
Markdown
Raw Normal View History

# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
See roadmap/YYMMDD-ROADMAPTOPIC/ directories for planning information like concepts, workplans, etc...
See history/YYMMDD-ROADMAOTOPIC/ directories for planning information of closed topics
## [Unreleased]
## [0.11.0] - 2026-01-06
2026-01-06 22:26:03 +01:00
### Added
- Release management optimizations: CHANGELOG validation, version-tag consistency checks
- Automated tag pushing with --push/--no-push flag
- Unpushed tags detection in release status
### Changed
- Improved release validation workflow with CHANGELOG schema validation
## [0.10.0] - 2026-01-06
### Added
chore: establish schema-of-schemas workplan and reorganize roadmap This commit sets up the comprehensive workplan for implementing a markdown-first schema management system with naming conventions, versioning, and self-validation capabilities. ## Directory Reorganization - Renamed `todo/` → `roadmap/` for better organization - Created `roadmap/schema-of-schemas/` subdirectory - Moved schema management planning artifacts to dedicated directory ## Planning Artifacts Created ### Workplan & Documentation - **WORKPLAN.md** (19KB) - Comprehensive 6-phase implementation plan - **SCHEMA_MANAGEMENT_PROPOSAL.md** - Full analysis with 4 options - **SCHEMA_MANAGEMENT_SUMMARY.md** - Executive summary - **README.md** - Quick reference guide ### Example Schema - **examples/schemas/manpage-schema-v1.md** - Demonstrates markdown format ## Schema Management System Design ### Naming Convention **Format:** `{domain}-schema-v{major}.{minor}.md` **Examples:** - `manpage-schema-v1.0.md` - `terminology-schema-v1.0.md` - `api-documentation-schema-v1.0.md` ### Markdown-First Format Schemas will be markdown files with: - YAML frontmatter for metadata - Rich documentation sections - Embedded JSON schema in code block - Version history and examples ### Implementation Phases (8-10 days) **Phase 0:** Planning & Setup ✅ (0.5 days) - COMPLETE **Phase 1:** Filename Convention (1 day) - NEXT **Phase 2:** Markdown Loader (2-3 days) **Phase 3:** Schema-for-Schemas (2 days) **Phase 4:** Schema Migration (1-2 days) **Phase 5:** CLI & Documentation (1 day) **Phase 6:** Testing & Validation (1 day) ### Goals 1. ✅ Establish naming convention 2. ⏳ Implement filename validation 3. ⏳ Create markdown schema loader 4. ⏳ Build schema-for-schemas metaschema 5. ⏳ Migrate 5 existing schemas (remove 2 duplicates) 6. ⏳ Update CLI and documentation ## Updated Tracking ### TODO.md - Added Schema-of-Schemas as active work item - Documented Phase 1 tasks and timeline - Paused capability extraction work ### CHANGELOG.md - Added schema management system to [Unreleased] - Documented directory reorganization - Added "In Progress" section for current work ## Next Steps Begin Phase 1: 1. Implement schema_naming.py with validation 2. Add unit tests 3. Update CLI schema-ingest command 4. Create naming specification document ## Files Changed - CHANGELOG.md - Added unreleased schema management features - TODO.md - Updated active work tracking - roadmap/ - Reorganized from todo/ - roadmap/schema-of-schemas/ - New planning directory - examples/schemas/ - Example markdown schema 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 23:47:02 +01:00
- **Schema Management System**: Comprehensive schema management infrastructure with naming conventions and versioning
- Naming convention: `{domain}-schema-v{major}.{minor}.md` for all schemas
- Markdown-first schema format with embedded JSON (documentation + schema in one file)
- Schema catalog (`markitect/schemas/schema-catalog.yaml`) for metadata and discovery
- Terminology validation example (`examples/terminology/`) demonstrating schema usage beyond manpages
- Schema-of-schemas implementation archived in `history/2026-01-05-schema-of-schemas/`
feat: add multi-schema validation with numbered selection Enhanced schema-list and schema-validate commands to support efficient batch validation of multiple schemas, especially useful when the metaschema changes. **schema-list enhancements:** - Added numbered references (#1, #2, etc.) to all output formats - Simple format: [1] prefix for each schema - Table format: # column as first column - JSON/YAML: number field added to each schema **schema-validate enhancements:** - Number selection: `markitect schema-validate 1` - Range selection: `markitect schema-validate 1-3` - List selection: `markitect schema-validate 1,3,5` - Batch validation: `markitect schema-validate --all` - Filename selection: `markitect schema-validate schema.md` - Filesystem path: `markitect schema-validate ./schema.md` - Batch results displayed as clear summary table - Registry schemas take precedence with filesystem fallback - Full backward compatibility maintained **Implementation details:** - Added ValidationResult dataclass for structured results - Added helper functions: parse_schema_selector, resolve_schema_source, is_filesystem_path, format_validation_summary - Changed schema_selector from Path to str for flexible input - Added --all flag for validating all registered schemas - Comprehensive error handling and helpful usage messages **Testing:** - All selection methods tested and working - Backward compatibility verified - Parsing utilities tested with unit tests Completes Phase 5 of Schema-of-Schemas implementation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-05 10:55:48 +01:00
- **Enhanced schema-list Command**: Now displays numbered references in all output formats for easy selection
- Simple format: `[1] schema-name.md` prefix for each schema
- Table format: `#` column as first column
- JSON/YAML: `number` field added to each schema
chore: establish schema-of-schemas workplan and reorganize roadmap This commit sets up the comprehensive workplan for implementing a markdown-first schema management system with naming conventions, versioning, and self-validation capabilities. ## Directory Reorganization - Renamed `todo/` → `roadmap/` for better organization - Created `roadmap/schema-of-schemas/` subdirectory - Moved schema management planning artifacts to dedicated directory ## Planning Artifacts Created ### Workplan & Documentation - **WORKPLAN.md** (19KB) - Comprehensive 6-phase implementation plan - **SCHEMA_MANAGEMENT_PROPOSAL.md** - Full analysis with 4 options - **SCHEMA_MANAGEMENT_SUMMARY.md** - Executive summary - **README.md** - Quick reference guide ### Example Schema - **examples/schemas/manpage-schema-v1.md** - Demonstrates markdown format ## Schema Management System Design ### Naming Convention **Format:** `{domain}-schema-v{major}.{minor}.md` **Examples:** - `manpage-schema-v1.0.md` - `terminology-schema-v1.0.md` - `api-documentation-schema-v1.0.md` ### Markdown-First Format Schemas will be markdown files with: - YAML frontmatter for metadata - Rich documentation sections - Embedded JSON schema in code block - Version history and examples ### Implementation Phases (8-10 days) **Phase 0:** Planning & Setup ✅ (0.5 days) - COMPLETE **Phase 1:** Filename Convention (1 day) - NEXT **Phase 2:** Markdown Loader (2-3 days) **Phase 3:** Schema-for-Schemas (2 days) **Phase 4:** Schema Migration (1-2 days) **Phase 5:** CLI & Documentation (1 day) **Phase 6:** Testing & Validation (1 day) ### Goals 1. ✅ Establish naming convention 2. ⏳ Implement filename validation 3. ⏳ Create markdown schema loader 4. ⏳ Build schema-for-schemas metaschema 5. ⏳ Migrate 5 existing schemas (remove 2 duplicates) 6. ⏳ Update CLI and documentation ## Updated Tracking ### TODO.md - Added Schema-of-Schemas as active work item - Documented Phase 1 tasks and timeline - Paused capability extraction work ### CHANGELOG.md - Added schema management system to [Unreleased] - Documented directory reorganization - Added "In Progress" section for current work ## Next Steps Begin Phase 1: 1. Implement schema_naming.py with validation 2. Add unit tests 3. Update CLI schema-ingest command 4. Create naming specification document ## Files Changed - CHANGELOG.md - Added unreleased schema management features - TODO.md - Updated active work tracking - roadmap/ - Reorganized from todo/ - roadmap/schema-of-schemas/ - New planning directory - examples/schemas/ - Example markdown schema 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 23:47:02 +01:00
- Default format shows timestamps inline: `schema-name.json (added: 2026-01-04T23:01:19)`
- Table format includes Created/Updated columns
- Cleaner timestamp formatting (removed microseconds)
feat: add multi-schema validation with numbered selection Enhanced schema-list and schema-validate commands to support efficient batch validation of multiple schemas, especially useful when the metaschema changes. **schema-list enhancements:** - Added numbered references (#1, #2, etc.) to all output formats - Simple format: [1] prefix for each schema - Table format: # column as first column - JSON/YAML: number field added to each schema **schema-validate enhancements:** - Number selection: `markitect schema-validate 1` - Range selection: `markitect schema-validate 1-3` - List selection: `markitect schema-validate 1,3,5` - Batch validation: `markitect schema-validate --all` - Filename selection: `markitect schema-validate schema.md` - Filesystem path: `markitect schema-validate ./schema.md` - Batch results displayed as clear summary table - Registry schemas take precedence with filesystem fallback - Full backward compatibility maintained **Implementation details:** - Added ValidationResult dataclass for structured results - Added helper functions: parse_schema_selector, resolve_schema_source, is_filesystem_path, format_validation_summary - Changed schema_selector from Path to str for flexible input - Added --all flag for validating all registered schemas - Comprehensive error handling and helpful usage messages **Testing:** - All selection methods tested and working - Backward compatibility verified - Parsing utilities tested with unit tests Completes Phase 5 of Schema-of-Schemas implementation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-05 10:55:48 +01:00
- **Multi-Schema Validation**: Enhanced schema-validate command with multiple selection methods
- Number selection: `markitect schema-validate 1` validates schema #1
- Range selection: `markitect schema-validate 1-3` validates schemas #1-3
- List selection: `markitect schema-validate 1,3,5` validates schemas #1,3,5
- Batch validation: `markitect schema-validate --all` validates all registered schemas
- Filename selection: `markitect schema-validate schema.md` from registry
- Filesystem path: `markitect schema-validate ./schema.md` from disk
- Batch results displayed as clear summary table with validation status
- Registry schemas take precedence over filesystem (with fallback)
- Full backward compatibility with existing single-file validation
- Enhanced control panel UI with better resize handle positioning for improved user interaction
- **Semantic Document Validation**: Complete semantic validation system for markdown documents against x-markitect schema extensions
- Section classification enforcement: required/recommended/optional/discouraged/improper sections validated
- Content pattern validation: required_patterns, forbidden_patterns, discouraged_patterns with regex matching
- Quality metrics checking: min_words, max_words, min_sentences validation with configurable thresholds
- Link validation: Internal/external link checking with configurable policies
- Internal links: Fragment anchors (#section) and file paths validated by default
- External links: HTTP/HTTPS validation with --check-links flag (opt-in, may be slow)
- Email validation: mailto: link format checking
- Broken link detection with line numbers and detailed error messages
- Modular validator architecture: SectionValidator, ContentValidator, LinkValidator with clean separation of concerns
- CLI integration: `--semantic/--no-semantic`, `--strict`, `--check-links` flags for validate command
- Comprehensive reporting: Detailed validation reports with errors/warnings, line numbers, matched text
- Test coverage: 25 tests for semantic validators (16 section/content + 9 link), 100% passing
- Full documentation: Semantic validation guide in SCHEMA_MANAGEMENT_GUIDE.md with examples
- Complements existing structural AST validation for complete document compliance checking
feat: add changelog schema for Keep a Changelog validation Created comprehensive changelog-schema-v1.0.md to validate CHANGELOG.md files following the Keep a Changelog format. This schema demonstrates the practical application of the schema evolution system. **Schema Features**: - Section validation: Enforces [Unreleased] section presence - Version format validation: [X.Y.Z] - YYYY-MM-DD pattern - Semantic versioning compliance - ISO 8601 date format checking - Change type subsections: Added, Changed, Deprecated, Removed, Fixed, Security - Content pattern matching via x-markitect-content-control extensions - Structural validation via JSON Schema properties **Validation Results**: ✅ Successfully validates project CHANGELOG.md ✅ All section requirements met (7 sections checked, 11 found) ✅ All content requirements met ✅ All semantic checks passing **Implementation Notes**: - H1 "Changelog" title validated via JSON Schema structural checks - H2 sections validated via x-markitect-sections classifications - SectionValidator limitation: Only checks H2+ headings, not H1 - Workaround: Structural validation covers H1 title requirement **Philosophy**: "The release that validates itself" - v0.10.0 uses its own schema system to validate its CHANGELOG - Perfect showcase of schema evolution practical value - Demonstrates x-markitect extensions in real-world use case **Stage 2 Complete** per release-management-optimization workplan. Files: - markitect/schemas/changelog-schema-v1.0.md (new) - CHANGELOG.md (documented new schema)
2026-01-06 13:31:02 +01:00
- **Changelog Schema**: Production schema for validating CHANGELOG.md files following Keep a Changelog format
- Schema file: `changelog-schema-v1.0.md` validates version history structure and formatting
- Enforces Unreleased section presence (required)
- Validates version format: `[X.Y.Z] - YYYY-MM-DD` with semantic versioning
- Validates change type subsections: Added, Changed, Deprecated, Removed, Fixed, Security
- Content pattern validation for version sections, date formats (ISO 8601), and change types
- Demonstrates real-world schema system usage: "The release that validates itself"
- Successfully validates project CHANGELOG.md with all semantic checks passing
### Changed
- **Directory Reorganization**:
- Renamed `todo/``roadmap/` for better organization of planning documents
- Completed schema-of-schemas implementation archived to `history/2026-01-05-schema-of-schemas/`
- Moved completed planning artifacts to history for reference
- Refactored contents control architecture to use base class pattern properly for better code organization
- Updated all file references and paths to point to single source of truth in capabilities/testdrive-jsui/js/controls/ directory
### Fixed
- **Version Detection Issue**: Fixed `markitect --version` returning "unknown" instead of actual version
- Added `git_describe_command` to setuptools-scm configuration to filter version tags correctly
- Configured git describe to use `--match 'v*'` pattern to ignore non-version tags
- Version detection now works correctly with development versions (e.g., 0.9.1.dev76)
- **Missing v0.9.0 Git Tag**: Retroactively created v0.9.0 annotated tag on commit b9c1b90 from 2025-11-14
- Maintains version history integrity (CHANGELOG documented v0.9.0 but tag was missing)
- Enables proper version progression to v0.10.0
- Duplicate file structure issue by eliminating duplicate control files and consolidating to capabilities/ directory
- Contents panel scrollbar behavior - moved overflow-y: auto to correct container level so scrollbar only spans content area when panel reaches max-height
### Removed
- **BREAKING**: Legacy DocumentControls component from TestDrive JSUI plugin system - all control panel functionality now provided by enhanced control panels (ContentsControl, StatusControl, DebugControl, EditControl) with Reset All button functionality moved to EditControl for better maintainability and elimination of code duplication
### Completed Features
- **Schema-of-Schemas Implementation** (All 6 Phases Complete ✅)
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
- ✅ Phase 1: Filename validation for schema naming convention (`markitect/schema_naming.py`, 50 tests)
- ✅ Phase 2: Markdown schema loader to parse `.md` schema files (`markitect/schema_loader.py`, 35 tests)
feat: implement Phase 3 - Schema-for-Schemas Metaschema Completed Phase 3 of the schema-of-schemas implementation with a comprehensive metaschema that validates all MarkiTect schema files against conventions and standards. Metaschema Implementation (schema-schema-v1.0.md - 650+ lines): - Validates core JSON Schema fields ($schema, $id, title, description) - Validates MarkiTect version field (SemVer: major.minor.patch) - Validates $id URL format (HTTPS with version path) - Validates MarkiTect extensions: - x-markitect-sections: section classifications and content rules - x-markitect-content-control: pattern and quality validation - x-markitect-metadata: status, authors, tags - x-markitect-source: loader metadata (auto-added) - Section classification validation (required, recommended, optional, discouraged, improper) - Content control pattern validation - Comprehensive documentation with examples and usage guides CLI Command (markitect schema-validate): - Validates schema files against metaschema - Supports both markdown and JSON schema files - Detailed error reporting with schema paths - Structure validation recommendations - Exit codes for CI/CD integration Test Coverage (tests/test_schema_metaschema.py - 12 tests, 100% passing): - Metaschema self-validation - Manpage schema validation - Required fields enforcement - Version format validation (valid and invalid cases) - $id format validation (valid and invalid cases) - Section classification validation - Complete schema with all extensions Validation Results: - ✅ Metaschema validates itself successfully - ✅ Manpage schema (v1.0.md) validates successfully - ⚠️ Terminology schema needs migration (missing version, incorrect $id) Progress Tracking: - Updated TODO.md with Phase 3 completion - Updated CHANGELOG.md with implementation details - Next: Phase 4 - Schema Migration 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-05 03:10:49 +01:00
- ✅ Phase 3: Schema-for-schemas metaschema for schema validation (`schema-schema-v1.0.md`, 12 tests)
feat: implement Phase 4 - Schema Migration Completed Phase 4 of the schema-of-schemas implementation with successful migration of all legacy schemas to the new markdown format following the naming convention. Migration Script (scripts/migrate_schemas.py - 240 lines): - Automated schema migration from JSON to markdown format - Updates version and $id fields to follow conventions - Generates proper frontmatter metadata - Dry-run mode for safe testing - Database cleanup functionality - Comprehensive progress reporting Schemas Migrated (2): - terminology-schema.json → terminology-schema-v1.0.md - Fixed missing version field - Updated $id from /terminology-v1.json to /terminology/v1.0 - Validates successfully against metaschema - api-documentation → api-documentation-schema-v1.0.md - Added version: 1.0.0 - Updated $id to follow /api-documentation/v1.0 format - Validates successfully against metaschema Schemas Deleted (3): - markdown-manpage (duplicate of manpage-schema-v1.0.md) - markdown-manpage-schema.json (duplicate of manpage-schema-v1.0.md) - enhanced-manpage (replaced by manpage-schema-v1.0.md) CLI Enhancement (markitect/cli.py): - Updated schema-ingest to support markdown (.md) files - Auto-detects file type and uses MarkdownSchemaLoader for .md files - Extracts JSON schema from markdown for database storage - Maintains backward compatibility with JSON files Final Schema Registry (4 schemas): ✅ terminology-schema-v1.0.md - Terminology validation ✅ api-documentation-schema-v1.0.md - API documentation structure ✅ manpage-schema-v1.0.md - Unix manual pages ✅ schema-schema-v1.0.md - Metaschema for validating schemas All schemas: - Follow naming convention: {domain}-schema-v{major}.{minor}.md - Include proper frontmatter with schema-id, version, status - Validate successfully against schema-schema-v1.0.md metaschema - Stored in database and ready for use Progress Tracking: - Updated TODO.md with Phase 4 completion - Updated CHANGELOG.md with migration details - Next: Phase 5 - CLI & Documentation Updates 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-05 09:38:43 +01:00
- ✅ Phase 4: Migration of 5 existing schemas to new format (migrated 2, deleted 3 duplicates)
feat: add multi-schema validation with numbered selection Enhanced schema-list and schema-validate commands to support efficient batch validation of multiple schemas, especially useful when the metaschema changes. **schema-list enhancements:** - Added numbered references (#1, #2, etc.) to all output formats - Simple format: [1] prefix for each schema - Table format: # column as first column - JSON/YAML: number field added to each schema **schema-validate enhancements:** - Number selection: `markitect schema-validate 1` - Range selection: `markitect schema-validate 1-3` - List selection: `markitect schema-validate 1,3,5` - Batch validation: `markitect schema-validate --all` - Filename selection: `markitect schema-validate schema.md` - Filesystem path: `markitect schema-validate ./schema.md` - Batch results displayed as clear summary table - Registry schemas take precedence with filesystem fallback - Full backward compatibility maintained **Implementation details:** - Added ValidationResult dataclass for structured results - Added helper functions: parse_schema_selector, resolve_schema_source, is_filesystem_path, format_validation_summary - Changed schema_selector from Path to str for flexible input - Added --all flag for validating all registered schemas - Comprehensive error handling and helpful usage messages **Testing:** - All selection methods tested and working - Backward compatibility verified - Parsing utilities tested with unit tests Completes Phase 5 of Schema-of-Schemas implementation. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-05 10:55:48 +01:00
- ✅ Phase 5: CLI enhancements - numbered schema-list, multi-schema validation with selection methods
- ✅ Phase 6: Integration testing and comprehensive documentation (SCHEMA_MANAGEMENT_GUIDE.md)
- **Total Test Coverage**: 97 tests, 100% passing
- **Complete Documentation**: Usage guide, naming spec, loader guide, metaschema reference
chore: establish schema-of-schemas workplan and reorganize roadmap This commit sets up the comprehensive workplan for implementing a markdown-first schema management system with naming conventions, versioning, and self-validation capabilities. ## Directory Reorganization - Renamed `todo/` → `roadmap/` for better organization - Created `roadmap/schema-of-schemas/` subdirectory - Moved schema management planning artifacts to dedicated directory ## Planning Artifacts Created ### Workplan & Documentation - **WORKPLAN.md** (19KB) - Comprehensive 6-phase implementation plan - **SCHEMA_MANAGEMENT_PROPOSAL.md** - Full analysis with 4 options - **SCHEMA_MANAGEMENT_SUMMARY.md** - Executive summary - **README.md** - Quick reference guide ### Example Schema - **examples/schemas/manpage-schema-v1.md** - Demonstrates markdown format ## Schema Management System Design ### Naming Convention **Format:** `{domain}-schema-v{major}.{minor}.md` **Examples:** - `manpage-schema-v1.0.md` - `terminology-schema-v1.0.md` - `api-documentation-schema-v1.0.md` ### Markdown-First Format Schemas will be markdown files with: - YAML frontmatter for metadata - Rich documentation sections - Embedded JSON schema in code block - Version history and examples ### Implementation Phases (8-10 days) **Phase 0:** Planning & Setup ✅ (0.5 days) - COMPLETE **Phase 1:** Filename Convention (1 day) - NEXT **Phase 2:** Markdown Loader (2-3 days) **Phase 3:** Schema-for-Schemas (2 days) **Phase 4:** Schema Migration (1-2 days) **Phase 5:** CLI & Documentation (1 day) **Phase 6:** Testing & Validation (1 day) ### Goals 1. ✅ Establish naming convention 2. ⏳ Implement filename validation 3. ⏳ Create markdown schema loader 4. ⏳ Build schema-for-schemas metaschema 5. ⏳ Migrate 5 existing schemas (remove 2 duplicates) 6. ⏳ Update CLI and documentation ## Updated Tracking ### TODO.md - Added Schema-of-Schemas as active work item - Documented Phase 1 tasks and timeline - Paused capability extraction work ### CHANGELOG.md - Added schema management system to [Unreleased] - Documented directory reorganization - Added "In Progress" section for current work ## Next Steps Begin Phase 1: 1. Implement schema_naming.py with validation 2. Add unit tests 3. Update CLI schema-ingest command 4. Create naming specification document ## Files Changed - CHANGELOG.md - Added unreleased schema management features - TODO.md - Updated active work tracking - roadmap/ - Reorganized from todo/ - roadmap/schema-of-schemas/ - New planning directory - examples/schemas/ - Example markdown schema 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-04 23:47:02 +01:00
## [0.9.0] - 2025-11-14
### Added
- **Plugin Infrastructure Foundation**: Extended existing MarkiTect plugin system with RenderingEnginePlugin base class and RENDERING plugin type
- **RenderingEngineManager**: Complete plugin discovery and lifecycle management system for UI rendering engines
- **RenderingConfig System**: Asset management and deployment configuration for plugin engines
- **TestDrive JSUI Plugin**: Complete independent JavaScript UI plugin extracted from core system with standalone development environment
- **Modular Component Architecture**: Compass-positioned controls with clean JSON configuration interface for Python-JavaScript data transfer
- **CLI Engine Parameter**: Added --engine parameter to markitect md-render command with engine validation and mode compatibility checking
- **Automatic Asset Deployment**: Production-ready asset deployment to _markitect/plugins/ structure with 18 total assets (12 JS, 3 CSS, 3 images)
- **ChatGPT Document Theme**: New document theme with Inter font, 580px width, and #10a37f accent color with full CLI support (`markitect md-render --theme chatgpt`)
- **Modular Theme System Architecture**: File-based theme loading with YAML configuration and dynamic theme discovery
- **Theme Directory Structure**: Organized theme components (mode/, ui/, document/, branding/) for better maintainability
- **Database Architecture Documentation**: Comprehensive WORKSPACE_AND_DATABASES.md documenting workspace concepts and database purposes
### Changed
- **BREAKING**: Edit mode now defaults to testdrive-jsui plugin instead of legacy edit mode
- **Default Rendering Behavior**: testdrive-jsui for edit/insert modes, standard for view mode with graceful fallback
- **Asset Management Strategy**: Automatic plugin asset deployment eliminates need for manual --ship-assets flag
- **JavaScript Architecture**: Clean separation between Python backend and JavaScript frontend with modular design
- **Theme Loading System**: Implemented dynamic theme discovery and loading with metadata preservation
- **Test Suite Organization**: Removed obsolete configuration CLI tests (490 lines) for cleaner codebase
### Fixed
- **JavaScript Loading Conflicts**: Resolved const redeclaration errors with MARKITECT_STRICT_MODE implementation
- **MarkitectMain Availability**: Fixed proper main-updated.js loading and JavaScript syntax errors
- **Plugin Asset Deployment**: Directory structure preservation with development vs production deployment strategies
- **Issue-facade Click Framework Bug**: Resolved Sentinel bug in list command that was causing CLI failures
- **Issue-facade Version Command**: Fixed installation error preventing version command from working
- **Test Isolation Issues**: Improved test isolation with proper mocking to prevent cross-test interference
- **Theme Color Assertions**: Updated test assertions to work with new modular theme system
### Migration Guide
- **Existing Users**: Edit mode will automatically use new testdrive-jsui plugin for enhanced experience
- **Legacy Behavior**: Use `markitect md-render --engine standard --edit` to access previous edit mode
- **Asset Deployment**: Plugin assets now deploy automatically - no manual --ship-assets flag required
## [0.8.0] - 2025-11-08
### Added
- **Setuptools-SCM Integration**: Automatic version management system replacing manual version tracking
- **Gitea Package Publishing**: Complete CI/CD pipeline for automated package publishing to Gitea
- **Enhanced Release Documentation**: Comprehensive documentation for package building and release process
### Changed
- **Release Script Architecture**: Modernized release workflow with setuptools-scm integration
- **Makefile Release Targets**: Updated release targets to support automated version management
- **Package Building Process**: Streamlined package creation with enhanced build targets
### Removed
- **Legacy Release Scripts**: Removed obsolete release_simplified.py in favor of unified release.py
## [0.7.0] - 2025-11-08
### Added
- **Complete JavaScript Architecture Refactoring**: Full TDD-driven modular architecture with SectionManager and DOMRenderer components
- **Advanced Image Editor**: Rebuilt with full drag-n-drop functionality and staging workflow
- **Modular Component System**: Extracted comprehensive JavaScript components for better maintainability
- **Enhanced Edit Mode**: Improved robustness and user experience with better reset functionality
- **Insert Mode Protection**: Implemented insert mode with heading protection and content display fixes
- **Scroll Indicators**: Added scroll indicators with disabled state styling
- **Asset Shipping**: Comprehensive asset shipping for md-render command
### Fixed
- **Reset Button Functionality**: Implemented fully functional reset buttons for text and image sections
- **Image Rendering**: Fixed proper image rendering in modular architecture
- **DOM Content Updates**: Resolved DOM content updates and reset functionality
- **Section Click Functionality**: Enabled proper section click functionality for edit UI
- **Modular Integration**: Fixed integration of modular JavaScript architecture into application
- **Button Functionality**: Resolved accept, cancel, and reset button functionality issues
- **Critical JavaScript Errors**: Fixed errors preventing content rendering
### Changed
- **Edit Mode Organization**: Continued efforts to reorganize edit mode for better robustness
- **Example Directory Structure**: Reorganized examples directory with topic-based subdirectories
- **UI Panel Structure**: Eliminated floating status panel above editor menu for cleaner interface
### Maintenance
- **TODO Cleanup**: Cleaned up completed theme system refactor tasks
## [0.6.0] - 2025-10-28
### Added
- **Custom Status Modal System**: Professional theme-consistent status dialogs replacing browser alerts with proper branding and accessibility
- **HTML Generation Dogtag**: Automatic attribution with timestamp and username linking for generated HTML documents
- **Enhanced Link Navigation**: All document links now open in new tabs without triggering edit mode for improved user experience
- **Comprehensive UI Framework Documentation**: Complete guide (UserInterfaceFramework.md) for consistent UI development patterns
- **Database Integration**: Added store_document method to CleanDocumentManager with proper front matter parsing
- **Enhanced AST Processing**: Improved title extraction from front matter and heading detection with cache file generation
### Changed
- **Complete Document Manager Cleanup**: Removed 2000+ lines of legacy code while maintaining full backward compatibility
- **Clean Architecture Implementation**: DocumentManager now extends CleanDocumentManager with clean wrapper pattern
- **Improved Error Handling**: Enhanced validation and graceful error recovery throughout the system
- **Standardized CSS Naming**: Consistent class naming conventions across all UI components
### Fixed
- **Test Suite Compatibility**: Updated all tests to work with clean implementation architecture
- **JavaScript Syntax Issues**: Resolved template literal and string escaping problems in generated HTML
- **Link Behavior**: Fixed issue where document links were incorrectly triggering edit mode
- **Front Matter Parsing**: Proper integration with FrontMatterParser for metadata extraction
### Technical
- Added --nodogtag CLI option for clean output when attribution is not desired
- Enhanced ingest_file method with proper title extraction from front matter and headings
- Implemented theme-aware modal overlay patterns with proper CSS styling
- Fixed CSS escape sequences and JavaScript syntax validation issues
## [0.5.0] - 2025-10-26
### Added
- **Clean TDD-Driven Editor Architecture**: Complete rewrite with object-oriented JavaScript architecture featuring Section, SectionManager, and DOMRenderer classes
- **Enhanced Test Framework**: Comprehensive testing framework with clean separation of concerns for robust development
- **Multiple Concurrent Section Editing**: Support for editing multiple sections simultaneously with intelligent management
- **Intelligent Section Splitting**: Advanced heading detection and section management capabilities
- **Four-Layer Content Management**: Sophisticated content state management (original, current, pending, editing layers)
- **Enhanced Status Dialog**: Repository info display showing version, git commit status, and actual save filename
- **Elegant Slide-in Control Panel**: Floating control panel for edit mode with improved UX
- **Intelligent Auto-sizing Textarea**: Optimal editing experience with smart textarea resizing
- **Enhanced Empty Line Preservation**: Better markdown structure preservation with automatic paragraph separation
### Fixed
- **Textarea Sizing and Font Preservation**: Resolved sizing issues and maintained consistent font rendering
- **Markdown Structure Preservation**: Fixed roundtrip formatting issues in save functionality
- **Section Duplication Prevention**: Eliminated duplicate sections when saving edited content
- **Section Position Preservation**: Prevented unwanted section jumping during editing
- **CSS Embedding Issues**: Resolved import errors in HTML template generation
- **Control Panel UX**: Hidden control ribbon when panel is expanded for cleaner interface
### Changed
- **Action Semantics**: Proper implementation of Accept, Cancel, and Reset operations
- **Global Reset Functionality**: Enhanced reset capabilities across the editor
- **Makefile Organization**: Reorganized installation targets for better user experience
### Technical Improvements
- Complete legacy editor system replacement
- Test-driven development approach implementation
- Enhanced UI/UX with better section positioning
- Improved content management workflow
## [0.4.0] - 2025-10-25
### Added
- feat: add comprehensive testing and error tracking for edit mode
### Fixed
- fix: resolve md-render --edit functionality and add enhanced version tracking
- fix: resolve critical JavaScript syntax errors in md-render --edit
- fix: resolve md-ingest Path object conversion error
### Other
- chore: clean up repository documentation files for release
## [0.3.0] - 2025-10-25
### Added
- **Kaizen-agentic Framework Integration**: Integrated capability submodule for enhanced development workflow
- **Test Reorganization System**: Reorganized tests by capability with improved modularity
- **Capability Inclusion Management**: Comprehensive system for managing capability inclusions
- **Todofile System**: Implemented todofile system to replace NEXT.md for better task tracking
### Changed
- **Directory Organization**: Logical separation and reorganization of project structure
- **Historical File Organization**: Cleaner structure with better file organization
## [0.2.0] - 2025-10-20
### Added
- **GraphQL Interface**: Advanced querying capabilities with full GraphQL implementation
- **Full-text Search**: FTS5 backend integration for powerful search functionality
- **Plugin Architecture**: Extensible framework with comprehensive plugin support
- **Query Paradigms**: 14 different query paradigms for flexible data access
- **Cost Management**: Activity tracking and resource cost management
- **Template Rendering**: Template system with validation capabilities
- **CLI Consolidation**: Unified command-line interface
- **Production Asset Management**: Content-addressable storage system
- **17 Kaizen-agentic Agents**: Integrated development agent ecosystem
### Changed
- **Performance Optimization**: 60-85% performance improvement through system optimization
- **Error Handling**: Enterprise-grade error handling and recovery mechanisms
- **Resource Management**: Memory-efficient and scalable architecture
### Fixed
- **Cross-platform Validation**: Comprehensive validation for Unix/Windows/macOS
- **Type Safety**: Enhanced type safety and security validation
- **Test Coverage**: 1983/1983 tests passing (100% success rate)
## [0.1.0] - 2025-10-15
### Added
- **Development Infrastructure**: Comprehensive Makefile for development workflow
- **Project Documentation**: ProjectStatusDigest.md and ProjectDiary.md for tracking
- **TDD Workspace System**: Structured Test-Driven Development workflow implementation
- **Issue Management**: Gitea integration for issue tracking and management
- **Virtual Environment Management**: Enhanced venv detection and shell activation
- **Wiki Integration**: Submodule tracking for project documentation
- **Core Repository Setup**: Initial project structure and configuration
### Changed
- **Build System**: Enhanced build targets with venv Python and PYTHONPATH support
- **Target Naming**: Renamed workspace targets to TDD Workspace with tdd- prefix
[Unreleased]: https://github.com/worsch/markitect/compare/v0.9.0...HEAD
[0.9.0]: https://github.com/worsch/markitect/compare/v0.8.0...v0.9.0
[0.8.0]: https://github.com/worsch/markitect/compare/v0.7.0...v0.8.0
[0.7.0]: https://github.com/worsch/markitect/compare/v0.6.0...v0.7.0
[0.6.0]: https://github.com/worsch/markitect/compare/v0.5.0...v0.6.0
[0.5.0]: https://github.com/worsch/markitect/compare/v0.4.0...v0.5.0
[0.4.0]: https://github.com/worsch/markitect/compare/v0.3.0...v0.4.0
[0.3.0]: https://github.com/worsch/markitect/compare/v0.2.0...v0.3.0
[0.2.0]: https://github.com/worsch/markitect/compare/v0.1.0...v0.2.0
[0.1.0]: https://github.com/worsch/markitect/releases/tag/v0.1.0