mirror of
https://github.com/vitorpamplona/amethyst.git
synced 2026-08-10 16:33:27 +00:00
Brings amy's CLINK surface closer to the app's: - profile edit --clink-offer <noffer|"">: set/clear the kind-0 clink_offer (validated as a real noffer; "" clears). MetadataEvent already carried the field. - offer request --follow: chase an 'Expired or Moved' (code 3) reply to its 'latest' pointer (bounded hops), mirroring the app; the error output now also carries code/latest/range so a script can follow or correct manually. - offer pay <noffer> --with <ndebit> [--amount]: end-to-end — fetch the invoice (21001) and settle it through a debit pointer (21002), reusing DebitCommands.settle. - Structured GFY detail (code, range, retry_after, delta) in debit/offer errors, via a new Output.error(extra=) overload. Adds local-validation cases to the headless harness (offer pay --with, profile edit --clink-offer); 15/15 pass. https://claude.ai/code/session_01NM2TyJtosLdY5ycjyabSRS