3 Commits

Author SHA1 Message Date
096017b93f feat: reorganize tests by capability with separate test targets
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
Separate capability-specific tests from core system tests to establish clear
test organization and separation of concerns.

## Test Reorganization:
- **markitect-content tests**: Moved 6 tests to capabilities/markitect-content/tests/
- **markitect-finance tests**: Moved 7 tests to markitect/finance/tests/
- **markitect-query tests**: Moved 1 test to markitect/query_paradigms/tests/
- **markitect-graphql tests**: Moved 2 tests to markitect/graphql/tests/
- **markitect-plugins tests**: Moved 2 tests to markitect/plugins/tests/

## Makefile Updates:
- **make test**: Excludes capability tests, runs only core system tests
- **make test-capabilities**: Runs all capability tests
- **make test-capability-***: Individual capability test targets
- Updated all test targets (test-red, test-green, test-ultra-fast, test-perf)
- Added capability test targets to help documentation

## Benefits:
- Clear separation between core system tests and capability-specific tests
- Faster core test execution (capability tests not run by default)
- Individual capability testing for focused development
- Supports future capability extraction workflow
- Maintains capability test independence

Test verification:
- Core tests: 1291 tests (capability tests excluded)
- Finance capability: 143 tests working independently
- Content capability: 79 tests working independently

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-25 02:37:45 +02:00
f0dfd04d45 feat: add kaizen-agentic as submodule capability
- Add kaizen-agentic submodule from coulomb/kaizen-agentic repository
- Integrate as capabilities/kaizen-agentic/ following capability inclusion pattern
- Update CAPABILITY_REGISTRY.md with new AI agent framework capability
- Update CAPABILITY_INCLUSION_GUIDE.md directory structure
- Update capability metrics: 5 total capabilities, 3 submodules
- Establish kaizen-agentic integration pattern: cd capabilities/kaizen-agentic && make [command]

Extends capability inclusion architecture with:
- Advanced AI agent framework for autonomous development workflows
- Agent definitions, workflow automation, development patterns
- Clear separation from internal MarkiTect functionality

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-25 02:26:16 +02:00
6233d13f18 feat: reorganize capabilities directory structure for better separation
- Move issue-facade submodule from root to capabilities/ directory
- Update .gitmodules to reflect new submodule path: capabilities/issue-facade
- Update all documentation references to new capability paths
- Update agent definitions with new issue-facade location
- Establish logical organization: capabilities/ for all external dependencies
- Maintain wiki/ at root as project documentation, not reusable capability

Improves separation between:
- Project infrastructure (wiki/ at root)
- Reusable capabilities (capabilities/ directory)
- Internal code (markitect/ directory)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-25 02:22:14 +02:00
31 changed files with 119 additions and 31 deletions

7
.gitmodules vendored
View File

@@ -2,6 +2,9 @@
path = wiki path = wiki
url = http://92.205.130.254:32166/coulomb/markitect_project.wiki.git url = http://92.205.130.254:32166/coulomb/markitect_project.wiki.git
branch = main branch = main
[submodule "issue-facade"] [submodule "capabilities/issue-facade"]
path = issue-facade path = capabilities/issue-facade
url = http://92.205.130.254:32166/coulomb/issue-facade.git url = http://92.205.130.254:32166/coulomb/issue-facade.git
[submodule "capabilities/kaizen-agentic"]
path = capabilities/kaizen-agentic
url = http://92.205.130.254:32166/coulomb/kaizen-agentic.git

View File

