def decode_budget
import bendvy-ecs-core@0.1.0.3/decode.bend as Decodeimport Base
import bendvy-ecs-core@0.1.0.3/decode_data.bend as D
5# decode_owner uses the one Raw returned by the closed actual-owner projection.
6# decode_budget is a trusted low-level helper taking separate Raw, fuel and owner.
7# decode_owner derives structural fuel and does not invent a Raw-to-Owner inverse.
8def decode_budget(~Owner:Type,+codec:D.Codec,raw:D.Raw,+fuel:Nat,owner:Owner) -> D.Receipt<Owner>:
9 D.normalized(~Owner,fuel,codec,D.owned(~Owner,fuel,codec,D.Owned{owner,raw}))