symfonic.services.shadow.ledger¶
ledger ¶
The effect ledger — what a shadow run tried to do, and what happened.
The ledger is the artifact a reviewer reads to believe the suppression claim.
It records attempts, not successes, because the interesting evidence is the
call that was denied: a run with an empty ledger proves nothing, and a run
whose ledger contains an APPLIED row proves the harness leaked.
EffectAttempt
dataclass
¶
EffectAttempt(seq: int, port_id: str, operation: str, request_digest: str, outcome: EffectOutcome, family: EffectFamily | None = None, externally_visible: bool = True, detail: str = '')
One attempted crossing of a framework effect port.
EffectLedger
dataclass
¶
EffectOutcome ¶
Bases: StrEnum
How a single attempted effect resolved.