@@ -75,7 +75,7 @@ markitect/cli/ # CLI framework capability
#### 1. **Submodule Capabilities** (Independent Repositories) #### 1. **Submodule Capabilities** (Independent Repositories)
- **Pattern**: Git submodules pointing to external repositories - **Pattern**: Git submodules pointing to external repositories
- **Benefits**: Independent versioning, separate development, easy updates - **Benefits**: Independent versioning, separate development, easy updates
- **Examples**: `issue-facade/`, `wiki/` - **Examples**: `capabilities/issue-facade/`, `wiki/`
#### 2. **Local Extracted Capabilities** (Previously Internal, Now Separated) #### 2. **Local Extracted Capabilities** (Previously Internal, Now Separated)
- **Pattern**: Moved to `capabilities/` directory but still in this repo - **Pattern**: Moved to `capabilities/` directory but still in this repo
@@ -125,7 +125,7 @@ Extract capability → Choose inclusion pattern → Update registries
Internal → markitect/issues/ (internal issue management) Internal → markitect/issues/ (internal issue management)
Evaluation → Self-contained, reusable, independent development needed Evaluation → Self-contained, reusable, independent development needed
Extraction → coulomb/issue-facade (separate repository) Extraction → coulomb/issue-facade (separate repository)
Inclusion → issue-facade/ (submodule capability) Inclusion → capabilities/issue-facade/ (submodule capability)
Registration → CAPABILITY_REGISTRY.md updated Registration → CAPABILITY_REGISTRY.md updated
``` ```
@@ -144,13 +144,14 @@ markitect/ # Core repository
└── [... 68+ more capabilities] └── [... 68+ more capabilities]
``` ```
### External Capabilities (4 documented in CAPABILITY_REGISTRY.md) ### External Capabilities (5 documented in CAPABILITY_REGISTRY.md)
``` ```
issue-facade/ # Submodule: Universal issue tracking
wiki/ # Submodule: Documentation
capabilities/ capabilities/
├── issue-facade/ # Submodule: Universal issue tracking
├── kaizen-agentic/ # Submodule: AI agent framework
├── markitect-content/ # Local: Content processing ├── markitect-content/ # Local: Content processing
└── markitect-utils/ # Local: Utility functions └── markitect-utils/ # Local: Utility functions
wiki/ # Submodule: Documentation
[External dependencies: click, pytest, sqlalchemy, ...] [External dependencies: click, pytest, sqlalchemy, ...]
``` ```

View File

@@ -25,17 +25,30 @@ Third-party packages providing specific capabilities via pip/pypi.
### Universal Issue Management ### Universal Issue Management
- **Type**: Submodule Capability - **Type**: Submodule Capability
- **Location**: `issue-facade/` - **Location**: `capabilities/issue-facade/`
- **Repository**: `coulomb/issue-facade` - **Repository**: `coulomb/issue-facade`
- **Purpose**: Backend-agnostic issue tracking with unified CLI - **Purpose**: Backend-agnostic issue tracking with unified CLI
- **Interfaces**: - **Interfaces**:
- CLI: `cd issue-facade && python -m cli.main [command]` - CLI: `cd capabilities/issue-facade && python -m cli.main [command]`
- API: Core models, backends (local SQLite, Gitea, GitHub, GitLab) - API: Core models, backends (local SQLite, Gitea, GitHub, GitLab)
- **Usage Guidelines**: - **Usage Guidelines**:
-**USE**: For all issue management tasks -**USE**: For all issue management tasks
-**DON'T**: Implement custom issue tracking, duplicate CLI commands -**DON'T**: Implement custom issue tracking, duplicate CLI commands
- 🔧 **Integration**: Reference submodule for issue operations - 🔧 **Integration**: Reference submodule for issue operations
### Kaizen-Agentic Framework
- **Type**: Submodule Capability
- **Location**: `capabilities/kaizen-agentic/`
- **Repository**: `coulomb/kaizen-agentic`
- **Purpose**: Advanced AI agent framework for autonomous development workflows
- **Interfaces**:
- CLI: `cd capabilities/kaizen-agentic && make [command]`
- Framework: Agent definitions, workflow automation, development patterns
- **Usage Guidelines**:
-**USE**: For AI agent definitions and autonomous workflows
-**DON'T**: Implement custom agent frameworks, duplicate AI patterns
- 🔧 **Integration**: Reference framework for agent-driven development
### Content Processing Capability ### Content Processing Capability
- **Type**: Local Capability - **Type**: Local Capability
- **Location**: `capabilities/markitect-content/` - **Location**: `capabilities/markitect-content/`
@@ -95,7 +108,10 @@ Third-party packages providing specific capabilities via pip/pypi.
### Submodule Integration ### Submodule Integration
```bash ```bash
# Issue management # Issue management
cd issue-facade && python -m cli.main list cd capabilities/issue-facade && python -m cli.main list
# AI agent framework
cd capabilities/kaizen-agentic && make [command]
# Documentation updates # Documentation updates
cd wiki && git pull origin main cd wiki && git pull origin main
@@ -137,7 +153,8 @@ import pytest # Testing framework
- **Utilities**: Check `markitect-utils` before creating new utility functions - **Utilities**: Check `markitect-utils` before creating new utility functions
### Integration Commands: ### Integration Commands:
- **Issue Operations**: `cd issue-facade && python -m cli.main [command]` - **Issue Operations**: `cd capabilities/issue-facade && python -m cli.main [command]`
- **AI Agent Framework**: `cd capabilities/kaizen-agentic && make [command]`
- **Content Analysis**: Import from `capabilities.markitect_content` - **Content Analysis**: Import from `capabilities.markitect_content`
- **Utility Functions**: Import from `capabilities.markitect_utils` - **Utility Functions**: Import from `capabilities.markitect_utils`
- **Documentation**: Reference files in `wiki/` - **Documentation**: Reference files in `wiki/`
@@ -173,11 +190,11 @@ import pytest # Testing framework
## 📊 **CAPABILITY METRICS** ## 📊 **CAPABILITY METRICS**
- **Total Capabilities**: 4 active capabilities - **Total Capabilities**: 5 active capabilities
- **Submodule Capabilities**: 2 (issue-facade, wiki) - **Submodule Capabilities**: 3 (issue-facade, kaizen-agentic, wiki)
- **Local Capabilities**: 2 (markitect-content, markitect-utils) - **Local Capabilities**: 2 (markitect-content, markitect-utils)
- **External Dependencies**: Multiple (see pyproject.toml) - **External Dependencies**: Multiple (see pyproject.toml)
- **Coverage**: Issue management, content processing, utilities, documentation - **Coverage**: Issue management, AI agent framework, content processing, utilities, documentation
--- ---

