Commit Graph

12 Commits

Author SHA1 Message Date
fecc2fd4fa feat(llm): add LLM integration module with OpenRouter and Claude Code adapters
Implements markitect/llm/ package with concrete LLMAdapter implementations:
- OpenRouterAdapter: HTTP via urllib with retry/backoff on 429/5xx
- ClaudeCodeAdapter: subprocess-based Claude CLI with stdin piping
- Factory pattern: create_adapter("openrouter") or create_adapter("claude-code")
- API key resolution chain: constructor > env var > project-root key file
- 42 unit tests, 2 integration tests (gated on API key / CLI availability)

Also adds the infospace-with-history example with Wealth of Nations VSM
analysis pipeline, templates, schemas, source chapters, and processed
output for chapters 1-2. process_chapters.py now supports --provider
and --model flags for automatic LLM-driven processing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 01:17:58 +01:00
c699d7d669 fix: exclude assets.db from version control
Remove assets.db from git tracking and add to .gitignore:

**Changes:**
- Remove assets/assets.db from git tracking (was incorrectly committed)
- Add assets/assets.db and **/assets.db patterns to .gitignore

**Rationale:**
- assets.db is a runtime SQLite database containing local asset metadata and usage stats
- Should not be in version control as it contains user-specific operational data
- Similar to markitect.db which was already properly ignored
- Prevents unnecessary binary file commits and merge conflicts

**Database Purpose:**
- Assets system database for tracking file metadata, usage statistics, and processing logs
- Generated and updated automatically during asset management operations
- Project-specific (per-repository) unlike markitect.db (global user database)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-10 12:14:12 +01:00
8249296a43 Convert to setuptools-scm for automatic version management
- Remove manual version management in favor of git tag-based versioning
- Simplify __version__.py to import from generated _version.py
- Add simplified release_simplified.py script
- Add _version.py to .gitignore (auto-generated)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-08 20:23:16 +01:00
4bcc178f43 fix: move test artifacts to tmp directory and update gitignore
Some checks failed
Test Suite / code-quality (push) Has been cancelled
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 / security-scan (push) Has been cancelled
Test Suite / test-summary (push) Has been cancelled
- Create tmp/test_artifacts/ directory for test storage
- Add tmp/ to .gitignore to exclude test artifacts from version control
- Update test files to use project tmp directory instead of system temp
- Add test-specific path constants for consistent configuration
- Prevent asset_registry.json from being overwritten by tests

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-19 21:39:40 +02:00
19f1898d1a chore: history cleanup 2025-10-03 03:39:43 +02:00
dbbf06db89 refactor: Consolidate tools and add tooling optimizer agent
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
- Moved debug_paths.py from src/markitect/tools/ to tools/ for centralized tool organization
- Added tooling-optimizer agent specification to replace agent_tooling_optimizer.py script
- Updated .gitignore to allow debug_paths.py as legitimate tool (not temporary debug file)
- Removed empty src/markitect/tools/ directory

Organization: All development tools now consolidated in tools/ directory
Agent: Converted standalone script to proper Claude Code agent specification
Tooling: Improved discoverability and maintenance of development utilities

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-03 02:02:57 +02:00
7f5309c4b0 refactor: Separate CLI presentation from core business logic
Complete architectural separation of concerns implementing clean layered design:

• Services Layer: Pure business logic isolated from presentation
  - WorkspaceService: TDD workspace operations
  - IssueService: Issue management and creation
  - ProjectService: Project management and milestones
  - ExportService: Unix-friendly data export

• CLI Layer: Clean presentation with command/presenter separation
  - Commands delegate to services for all business operations
  - Presenters handle formatted output and error messaging
  - Framework provides unified interface

• Benefits:
  - Eliminates mixed concerns in 943-line CLI monolith
  - Enables easier testing and maintenance
  - Preserves all existing functionality and Unix pipeline compatibility
  - Provides foundation for future CLI development

Resolves issue #20: CLI separation from core logic

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-26 15:08:54 +02:00
b20b7003f5 feat: Add Unix-friendly issue index with multiple output formats
- Add issue-index command with TSV, CSV, JSON, and fields output formats
- Support sorting by number, title, priority, state, created, updated
- Add filtering by state (open/closed) and priority level
- Include proper data cleaning for Unix pipeline processing
- Add make targets: issues-get, issues-csv, issues-json, issues-high
- Optimize for awk, cut, grep, and other Unix text processing tools

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-26 11:24:25 +02:00
b41c718895 feat: Complete Issue #13 - Cache Management CLI Commands MAJOR MILESTONE
Implemented comprehensive cache management interface following TDD8 methodology:

**Cache Commands:**
- cache-info: Display cache statistics (directory, file count, size)
- cache-clean: Clear all cached files with user feedback
- cache-invalidate <file>: Remove specific file cache

**Architecture:**
- Service layer design with CacheDirectoryService
- Convention over configuration following Rails paradigm
- XDG Base Directory compliance with fallback hierarchy

**Performance Benefits:**
- 60-85% faster document processing through AST caching
- User-accessible cache monitoring and maintenance

**Quality Assurance:**
- 15/15 comprehensive tests passing (behavior-focused)
- Complete documentation with user guides and technical architecture
- Service layer separation following project patterns

**TDD8 Cycle Complete:**
ISSUE → TEST → RED → GREEN → REFACTOR → DOCUMENT → REFINE → PUBLISH

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-25 23:03:03 +02:00
c6ba9c9308 chore: Remove .claude/settings.local.json from tracking and add to .gitignore
The .claude/settings.local.json file contains Claude Code-specific permission
settings that are user-specific and should not be committed to the repository.

- Remove .claude/settings.local.json from git tracking
- Add .claude/settings.local.json to .gitignore for clean repo state
- Local file remains for user's Claude Code permissions

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 00:09:23 +02:00
b03160437e build: Add issue workspace system for structured TDD workflow
- Add start-issue NUM=X target to create structured issue workspaces
- Add add-test target for iterative test generation within workspace
- Add workspace-status target to monitor active workspace state
- Add finish-issue target to move tests to main and cleanup workspace
- Create workspace structure with requirements.md and test_plan.md templates
- Include .markitect_workspace/ in .gitignore for temporary development files
- Enable multiple test generation per issue with proper organization
- Provide guided workflow for issue breakdown and test planning

This replaces single test generation with comprehensive workspace approach
supporting complex issues requiring multiple test scenarios.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-22 01:28:55 +02:00
189b75b3e8 chore: gitignore and repo cleanup 2025-09-16 03:04:18 +02:00