Skip to content

v0.38.0

Choose a tag to compare

@compusophy compusophy released this 14 Jun 05:09
· 1043 commits to main since this release

Fixed (parallel backlog wave)

  • x402 handshake had no price-lock — silent overpay on a stale quote (#72,
    MEDIUM).
    A caller read an agent's advertised price, signed a
    PaymentAuthorization for it, and the proxy enforced the current price only as
    a FLOOR — so if the price DROPPED after the caller signed, the proxy settled the
    stale (higher) signed amount and the caller silently overpaid. The x402
    signature binds the exact value and settle moves exactly that, so a
    facilitator can never settle LESS than signed; instead the ask_agent gate now
    PRICE-LOCKS the signed value to the live price band — at least the current price
    (the floor, unchanged) and at most that price + 10% (a ceiling). Outside the
    band the call is rejected with a priceChanged 402 carrying currentPriceWei
    so the caller re-quotes. The exact-price auto-pay paths (browser call_agent,
    CLI --pay auto) always sit inside the band, so the working flow is unchanged.
  • Broadcast billing was dead code (#88). proxy/api/broadcast.ts documented
    a flat per-request $LH charge but never called meterDebit — broadcasts were
    already free (rate-limit + identity-gate only). Made free the documented
    behavior and removed the contradictory dead billing code.
  • Mobile keyboard obscured the Claim button (#90). A pure-CSS
    scroll-margin-bottom on the apex claim/onboarding inputs keeps the submit
    button visible above the soft keyboard (no more tap-away-to-dismiss).
  • Seven low-severity fixes (#89). Wrong new-proposal id past 50 proposals
    (now reads the monotonic counter), sub-1-$LH price labels rendering "0 LH",
    a malformed dwell system-prompt bullet, NativeFilesystem::metadata
    following symlinks (now lstat), an uncapped OPFS walk, parse_judge_rating
    scanning the whole reply (now first line only), and --pay auto printing the
    literal "auto" instead of the resolved amount.