Skip to content

release: v0.8.0 — receipts + sensitivity labels + caller identity#11

Merged
smaramwbc merged 1 commit into
mainfrom
release/v0.8.0
May 14, 2026
Merged

release: v0.8.0 — receipts + sensitivity labels + caller identity#11
smaramwbc merged 1 commit into
mainfrom
release/v0.8.0

Conversation

@smaramwbc
Copy link
Copy Markdown
Owner

Aligns the SDK with statewave server v0.8.0. New surface is backwards-compatible — older servers without the receipt/policy layer return responses that parse cleanly into the new optional fields.

Added — governance & audit surface

  • `Receipt` and `ReceiptList` Pydantic models (state-assembly receipt schema from server #49).
  • `ContextBundle` gains optional `receipt_id`, `receipt_emitted` — defaults clean for older servers.
  • `Memory` gains optional `sensitivity_labels: list[str]` for the policy layer's per-memory tags.
  • `StatewaveClient.get_context()` + `AsyncStatewaveClient.get_context()` accept `emit_receipt`, `query_id`, `task_id`, `parent_receipt_id`, `caller_id`, `caller_type`.
  • New client methods on sync + async:
    • `get_receipt(receipt_id) -> Receipt`
    • `list_receipts(subject_id, since=, until=, cursor=, limit=) -> ReceiptList`
    • `set_memory_labels(memory_id, labels) -> Memory`

Companion PRs

  • statewave#82 (server 0.8.0)
  • statewave-ts#TBD (TS SDK 0.8.0)
  • statewave-docs (release notes + roadmap)
  • statewave-web (homepage + product page)

Test plan

  • 34/34 SDK tests pass locally.
  • CI green.
  • After merge: tag `v0.8.0` to trigger PyPI publish via the release workflow.

Aligns the SDK with statewave server v0.8.0. New surface is
backwards-compatible: older servers without the receipt/policy
layer return responses that parse cleanly into the new optional
fields (defaults to None/[]).

- Receipt + ReceiptList Pydantic models
- ContextBundle gains receipt_id, receipt_emitted
- Memory gains sensitivity_labels: list[str]
- get_context accepts emit_receipt, query_id, task_id,
  parent_receipt_id, caller_id, caller_type
- get_receipt(id), list_receipts(subject_id, ...),
  set_memory_labels(memory_id, labels) — new client methods on
  both sync + async clients
- CHANGELOG entry documenting the surface for `pip install statewave`
  consumers
@smaramwbc smaramwbc merged commit a4502c0 into main May 14, 2026
2 checks passed
@smaramwbc smaramwbc deleted the release/v0.8.0 branch May 14, 2026 10:35
smaramwbc added a commit that referenced this pull request May 15, 2026
Aligns the SDK with statewave server v0.8.0. New surface is
backwards-compatible: older servers without the receipt/policy
layer return responses that parse cleanly into the new optional
fields (defaults to None/[]).

- Receipt + ReceiptList Pydantic models
- ContextBundle gains receipt_id, receipt_emitted
- Memory gains sensitivity_labels: list[str]
- get_context accepts emit_receipt, query_id, task_id,
  parent_receipt_id, caller_id, caller_type
- get_receipt(id), list_receipts(subject_id, ...),
  set_memory_labels(memory_id, labels) — new client methods on
  both sync + async clients
- CHANGELOG entry documenting the surface for `pip install statewave`
  consumers
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