saphan owner-block-settle
Land a well-formed owner-block-v1 envelope into the record with no spawn, settling R21's debt
saphan owner-block-settle
Land a well-formed owner-block-v1 envelope into the record with no spawn, settling R21's debt
Reads a fenced owner-block-v1 envelope from --file (the same shape a return's head text carries — the fence itself, optionally with prose around it) and validates it with the SAME validator the return-capture chokepoint uses (internal/runner.OwnerBlockSettleNote → checkOwnerBlockEnvelope — one validator, two callers, never two copies).
A well-formed envelope writes ONE run_record row on <stream> whose
enforcement note carries the exact fragment OwnerBlockDebtFrom already
reads — R21 admits the stream's next dispatch afterward. A malformed
envelope, or a file with no owner-block-v1 fence at all, writes NOTHING and
refuses BY NAME: no run_record row, no partial settlement, no schema change.
saphan dry-run owner-block-settle runs the SAME validator (never a preview copy) and prints the run_record row that WOULD be written, then writes NOTHING either way: no run_record row — 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 master settling the debt (falls back to env SAPHAN_ACTOR, then ~/.saphan/config's identity.actor) |
--file | string | unset | path to a file whose contents carry the owner-block-v1 fence (required, no default) |