saphan owner-block-discharge
An owner act that writes off R21's debt (and any open owner-block tile) on a stream with no live leg, with a recorded ground
saphan owner-block-discharge
An owner act that writes off R21's debt (and any open owner-block tile) on a stream with no live leg, with a recorded ground
Writes off a stream's unsettled R21 hits and any owner-block tile still open or interrupted, WITHOUT claiming any envelope was ever emitted — the route for a TERMINAL stream (merged, closed-without-merge) that can never again produce the return owner-block-settle needs.
--ground is required: a discharge with no ground would be a silent clear, the exact "auto-cleared gate" no feature in this product may perform (§1.1). The ground is recorded as its own fact on the settlement row, distinct from the clear itself, and it stays on the record even after the debt it discharged shows zero (order DoD #4: "discharged with a ground" must never read like "never owed anything").
Refuses BY NAME, writing nothing, in three cases: the stream carries a LIVE leg (its own return can still settle this honestly — wait for it, or use owner-block-settle); the stream carries no unsettled R21 hit and no open tile (nothing here for an owner act to write off); or --ground/--actor is empty.
saphan dry-run owner-block-discharge runs the SAME check (ownerBlockDischargeCheck, ownerblock.go — never a preview copy) and prints the run_record row and tile count that WOULD be written, then writes NOTHING either way: no run_record row, no discharge event — the stream's debt is exactly as it was. A malformed input refuses with the IDENTICAL named refusal the real write would print.
Options
| Option | Type | Default | Description |
|---|---|---|---|
--actor | string | unset | the owner discharging the debt (falls back to env SAPHAN_ACTOR, then ~/.saphan/config's identity.actor) |
--ground | string | unset | why this debt is being written off rather than settled honestly (required, no default — §1.10: the ground is a distinct fact) |