Skip to content

feat: state-assembly receipts (#49)#7

Merged
smaramwbc merged 2 commits into
mainfrom
feat/state-assembly-receipts
May 13, 2026
Merged

feat: state-assembly receipts (#49)#7
smaramwbc merged 2 commits into
mainfrom
feat/state-assembly-receipts

Conversation

@smaramwbc
Copy link
Copy Markdown
Owner

@smaramwbc smaramwbc commented May 12, 2026

Tracks smaramwbc/statewave#49.

Summary

  • ContextBundle gains optional receipt_id + receipt_emitted.
  • get_context() accepts emit_receipt, query_id, task_id, parent_receipt_id.
  • New Receipt + ReceiptList Pydantic models re-exported from the package root.
  • New client methods on both sync + async clients: get_receipt(id), list_receipts(subject_id, ...).

Companion to smaramwbc/statewave PR for #49.

Test plan

  • tests/test_models.py — new tests cover ContextBundle parse with/without receipt fields, Receipt minimal parse, ReceiptList empty parse.
  • 34/34 tests pass locally.

smaramwbc and others added 2 commits May 12, 2026 19:33
ContextBundle gains receipt_id + receipt_emitted; get_context() accepts
emit_receipt, query_id, task_id, parent_receipt_id. Two new client
methods round out the surface — get_receipt() for point lookup and
list_receipts() for the cursor-paginated audit list. Both sync and
async clients carry the parallel API.

Receipt and ReceiptList re-exported from the package root so callers
can type-annotate against them without reaching into statewave.models.
@smaramwbc smaramwbc merged commit 535c52c into main May 13, 2026
2 checks passed
@smaramwbc smaramwbc deleted the feat/state-assembly-receipts branch May 13, 2026 20:14
smaramwbc added a commit that referenced this pull request May 15, 2026
ContextBundle gains receipt_id + receipt_emitted; get_context() accepts
emit_receipt, query_id, task_id, parent_receipt_id. Two new client
methods round out the surface — get_receipt() for point lookup and
list_receipts() for the cursor-paginated audit list. Both sync and
async clients carry the parallel API.

Receipt and ReceiptList re-exported from the package root so callers
can type-annotate against them without reaching into statewave.models.
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.

1 participant