View File

@@ -25,7 +25,9 @@ help:
@echo " venv-status - Check if venv is active" @echo " venv-status - Check if venv is active"
@echo "" @echo ""
@echo "Development:" @echo "Development:"
@echo " test - Run all tests" @echo " test - Run core tests (excluding capability-specific tests)"
@echo " test-capabilities - Run all capability-specific tests"
@echo " test-capability-* - Run specific capability tests (content, utils, finance, etc.)"
@echo " test-status - Show test status summary without re-running" @echo " test-status - Show test status summary without re-running"
@echo " test-new - Create new test file template" @echo " test-new - Create new test file template"
@echo " test-coverage - Analyze test coverage" @echo " test-coverage - Analyze test coverage"
@@ -320,25 +322,77 @@ setup-dev: install-dev
# Run tests # Run tests
test: $(VENV)/bin/activate test: $(VENV)/bin/activate
@echo "🧪 Running tests..." @echo "🧪 Running core tests (excluding capability-specific tests)..."
@if [ -f $(VENV)/bin/pytest ]; then \ @if [ -f $(VENV)/bin/pytest ]; then \
PYTHONPATH=. $(VENV)/bin/pytest tests/ -v; \ PYTHONPATH=. $(VENV)/bin/pytest tests/ -v \
--ignore=capabilities/markitect-content/tests/ \
--ignore=capabilities/markitect-utils/tests/ \
--ignore=markitect/finance/tests/ \
--ignore=markitect/query_paradigms/tests/ \
--ignore=markitect/graphql/tests/ \
--ignore=markitect/plugins/tests/; \
else \ else \
PYTHONPATH=. $(VENV_PYTHON) -m pytest tests/ -v 2>/dev/null || \ PYTHONPATH=. $(VENV_PYTHON) -m pytest tests/ -v \
--ignore=capabilities/markitect-content/tests/ \
--ignore=capabilities/markitect-utils/tests/ \
--ignore=markitect/finance/tests/ \
--ignore=markitect/query_paradigms/tests/ \
--ignore=markitect/graphql/tests/ \
--ignore=markitect/plugins/tests/ 2>/dev/null || \
PYTHONPATH=. $(VENV_PYTHON) -m unittest discover tests/ -v; \ PYTHONPATH=. $(VENV_PYTHON) -m unittest discover tests/ -v; \
fi fi
# Capability-Specific Test Targets
test-capabilities: test-capability-content test-capability-utils test-capability-finance test-capability-query test-capability-graphql test-capability-plugins
@echo "✅ All capability tests completed"
test-capability-content: $(VENV)/bin/activate
@echo "🧪 Running markitect-content capability tests..."
@cd capabilities/markitect-content && python -m pytest tests/ -v
test-capability-utils: $(VENV)/bin/activate
@echo "🧪 Running markitect-utils capability tests..."
@cd capabilities/markitect-utils && python -m pytest tests/ -v
test-capability-finance: $(VENV)/bin/activate
@echo "🧪 Running finance capability tests..."
@PYTHONPATH=. $(VENV_PYTHON) -m pytest markitect/finance/tests/ -v
test-capability-query: $(VENV)/bin/activate
@echo "🧪 Running query paradigms capability tests..."
@PYTHONPATH=. $(VENV_PYTHON) -m pytest markitect/query_paradigms/tests/ -v
test-capability-graphql: $(VENV)/bin/activate
@echo "🧪 Running GraphQL capability tests..."
@PYTHONPATH=. $(VENV_PYTHON) -m pytest markitect/graphql/tests/ -v
test-capability-plugins: $(VENV)/bin/activate
@echo "🧪 Running plugins capability tests..."
@PYTHONPATH=. $(VENV_PYTHON) -m pytest markitect/plugins/tests/ -v
# TDD8 Workflow Optimized Test Targets (Issue #57) # TDD8 Workflow Optimized Test Targets (Issue #57)
# Fast test execution for TDD red phase # Fast test execution for TDD red phase
test-red: $(VENV)/bin/activate test-red: $(VENV)/bin/activate
@echo "🔴 TDD Red Phase - Fast test execution..." @echo "🔴 TDD Red Phase - Fast test execution..."
PYTHONPATH=. $(VENV_PYTHON) -m pytest tests/ -x --maxfail=1 --tb=short -q PYTHONPATH=. $(VENV_PYTHON) -m pytest tests/ -x --maxfail=1 --tb=short -q \
--ignore=capabilities/markitect-content/tests/ \
--ignore=capabilities/markitect-utils/tests/ \
--ignore=markitect/finance/tests/ \
--ignore=markitect/query_paradigms/tests/ \
--ignore=markitect/graphql/tests/ \
--ignore=markitect/plugins/tests/
# Comprehensive test execution for TDD green phase # Comprehensive test execution for TDD green phase
test-green: $(VENV)/bin/activate test-green: $(VENV)/bin/activate
@echo "🟢 TDD Green Phase - Comprehensive validation..." @echo "🟢 TDD Green Phase - Comprehensive validation..."
PYTHONPATH=. $(VENV_PYTHON) -m pytest tests/ --tb=short PYTHONPATH=. $(VENV_PYTHON) -m pytest tests/ --tb=short \
--ignore=capabilities/markitect-content/tests/ \
--ignore=capabilities/markitect-utils/tests/ \
--ignore=markitect/finance/tests/ \
--ignore=markitect/query_paradigms/tests/ \
--ignore=markitect/graphql/tests/ \
--ignore=markitect/plugins/tests/
# Smart test selection - changed files only # Smart test selection - changed files only
test-smart: $(VENV)/bin/activate test-smart: $(VENV)/bin/activate
@@ -354,12 +408,24 @@ test-smart: $(VENV)/bin/activate
# Ultra-fast test execution # Ultra-fast test execution
test-ultra-fast: $(VENV)/bin/activate test-ultra-fast: $(VENV)/bin/activate
@echo "⚡ Ultra-fast test execution..." @echo "⚡ Ultra-fast test execution..."
PYTHONPATH=. $(VENV_PYTHON) -m pytest tests/ -m "not slow" --maxfail=1 -x -q PYTHONPATH=. $(VENV_PYTHON) -m pytest tests/ -m "not slow" --maxfail=1 -x -q \
--ignore=capabilities/markitect-content/tests/ \
--ignore=capabilities/markitect-utils/tests/ \
--ignore=markitect/finance/tests/ \
--ignore=markitect/query_paradigms/tests/ \
--ignore=markitect/graphql/tests/ \
--ignore=markitect/plugins/tests/
# Test with performance monitoring # Test with performance monitoring
test-perf: $(VENV)/bin/activate test-perf: $(VENV)/bin/activate
@echo "📊 Test execution with performance monitoring..." @echo "📊 Test execution with performance monitoring..."
PYTHONPATH=. $(VENV_PYTHON) -m pytest tests/ --durations=10 --tb=short PYTHONPATH=. $(VENV_PYTHON) -m pytest tests/ --durations=10 --tb=short \
--ignore=capabilities/markitect-content/tests/ \
--ignore=capabilities/markitect-utils/tests/ \
--ignore=markitect/finance/tests/ \
--ignore=markitect/query_paradigms/tests/ \
--ignore=markitect/graphql/tests/ \
--ignore=markitect/plugins/tests/
# Test health check # Test health check
test-health: $(VENV)/bin/activate test-health: $(VENV)/bin/activate

