Some checks failed
Test Suite / unit-tests (3.11) (push) Has been cancelled
Test Suite / unit-tests (3.12) (push) Has been cancelled
Test Suite / integration-tests (push) Has been cancelled
Test Suite / e2e-tests (push) Has been cancelled
Test Suite / performance-tests (push) Has been cancelled
Test Suite / code-quality (push) Has been cancelled
Test Suite / security-scan (push) Has been cancelled
Test Suite / test-summary (push) Has been cancelled
Implement revolutionary capability inclusion management system with complete documentation ecosystem and automated discovery tools to prevent code duplication and ensure proper separation of concerns. Key accomplishments: - Comprehensive capability documentation ecosystem (5 interconnected files) - Clear separation: internal capabilities (what MarkiTect provides) vs external capabilities (what MarkiTect uses) - Automated discovery tools preventing code duplication (make capability-search) - AI-assistant optimized workflow with quick reference guide - Enhanced project-assistant agent definition with capability inclusion workflow - Updated README.md with clear links to capability documentation - Complete session wrap-up with updated ProjectDiary.md, NEXT.md, and ProjectStatusDigest.md Architecture milestone: Establishes MarkiTect as mature project with enterprise-grade capability management, transforming development from ad-hoc implementation to systematic capability management with automated duplication prevention. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
430 lines
16 KiB
Markdown
430 lines
16 KiB
Markdown
# MarkiTect Internal Capabilities Inventory
|
|
|
|
> **Comprehensive overview of all capabilities PROVIDED BY MarkiTect - what this repository offers to the world**
|
|
|
|
## Overview
|
|
|
|
This document catalogs all **internal capabilities** that MarkiTect provides - the functionality that this repository offers to users and other projects. These are capabilities that MarkiTect **provides**, not **uses**.
|
|
|
|
- **Total Internal Capabilities**: 73+ distinct capabilities
|
|
- **Test Categories**: 15 major functional areas
|
|
- **Test Coverage**: 348 tests across 27 test files
|
|
- **Architecture**: Database-driven system with AST-based markdown processing, multi-layer caching, and deep Git platform integration
|
|
- **Extraction Status**: 2 capabilities extracted to external, 11 candidates identified for extraction
|
|
|
|
> **Note**: For capabilities that MarkiTect **uses** (external dependencies), see `CAPABILITY_REGISTRY.md`. For complete architecture understanding, see `CAPABILITY_INCLUSION_GUIDE.md`.
|
|
|
|
---
|
|
|
|
## 🎯 Capability Extraction Analysis
|
|
|
|
### Extraction Criteria
|
|
|
|
Based on the ComposableRepositoryParadigm, capabilities should be extracted when they meet these criteria:
|
|
|
|
1. **Self-Contained Functionality**: Can operate independently with minimal dependencies
|
|
2. **Reusability**: Could be useful in other projects or contexts
|
|
3. **Clear Boundaries**: Has well-defined interfaces and responsibilities
|
|
4. **Test Coverage**: Has adequate test coverage (>80% preferred)
|
|
5. **Size**: Significant enough to warrant extraction (>3 files or >500 LOC)
|
|
6. **Domain Separation**: Represents a distinct domain or concern
|
|
|
|
### Current Extraction Status
|
|
|
|
#### ✅ **Already Extracted** (2 capabilities)
|
|
- `markitect-content` - Content matter parsing (frontmatter, contentmatter, tailmatter)
|
|
- `markitect-utils` - General utility functions (test capability)
|
|
|
|
#### 🎯 **Recommended for Extraction** (7 capabilities)
|
|
|
|
| Priority | Capability | Rationale | Complexity | Dependencies |
|
|
|----------|------------|-----------|------------|-------------|
|
|
| **HIGH** | `markitect-finance` | Complete financial tracking system, self-contained | High | Low |
|
|
| **HIGH** | `markitect-query-paradigms` | 14 different query paradigms, highly reusable | High | Medium |
|
|
| **HIGH** | `markitect-graphql` | Complete GraphQL interface, standalone value | Medium | Medium |
|
|
| **MEDIUM** | `markitect-plugins` | Plugin architecture framework | Medium | Low |
|
|
| **MEDIUM** | `markitect-matter-parsers` | All matter parsing capabilities (3 types) | Medium | Low |
|
|
| **MEDIUM** | `markitect-legacy` | Legacy compatibility layer | Low | Low |
|
|
| **LOW** | `markitect-issues` | Issue management system | High | High |
|
|
|
|
#### 🛑 **Not Recommended for Extraction** (Core System)
|
|
|
|
These modules form the core of MarkiTect and should remain in the main project:
|
|
|
|
- **Core Engine**: `cli.py`, `database.py`, `config_manager.py` - Main application logic
|
|
- **AST Processing**: `ast_*.py`, `parser.py`, `serializer.py` - Core markdown processing
|
|
- **Document Management**: `document_manager.py`, `batch_processor.py` - Core functionality
|
|
- **Validation**: `schema_*.py`, `validation_*.py` - System integrity
|
|
- **Performance**: `cache_service.py`, `performance_tracker.py` - Core performance
|
|
- **Templates**: `template/` - Core template engine
|
|
|
|
---
|
|
|
|
## 📦 Detailed Capability Extraction Recommendations
|
|
|
|
### 1. 🏆 **HIGH PRIORITY - markitect-finance**
|
|
|
|
**Current Location**: `markitect/finance/`
|
|
|
|
**Files to Extract**:
|
|
```
|
|
markitect/finance/
|
|
├── __init__.py # Package interface
|
|
├── allocation_engine.py # Cost allocation logic
|
|
├── cli.py # Finance CLI commands
|
|
├── cost_manager.py # Cost tracking
|
|
├── day_wrapup_commands.py # Daily summaries
|
|
├── models.py # Data models
|
|
├── period_manager.py # Period handling
|
|
├── report_generator.py # Financial reports
|
|
├── session_tracker.py # Session tracking
|
|
├── worktime_commands.py # Work time CLI
|
|
├── worktime_tracker.py # Time tracking
|
|
└── migrations/001_create_cost_tables.sql
|
|
```
|
|
|
|
**Why Extract**:
|
|
- ✅ **Self-Contained**: Complete financial tracking system
|
|
- ✅ **Reusable**: Could be used by other project management tools
|
|
- ✅ **Clear Boundaries**: Well-defined domain (finance/time tracking)
|
|
- ✅ **Size**: 11 files, substantial codebase
|
|
- ✅ **Dependencies**: Minimal external dependencies
|
|
|
|
**Extraction Benefits**:
|
|
- Could be reused in other project management systems
|
|
- Independent development and versioning
|
|
- Clear separation of financial concerns
|
|
|
|
### 2. 🏆 **HIGH PRIORITY - markitect-query-paradigms**
|
|
|
|
**Current Location**: `markitect/query_paradigms/`
|
|
|
|
**Files to Extract**:
|
|
```
|
|
markitect/query_paradigms/
|
|
├── __init__.py # Package interface
|
|
├── base.py # Base classes
|
|
├── cli.py # Query CLI
|
|
├── registry.py # Paradigm registry
|
|
└── paradigms/ # 14 different paradigms
|
|
├── batch_paradigm.py
|
|
├── fts_paradigm.py
|
|
├── graphql_paradigm.py
|
|
├── jsonpath_paradigm.py
|
|
├── natural_language_paradigm.py
|
|
├── nosql_paradigm.py
|
|
├── qbe_paradigm.py
|
|
├── rag_paradigm.py
|
|
├── rest_api_paradigm.py
|
|
├── sql_paradigm.py
|
|
├── transform_paradigm.py
|
|
├── unix_pipeline_paradigm.py
|
|
├── visual_builder_paradigm.py
|
|
└── xpath_paradigm.py
|
|
```
|
|
|
|
**Why Extract**:
|
|
- ✅ **Highly Reusable**: Query paradigms useful across many applications
|
|
- ✅ **Self-Contained**: Complete query abstraction system
|
|
- ✅ **Innovation**: Unique architectural contribution
|
|
- ✅ **Size**: 17+ files, substantial investment
|
|
|
|
**Extraction Benefits**:
|
|
- Could become a standalone query abstraction library
|
|
- High reusability potential across projects
|
|
- Independent evolution of query capabilities
|
|
|
|
### 3. 🏆 **HIGH PRIORITY - markitect-graphql**
|
|
|
|
**Current Location**: `markitect/graphql/`
|
|
|
|
**Files to Extract**:
|
|
```
|
|
markitect/graphql/
|
|
├── __init__.py # Package interface
|
|
├── resolvers.py # GraphQL resolvers
|
|
├── schema.py # GraphQL schema
|
|
└── server.py # GraphQL server
|
|
```
|
|
|
|
**Why Extract**:
|
|
- ✅ **Standalone Value**: Complete GraphQL API interface
|
|
- ✅ **Reusable**: GraphQL interfaces are broadly applicable
|
|
- ✅ **Clear Boundaries**: Well-defined API layer
|
|
- ✅ **Technology**: Uses standard GraphQL patterns
|
|
|
|
**Extraction Benefits**:
|
|
- Can be developed independently with GraphQL ecosystem
|
|
- Reusable across different backend systems
|
|
- Clear API versioning and evolution
|
|
|
|
### 4. 🥈 **MEDIUM PRIORITY - markitect-plugins**
|
|
|
|
**Current Location**: `markitect/plugins/`
|
|
|
|
**Files to Extract**:
|
|
```
|
|
markitect/plugins/
|
|
├── __init__.py # Package interface
|
|
├── base.py # Base plugin classes
|
|
├── decorators.py # Plugin decorators
|
|
├── manager.py # Plugin manager
|
|
├── registry.py # Plugin registry
|
|
└── builtin/ # Built-in plugins
|
|
├── formatters.py
|
|
├── processors.py
|
|
└── search/ # Search plugins
|
|
├── fts_search.py
|
|
├── indexer.py
|
|
└── query_parser.py
|
|
```
|
|
|
|
**Why Extract**:
|
|
- ✅ **Reusable**: Plugin architecture pattern broadly applicable
|
|
- ✅ **Self-Contained**: Complete plugin system
|
|
- ✅ **Size**: 9+ files, substantial codebase
|
|
|
|
**Extraction Benefits**:
|
|
- Plugin architecture could be reused in other applications
|
|
- Independent development of plugin ecosystem
|
|
- Clear extensibility patterns
|
|
|
|
### 5. 🥈 **MEDIUM PRIORITY - markitect-matter-parsers**
|
|
|
|
**Current Status**: `markitect-content` already extracted, but three separate parsers remain:
|
|
|
|
**Files to Extract**:
|
|
```
|
|
markitect/matter_frontmatter/ # Front matter parsing
|
|
markitect/matter_contentmatter/ # Content matter parsing
|
|
markitect/matter_tailmatter/ # Tail matter parsing
|
|
```
|
|
|
|
**Why Extract**:
|
|
- ✅ **Reusable**: Matter parsing useful for many markdown tools
|
|
- ✅ **Self-Contained**: Each parser is independent
|
|
- ✅ **Clear Domain**: Document structure parsing
|
|
|
|
**Extraction Benefits**:
|
|
- Could be used by other markdown processing tools
|
|
- Independent evolution of parsing capabilities
|
|
|
|
### 6. 🥈 **MEDIUM PRIORITY - markitect-legacy**
|
|
|
|
**Current Location**: `markitect/legacy/`
|
|
|
|
**Files to Extract**:
|
|
```
|
|
markitect/legacy/
|
|
├── __init__.py # Package interface
|
|
├── agent.py # Legacy agents
|
|
├── compatibility.py # Compatibility layer
|
|
├── deprecation.py # Deprecation handling
|
|
├── exceptions.py # Legacy exceptions
|
|
├── git_tracker.py # Legacy Git tracking
|
|
├── registry.py # Legacy registry
|
|
└── switches.py # Feature switches
|
|
```
|
|
|
|
**Why Extract**:
|
|
- ✅ **Self-Contained**: Complete legacy compatibility system
|
|
- ✅ **Bounded**: Will eventually be removed
|
|
- ✅ **Clean Separation**: Should not contaminate main codebase
|
|
|
|
**Extraction Benefits**:
|
|
- Keeps legacy code separate from main evolution
|
|
- Can be deprecated independently
|
|
- Clear migration path
|
|
|
|
### 7. 🥉 **LOW PRIORITY - markitect-issues**
|
|
|
|
**Current Location**: `markitect/issues/`
|
|
|
|
**Files to Extract**:
|
|
```
|
|
markitect/issues/
|
|
├── __init__.py # Package interface
|
|
├── activity_commands.py # Activity tracking
|
|
├── activity_tracker.py # Activity tracking
|
|
├── base.py # Base classes
|
|
├── commands.py # Issue CLI commands
|
|
├── exceptions.py # Issue exceptions
|
|
├── issue_wrapup_commands.py # Issue completion
|
|
├── manager.py # Issue manager
|
|
└── plugins/ # Issue plugins
|
|
├── gitea.py # Gitea integration
|
|
└── local.py # Local issues
|
|
```
|
|
|
|
**Why Lower Priority**:
|
|
- ⚠️ **High Dependencies**: Tightly integrated with core system
|
|
- ⚠️ **Complex**: Issue management is complex domain
|
|
- ⚠️ **Core Feature**: Central to MarkiTect's value proposition
|
|
|
|
**Consider for Later**:
|
|
- Extract after core system stabilizes
|
|
- Requires careful dependency analysis
|
|
- High integration complexity
|
|
|
|
---
|
|
|
|
## 🚀 Extraction Implementation Plan
|
|
|
|
### Phase 1: **High-Value, Low-Risk Extractions**
|
|
1. **markitect-finance** - Complete financial system
|
|
2. **markitect-graphql** - GraphQL interface
|
|
3. **markitect-legacy** - Legacy compatibility
|
|
|
|
### Phase 2: **Complex, High-Value Extractions**
|
|
4. **markitect-query-paradigms** - Query abstraction system
|
|
5. **markitect-plugins** - Plugin architecture
|
|
|
|
### Phase 3: **Specialized Extractions**
|
|
6. **markitect-matter-parsers** - Consolidate matter parsing
|
|
7. **markitect-issues** - Issue management (if dependencies allow)
|
|
|
|
### Phase 4: **Validation and Optimization**
|
|
- Test all extractions thoroughly
|
|
- Optimize inter-capability dependencies
|
|
- Document lessons learned
|
|
- Update ComposableRepositoryParadigm based on experience
|
|
|
|
---
|
|
|
|
## 📊 Extraction Impact Analysis
|
|
|
|
### Complexity vs. Value Matrix
|
|
|
|
```
|
|
High Value │ query-paradigms │ finance │
|
|
│ │ graphql │
|
|
│ │ │
|
|
│ plugins │ matter-parsers │
|
|
Low Value │ legacy │ issues │
|
|
────────────────────────────────────
|
|
Low Complexity High Complexity
|
|
```
|
|
|
|
### Recommended Extraction Order
|
|
|
|
1. **markitect-finance** (High Value, Medium Complexity) - Complete system
|
|
2. **markitect-graphql** (High Value, Low Complexity) - Clean API layer
|
|
3. **markitect-legacy** (Medium Value, Low Complexity) - Easy win
|
|
4. **markitect-query-paradigms** (High Value, High Complexity) - Big impact
|
|
5. **markitect-plugins** (Medium Value, Medium Complexity) - Architecture
|
|
6. **markitect-matter-parsers** (Medium Value, Low Complexity) - Consolidation
|
|
7. **markitect-issues** (High Value, High Complexity) - Complex integration
|
|
|
|
---
|
|
|
|
## 🎯 Success Criteria for Extractions
|
|
|
|
Each extracted capability must meet these criteria:
|
|
|
|
### Technical Requirements
|
|
- ✅ **Zero Parent Dependencies**: No imports from main markitect project
|
|
- ✅ **Complete Test Suite**: >80% test coverage
|
|
- ✅ **Independent Build**: Can be built and tested separately
|
|
- ✅ **Documentation**: Complete README and API documentation
|
|
- ✅ **Version Management**: Independent versioning with semver
|
|
|
|
### Quality Requirements
|
|
- ✅ **Type Safety**: Complete type annotations
|
|
- ✅ **Error Handling**: Comprehensive error handling
|
|
- ✅ **Performance**: No performance regressions
|
|
- ✅ **Security**: No security vulnerabilities introduced
|
|
|
|
### Process Requirements
|
|
- ✅ **Red-Green Testing**: All tests pass after extraction
|
|
- ✅ **CI/CD**: Independent CI/CD pipeline
|
|
- ✅ **Integration**: Smooth integration with main project
|
|
- ✅ **Migration Path**: Clear upgrade/downgrade paths
|
|
|
|
---
|
|
|
|
## 📋 Core MarkiTect Capabilities (Remain in Main Project)
|
|
|
|
### Core Architectural Paradigms
|
|
|
|
#### 1. Parse-Once, Manipulate-Many Architecture™
|
|
**Paradigm**: Single parsing operation creates multiple access pathways for document manipulation.
|
|
|
|
**Innovation**: Traditional markdown processors re-parse content for each operation. MarkiTect parses once and creates multiple fast-access representations:
|
|
- **AST Cache**: JSON-serialized Abstract Syntax Tree for lightning-fast loading
|
|
- **Database Metadata**: Structured front matter and document metadata
|
|
- **Original Content**: Preserved for integrity validation
|
|
|
|
#### 2. Database-First Metadata Management
|
|
**Paradigm**: Document metadata is treated as first-class relational data, not file-system artifacts.
|
|
|
|
#### 3. Performance-Validated Caching System
|
|
**Paradigm**: Cache performance is continuously validated against benchmarks, not assumed.
|
|
|
|
#### 4. TDD8 Methodology Integration
|
|
**Paradigm**: Issue-driven development with 8-step validation cycles.
|
|
|
|
### Core System Components
|
|
|
|
#### 🗄️ Database & Storage
|
|
- Database initialization and schema management
|
|
- Markdown file storage with metadata tracking
|
|
- SQL query execution with safety constraints
|
|
- Performance optimizations for large datasets
|
|
|
|
#### 📝 Markdown Processing
|
|
- Core AST conversion and manipulation
|
|
- Document modification through AST
|
|
- Roundtrip integrity validation
|
|
- Performance-optimized parsing
|
|
|
|
#### 🚀 Performance & Caching
|
|
- AST caching system with smart invalidation
|
|
- Performance benchmarking and validation
|
|
- Memory usage optimization
|
|
- Bulk operation efficiency
|
|
|
|
#### 🖥️ CLI Framework
|
|
- Command-line interface foundation
|
|
- Configuration management
|
|
- Error handling and validation
|
|
- Output formatting
|
|
|
|
#### 🔧 System Integration
|
|
- Configuration validation
|
|
- Environment detection
|
|
- Network connectivity
|
|
- File system validation
|
|
|
|
---
|
|
|
|
## 🎯 Future Roadmap
|
|
|
|
### Post-Extraction Goals
|
|
1. **Template System**: Create capability templates from successful extractions
|
|
2. **Dependency Checker**: Automated tools for dependency compliance
|
|
3. **CI/CD Patterns**: Establish patterns for capability CI/CD
|
|
4. **Integration Testing**: Cross-capability integration test framework
|
|
|
|
### Planned Extensions
|
|
- **Distributed Capabilities**: Multi-machine capability sharing
|
|
- **Capability Marketplace**: Public registry of MarkiTect capabilities
|
|
- **AI-Assisted Extraction**: Automated capability boundary detection
|
|
|
|
---
|
|
|
|
## 📚 Getting Started with Extractions
|
|
|
|
To begin capability extraction process:
|
|
|
|
1. **Validate Test Capability**: Ensure `markitect-utils` works correctly
|
|
2. **Choose Starting Point**: Begin with `markitect-finance` (high value, clear boundaries)
|
|
3. **Follow TDD Process**: Maintain test suite throughout extraction
|
|
4. **Document Experience**: Update this document with lessons learned
|
|
|
|
For detailed extraction procedures, see:
|
|
- `/wiki/ComposableRepositoryParadigm.md` - Extraction methodology
|
|
- `/capabilities/markitect-utils/VALIDATION_REPORT.md` - Process validation
|
|
|
|
---
|
|
|
|
*This capabilities analysis reflects the current state of the MarkiTect project and provides a roadmap for systematic capability extraction following the ComposableRepositoryParadigm. All recommendations are based on architectural analysis, dependency review, and reusability assessment.* |