FireSettlement
Interface: FireSettlement
Defined in: src/atom/types.ts:1948
The final truth about one fire, delivered once through FireResult.whenSettled.
Properties
effectStatus
effectStatus:
"unobservable"|"performed"|"refused"
Defined in: src/atom/types.ts:1950
'pending' is excluded by construction — a final answer is never "not yet".
error?
optionalerror?:unknown
Defined in: src/atom/types.ts:1963
Why it was refused, when a handler failure caused the refusal: the thrown
error, or the returned failure's error (else the returned object
itself) — or a VerifyFailure when the action's declared verify
contract is what refused it. Absent when the app itself declared the
refusal via reject() — there is no error object there and inventing one
would be a guess.
outcome
outcome:
Settlement
Defined in: src/atom/types.ts:1952
The record's outcome at the moment it came to rest.
produced?
optionalproduced?:unknown
Defined in: src/atom/types.ts:1987
The handler's return value, sanitized (parity with Session.producedFor()).
transition
transition:
TransitionRecord
Defined in: src/atom/types.ts:1954
A snapshot — never the live record, which may keep moving afterwards.
verifyHeld?
optionalverifyHeld?:boolean|"unevaluable"
Defined in: src/atom/types.ts:1985
What the action's declared VerifyContract said, once the fire came
to rest: true it held, false it did not (and this settlement is
'refused' because of it), 'unevaluable' the check could not be run —
an unknown state key, or a predicate that threw. ABSENT when the action
declares no verify at all: silence, never a passing grade.
A THIRD axis, and deliberately not folded into either of the other two:
effectStatus asks whether anyone performed it, transition.effectVerified
asks whether the declared write KEYS appeared, and this asks whether the
app's own condition holds. All three can disagree honestly.
NAMED FOR THE DECLARATION THAT PRODUCED IT, not for the bare word
"verified" — which is the ambiguity that let two of these three axes share
one name on the wire and print opposite values in a single payload
(verified: true beside "the app was asked whether this happened, and
answered no"). A status a reader can attribute to the wrong question is a
status this library treats as unreported, so no axis here is called
verified alone: this one says which contract held, and the state axis
crosses the wire as writesObserved.