View File

@@ -48,7 +48,7 @@ You are the MarkiTect project assistant, specialized in providing project status
- **Issue Workflow**: Create → Triage → Plan → Schedule → Implement → Close - **Issue Workflow**: Create → Triage → Plan → Schedule → Implement → Close
**TDD Workflow Management:** **TDD Workflow Management:**
- For issue management tasks, use the **issue-facade** system located in `issue-facade/` - For issue management tasks, use the **issue-facade** system located in `capabilities/issue-facade/`
- The issue-facade provides unified CLI for GitHub, GitLab, Gitea, and local SQLite backends - The issue-facade provides unified CLI for GitHub, GitLab, Gitea, and local SQLite backends
- This includes sidequest management, test planning, and comprehensive development workflow guidance - This includes sidequest management, test planning, and comprehensive development workflow guidance

View File

@@ -117,7 +117,7 @@ python tools/requirements_engineering_toolkit.py validate-mocks --test-file test
# Enhanced Makefile targets # Enhanced Makefile targets
issue-start: validate-requirements issue-start: validate-requirements
# Use issue-facade for issue management # Use issue-facade for issue management
cd issue-facade && python -m cli.main show $(NUM) cd capabilities/issue-facade && python -m cli.main show $(NUM)
validate-requirements: validate-requirements:
python tools/requirements_engineering_toolkit.py analyze python tools/requirements_engineering_toolkit.py analyze
@@ -456,7 +456,7 @@ validate-requirements:
issue-start: validate-requirements issue-start: validate-requirements
# Use issue-facade for issue management # Use issue-facade for issue management
cd issue-facade && python -m cli.main show $(NUM) cd capabilities/issue-facade && python -m cli.main show $(NUM)
``` ```
### Tool Dependencies ### Tool Dependencies

