feat: enhance issue management tooling and clarify performance metrics

Enhanced issue management:
- Added create-issue target to Makefile with support for TITLE/BODY parameters
- Support for both inline BODY and BODY_FILE for complex markdown descriptions
- Created issue #82 for architectural independence improvement

Performance metrics clarification:
- Identified distinction between Performance Index (83.3/100 - GOOD) and Architecture Independence Index (14.3% - POOR)
- Performance Index: Template rendering, database ops, memory usage (markitect perf-track)
- Architecture Index: Layer isolation, dependency violations (make chaos-validate)
- Updated issue #82 to clarify scope: improve architectural independence while maintaining performance

Technical improvements:
- Added create-issue to .PHONY targets in Makefile
- Enhanced help documentation for issue management commands
- Preserved chaos validation results for historical tracking

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-10-03 11:09:47 +02:00
parent f6c285b774
commit e6adb3e6db
3 changed files with 1180 additions and 1 deletions

View File

@@ -1,7 +1,7 @@
# MarkiTect - Advanced Markdown Engine
# Makefile for common development tasks
.PHONY: help setup install test build clean update status dev lint format check-deps venv-status update-digest add-diary-entry list-issues show-issue list-open-issues close-issue close-issue-enhanced close-issues-batch test-from-issue tdd-start tdd-add-test tdd-finish tdd-status test-status test-new test-coverage test-arch test-foundation test-infrastructure test-integration test-domain test-service test-application test-presentation test-quick test-layers test-random test-random-seed test-random-repeat test-install-randomly test-clean test-tdd test-changed test-module test-cache-clean test-efficient cli-help release-status release-validate release-prepare release-build release-publish release-dry-run chaos-validate chaos-matrix chaos-inject chaos-report
.PHONY: help setup install test build clean update status dev lint format check-deps venv-status update-digest add-diary-entry list-issues show-issue list-open-issues create-issue close-issue close-issue-enhanced close-issues-batch test-from-issue tdd-start tdd-add-test tdd-finish tdd-status test-status test-new test-coverage test-arch test-foundation test-infrastructure test-integration test-domain test-service test-application test-presentation test-quick test-layers test-random test-random-seed test-random-repeat test-install-randomly test-clean test-tdd test-changed test-module test-cache-clean test-efficient cli-help release-status release-validate release-prepare release-build release-publish release-dry-run chaos-validate chaos-matrix chaos-inject chaos-report
# Default target
help:
@@ -79,6 +79,7 @@ help:
@echo "Issue Management:"
@echo " list-issues - Show all gitea issues with status and priority"
@echo " list-open-issues - Show only open issues (active backlog)"
@echo " create-issue TITLE='...' BODY='...' - Create a new issue (or BODY_FILE='/path/to/file.md')"
@echo " show-issue NUM=X - Show detailed view of specific issue"
@echo " close-issue NUM=X [COMMENT='reason'] - Close an issue and mark as completed"
@echo " close-issue-enhanced NUM=X [WORK='description'] - Close issue with enhanced tddai/issue_closer.py"
@@ -411,6 +412,25 @@ show-issue: $(VENV)/bin/activate
list-open-issues: $(VENV)/bin/activate
@PYTHONPATH=. $(VENV_PYTHON) tddai_cli.py list-open-issues
# Create a new issue
create-issue:
@if [ -z "$(TITLE)" ]; then \
echo "❌ Please specify issue title: make create-issue TITLE='Fix bug' BODY='Description'"; \
echo "❌ Or use: make create-issue TITLE='Fix bug' BODY_FILE='/path/to/body.md'"; \
exit 1; \
fi
@if [ -z "$(BODY)" ] && [ -z "$(BODY_FILE)" ]; then \
echo "❌ Please specify either BODY='...' or BODY_FILE='/path/to/file.md'"; \
exit 1; \
fi
@echo "📋 Creating new issue..."
@echo "📋 Title: $(TITLE)"
@if [ -n "$(BODY_FILE)" ]; then \
tea issue create --title "$(TITLE)" --description "$$(cat $(BODY_FILE))"; \
else \
tea issue create --title "$(TITLE)" --description "$(BODY)"; \
fi
# Close an issue and mark as completed
close-issue: $(VENV)/bin/activate
@if [ -z "$(NUM)" ]; then \

View File

@@ -0,0 +1,125 @@
# Architectural Independence Chaos Engineering Report
## Executive Summary
**Validation Date**: 2025-10-03T10:56:00.359162
**Duration**: 0.02 seconds
**Layers Tested**: 7
**Total Chaos Injections**: 14
**Successful Injections**: 2
**Total Violations Detected**: 42
**Overall Health**: ❌ VIOLATIONS DETECTED
## Architectural Layer Overview
- **L1_Presentation**: CLI Interface and User Interaction (Dependencies: L2_Application)
- **L2_Application**: Feature Workflows and Use Cases (Dependencies: L3_Domain, L4_Service)
- **L3_Domain**: Business Logic and Domain Models (Dependencies: L4_Service)
- **L4_Service**: Application Services and Orchestration (Dependencies: L5_Infrastructure)
- **L5_Infrastructure**: Technical Infrastructure (Dependencies: L6_Integration, L7_Foundation)
- **L6_Integration**: External API and System Integration (Dependencies: L7_Foundation)
- **L7_Foundation**: Core Components and Utilities (Dependencies: None)
## Dependency Matrix
- **L1_Presentation**: L2_Application, L3_Domain, L4_Service, L5_Infrastructure, L6_Integration, L7_Foundation
- **L2_Application**: L3_Domain, L4_Service, L5_Infrastructure, L6_Integration, L7_Foundation
- **L3_Domain**: L4_Service, L5_Infrastructure, L6_Integration, L7_Foundation
- **L4_Service**: L5_Infrastructure, L6_Integration, L7_Foundation
- **L5_Infrastructure**: L6_Integration, L7_Foundation
- **L6_Integration**: L7_Foundation
- **L7_Foundation**: None
## Chaos Injection Results
### L1_Presentation
**import_failure**: ❌ FAIL
- Affected Layers: L1_Presentation, L2_Application, L3_Domain, L4_Service, L5_Infrastructure, L6_Integration, L7_Foundation
- Expected Affected: L1_Presentation
- Violations: 6
**module_unavailable**: ❌ FAIL
- Affected Layers: L1_Presentation, L2_Application, L3_Domain, L4_Service, L5_Infrastructure, L6_Integration, L7_Foundation
- Expected Affected: L1_Presentation
- Violations: 6
### L2_Application
**import_failure**: ❌ FAIL
- Affected Layers: L1_Presentation, L2_Application, L3_Domain, L4_Service, L5_Infrastructure, L6_Integration, L7_Foundation
- Expected Affected: L2_Application, L1_Presentation
- Violations: 5
**module_unavailable**: ❌ FAIL
- Affected Layers: L1_Presentation, L2_Application, L3_Domain, L4_Service, L5_Infrastructure, L6_Integration, L7_Foundation
- Expected Affected: L2_Application, L1_Presentation
- Violations: 5
### L3_Domain
**import_failure**: ❌ FAIL
- Affected Layers: L1_Presentation, L2_Application, L3_Domain, L4_Service, L5_Infrastructure, L6_Integration, L7_Foundation
- Expected Affected: L3_Domain, L1_Presentation, L2_Application
- Violations: 4
**module_unavailable**: ❌ FAIL
- Affected Layers: L1_Presentation, L2_Application, L3_Domain, L4_Service, L5_Infrastructure, L6_Integration, L7_Foundation
- Expected Affected: L3_Domain, L1_Presentation, L2_Application
- Violations: 4
### L4_Service
**import_failure**: ❌ FAIL
- Affected Layers: L1_Presentation, L2_Application, L3_Domain, L4_Service, L5_Infrastructure, L6_Integration, L7_Foundation
- Expected Affected: L4_Service, L1_Presentation, L2_Application, L3_Domain
- Violations: 3
**module_unavailable**: ❌ FAIL
- Affected Layers: L1_Presentation, L2_Application, L3_Domain, L4_Service, L5_Infrastructure, L6_Integration, L7_Foundation
- Expected Affected: L4_Service, L1_Presentation, L2_Application, L3_Domain
- Violations: 3
### L5_Infrastructure
**import_failure**: ❌ FAIL
- Affected Layers: L1_Presentation, L2_Application, L3_Domain, L4_Service, L5_Infrastructure, L6_Integration, L7_Foundation
- Expected Affected: L5_Infrastructure, L1_Presentation, L2_Application, L3_Domain, L4_Service
- Violations: 2
**module_unavailable**: ❌ FAIL
- Affected Layers: L1_Presentation, L2_Application, L3_Domain, L4_Service, L5_Infrastructure, L6_Integration, L7_Foundation
- Expected Affected: L5_Infrastructure, L1_Presentation, L2_Application, L3_Domain, L4_Service
- Violations: 2
### L6_Integration
**import_failure**: ❌ FAIL
- Affected Layers: L1_Presentation, L2_Application, L3_Domain, L4_Service, L5_Infrastructure, L6_Integration, L7_Foundation
- Expected Affected: L6_Integration, L1_Presentation, L2_Application, L3_Domain, L4_Service, L5_Infrastructure
- Violations: 1
**module_unavailable**: ❌ FAIL
- Affected Layers: L1_Presentation, L2_Application, L3_Domain, L4_Service, L5_Infrastructure, L6_Integration, L7_Foundation
- Expected Affected: L6_Integration, L1_Presentation, L2_Application, L3_Domain, L4_Service, L5_Infrastructure
- Violations: 1
### L7_Foundation
**import_failure**: ✅ PASS
- Affected Layers: L1_Presentation, L2_Application, L3_Domain, L4_Service, L5_Infrastructure, L6_Integration, L7_Foundation
- Expected Affected: L7_Foundation, L1_Presentation, L2_Application, L3_Domain, L4_Service, L5_Infrastructure, L6_Integration
- Violations: 0
**module_unavailable**: ✅ PASS
- Affected Layers: L1_Presentation, L2_Application, L3_Domain, L4_Service, L5_Infrastructure, L6_Integration, L7_Foundation
- Expected Affected: L7_Foundation, L1_Presentation, L2_Application, L3_Domain, L4_Service, L5_Infrastructure, L6_Integration
- Violations: 0
## Recommendations
**Action Required**: Architectural violations detected that need attention.
🔧 **Priority**: Review and refactor components with dependency violations.
📊 **Monitor**: Run chaos tests regularly to prevent regression.

File diff suppressed because it is too large Load Diff