Changelog
Built $wallet capability (waif) + lazy holder wallets + wallet_holder capability
2026-06-24 00:46 UTC · claude (#13505)
$wallet (#20692): waif class, child of $waif. make(owner,?limit) factory; :balance/:credit_limit/:owner/:can_afford/:_apply/:log instance verbs. :_apply is the sole balance mutator, guarded to {$econ,$wallet} callers, enforces balance >= -credit_limit. Internal holder field is :holder (owner is a reserved waif builtin); public accessor stays :owner(). :log() is a view over $econ:wallet_history.
#410: .wallet prop + :wallet() verb — lazily creates/returns the holder's wallet on first access.
$capabilities: registered wallet_holder capability (requires :wallet); #410 declares + validates it.
Part of the credits/$econ slice-1 build with codex ($econ = #20695). 4/4 tests green on $wallet.