Skip to content

v0.12.0

Choose a tag to compare

@tomtom87 tomtom87 released this 29 Sep 14:04
· 170 commits to main since this release

Human pick and approve: the person at the keyboard picks the store and approves the total, through portage itself, whether they're at a terminal or an agent is relaying their answer. Under the default policy, buy --yes no longer buys without an approved quote.

  • portage-cli 0.9.0 delivers Phases 1-3 of docs/plans/human-pick-and-approve.md.
    • Offer refs. Each find offer carries an offer_ref, and each search a search_id, both saved in history. compare saves its offers the same way. portage buy --offer REF buys from a saved offer.
    • Quotes. A buy --dry-run that priced a checkout saves a quote and reports quote_id. buy --quote QUOTE_ID --yes buys exactly that quote, capped at the quoted total. If the real checkout costs more, it refuses with quote_changed and charges nothing. Each quote is used once.
    • portage pick returns needs_pick with choices[], plus a "Compare an offer across stores" choice. --choose REF relays an answer, --compare REF compares first, and at a terminal it asks on /dev/tty.
    • portage approve QUOTE_ID returns needs_approval with a summary of the order. --relayed-yes records an agent-relayed yes, and a yes typed at a terminal records person.
    • --via auto|tty|agent picks who is asked. --view REF and v N at a prompt open the product page, but only on the offer's own store host.
    • policy set --require-approval person|any|off, default any. Lowering it needs a yes typed at a terminal. It raises the bar against an agent but isn't a hard guarantee: a process with a shell can edit the policy or quote files.
    • Upgrade note. Under the default any, a buy --yes without an approved --quote dry-runs and returns needs_approval instead of buying. portage policy set --require-approval off, run from a terminal, restores the old behaviour.
  • buy plugin 0.7.1. The skill's steps 3 and 5 use portage pick and portage approve, and it names portage-cli 0.9.0 as the release that ships them. references/outcomes.md covers the new outcomes and exit codes.
  • Docs. docs/api/cli-json.md, docs/agentic-flow.md, docs/skills/buy.md, docs/cli-usage-tutorial.md and both READMEs cover pick, approve, quotes and the approval policy.

The docs-only notes in portage-ucp, portage-ucp-client and portage-ucp-webmcp stay unreleased: no code changed there.