Add state-machine guard clauses to AnalysisJob transition methods (mark_running, mark_completed, mark_failed, update_progress) to prevent invalid status transitions. Make all domain value objects immutable with frozen=True. Add 11 tests covering guard clause behavior. Closes #132, closes #133 |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| models.py | ||
| ports.py | ||
| value_objects.py | ||