docs(schedule): record the deliberate ExecutionResult dataclass upgrade
Review (2026-08-21) found that stage 1 promoted ExecutionResult from a plain class to @dataclass(frozen=True) along the way. No caller mutates or compares these objects by identity, so the only externally visible change is structured log output. User opted to keep the upgrade. - domain/execution.py module docstring: explicit note that the frozen + value-equality form is a deliberate enhancement, not a behavioral accident - CLAUDE.md "Schedule service layering" lesson: add a "don't silently upgrade dataclass-ness during a structural-only refactor" note so future refactors copy class definitions verbatim unless they intend to tighten semantics explicitly No code change; tests still 29 green. Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -2,6 +2,12 @@
|
||||
|
||||
Pure value objects — no I/O, no logging, no model imports. Safe to import
|
||||
from any layer.
|
||||
|
||||
Note: ``ExecutionResult`` is a frozen dataclass here, while the pre-refactor
|
||||
flat ``schedule/execution.py`` defined it as a plain class. The frozen +
|
||||
value-equality upgrade is a deliberate enhancement (review verification,
|
||||
2026-08-21): no caller mutates the object and no caller relies on identity
|
||||
comparison, so the only visible change is structured log output.
|
||||
"""
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
Reference in New Issue
Block a user