View File

@@ -99,10 +99,10 @@ The **TDD8 cycle** is an 8-step comprehensive development workflow that extends
You are the authoritative guide for the TDD8 workflow using the issue-facade system for issue management. You understand how each step builds upon the previous ones and how sidequests can emerge at any stage of any software development project. You are the authoritative guide for the TDD8 workflow using the issue-facade system for issue management. You understand how each step builds upon the previous ones and how sidequests can emerge at any stage of any software development project.
**Primary Issue Management Commands:** **Primary Issue Management Commands:**
- Issue management via issue-facade: `cd issue-facade && python -m cli.main list` - Issue management via issue-facade: `cd capabilities/issue-facade && python -m cli.main list`
- `cd issue-facade && python -m cli.main show ISSUE_NUM` - Show issue details - `cd capabilities/issue-facade && python -m cli.main show ISSUE_NUM` - Show issue details
- `cd issue-facade && python -m cli.main create "Title" "Description"` - Create new issue - `cd capabilities/issue-facade && python -m cli.main create "Title" "Description"` - Create new issue
- `cd issue-facade && python -m cli.main close ISSUE_NUM` - Close completed issue - `cd capabilities/issue-facade && python -m cli.main close ISSUE_NUM` - Close completed issue
**Capability Awareness:** **Capability Awareness:**
- **Before implementing**: Check `CAPABILITY_REGISTRY.md` for existing functionality - **Before implementing**: Check `CAPABILITY_REGISTRY.md` for existing functionality
@@ -116,7 +116,7 @@ You are the authoritative guide for the TDD8 workflow using the issue-facade sys
- Tea CLI: `tea issue show NUM` - Show detailed view of specific issue - Tea CLI: `tea issue show NUM` - Show detailed view of specific issue
### Workspace Management Understanding ### Workspace Management Understanding
You understand the project structure with issue-facade for issue management: You understand the project structure with capabilities/issue-facade for issue management:
``` ```
{workspace_dir}/ {workspace_dir}/
├── current_issue.json # Active issue metadata ├── current_issue.json # Active issue metadata
@@ -157,7 +157,7 @@ You understand the project structure with issue-facade for issue management:
### TDDAi Framework Components ### TDDAi Framework Components
**Core Infrastructure:** **Core Infrastructure:**
- `issue-facade/` - Universal issue management facade - `capabilities/issue-facade/` - Universal issue management facade
- `workspace.py` - Workspace management - `workspace.py` - Workspace management
- `issue_fetcher.py` - Issue API integration - `issue_fetcher.py` - Issue API integration
- `issue_writer.py` - Issue updates via PATCH - `issue_writer.py` - Issue updates via PATCH

View File

View File

View File