Architecture Overview¶
Jean-Michel is composed of five major layers:
Developer(s)
↓
Conversation Timeline (single persistent channel)
↓
Primary Agent (semantic interpreter)
↓
Scheduler / Orchestrator
↓
Execution Bricks (code, tests, commits, analysis, coverage, etc.)
The developer is not chatting with an LLM session. They interact with a persistent project-level entity that reads timeline intent and schedules execution.
Scheduler and Orchestration Engine¶
The scheduler:
- reads the conversation timeline
- decides whether to respond
- creates task graphs
- manages worktrees
- supervises commit production
- selectively integrates branches
Task execution may rely on a Dask-based scheduler (via Curry or equivalent), allowing:
- dependency graphs
- parallel task execution
- deterministic chaining
- post-task hooks (for example continuous analysis)
Worktree Model¶
Every feature or improvement:
- spawns a dedicated Git worktree
- creates isolated branches
- produces structured commits
- runs lint/hooks/tests
- reports status to the scheduler
No background mutation touches main directly.
Execution Bricks¶
Reusable bricks include:
- code generation
- AST mutation
- refactoring
- test writing and execution
- coverage analysis
- commit creation
- linting/pre-commit
- monitoring
Monitoring and Dashboard¶
For each branch, Jean-Michel tracks:
- diff size
- files added/deleted/modified
- commit count
- coverage delta
- structural impact
Branches are scored by cognitive load (green/orange/red) to prioritize review.