Skip to content

fix: harden settle pipeline without changing SettlementMode - #57

Merged
gitctrlx merged 1 commit into
mainfrom
fix/settle-pipeline-hardening
Aug 9, 2026
Merged

fix: harden settle pipeline without changing SettlementMode#57
gitctrlx merged 1 commit into
mainfrom
fix/settle-pipeline-hardening

Conversation

@gitctrlx

@gitctrlx gitctrlx commented Aug 9, 2026

Copy link
Copy Markdown
Member

Summary

Post–PR #56 hardening that does not change the three settlement modes
(Sequential / Concurrent / Background).

  • ResourceServer::settle_payment(..., overrides) — resolve amount
    overrides before hooks; HTTP Sequential upto uses this path only.
  • isValid: false runs on_verify_failure recovery.
  • Empty success transaction allowed (batch-settlement vouchers).
  • batch-settlement: reject deposit on request path; EOA 65-byte sig only;
    atomic memory try_charge; docs clarify request-path scope.
  • auth-capture: fail settle when receipt.status() is false.
  • MCP StillRequired { payment_required, recovery_requested }.

Code review (pre-PR)

Self-review against AGENTS.md and fund/wire correctness:

  • SettlementMode timing left intact (product decision).
  • No dual facilitator bypass for overrides.
  • No silent free-access paths on batch request path (deposit / non-EOA sig).
  • Quality: just all + just test green.

Test plan

  • just all
  • just test
  • CI on this PR

Route upto overrides through ResourceServer settle hooks, allow empty
success transactions for batch vouchers, tighten batch request-path
verification, check auth-capture receipt status, and structure MCP
StillRequired for caller recovery. Keep Sequential/Concurrent/Background.
Copilot AI lite review requested due to automatic review settings August 9, 2026 06:50

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@gitctrlx
gitctrlx merged commit 7af020f into main Aug 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants