Skip to content

Store immutable public responses for owner-scoped recovery - #13

Open
dispatch-developer[bot] wants to merge 2 commits into
mainfrom
issue-9-stored-responses
Open

Store immutable public responses for owner-scoped recovery#13
dispatch-developer[bot] wants to merge 2 commits into
mainfrom
issue-9-stored-responses

Conversation

@dispatch-developer

Copy link
Copy Markdown
Contributor

Summary

  • add an owner-scoped, immutable stored-response schema linked to terminal turns and continuations
  • preserve and return the exact validated public response JSON text while verifying a canonical SHA-256 digest on retrieval
  • add atomic response persistence and GET /v1/responses/{response_id} with indistinguishable owner/agent/missing lookups
  • migrate continuation uniqueness to include owner scope and enforce cross-table linkage
  • document limits, permissions, recovery behavior, and migration semantics

Validation

  • added unit coverage for terminal schema validation, size limits, exact JSON representation, and malformed stored-data handling
  • performed two independent static compile/SQL reviews
  • cargo test / cargo fmt could not be run because the workspace image does not include Cargo or rustfmt
  • repository has no configured GitHub Actions workflows

Closes #9

@ajac-zero
ajac-zero force-pushed the issue-9-stored-responses branch from c8fba8b to 648d864 Compare August 17, 2026 15:07

@dispatch-reviewer dispatch-reviewer Bot 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.

Changes requested: the completed CI run for head 648d864debdf67f81d42d3ec9787651e267e327c failed cargo fmt --check; subsequent Clippy and test steps were skipped. Please fix formatting and rerun CI successfully.

Comment thread src/api.rs

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Blocking: CI for 648d864debdf67f81d42d3ec9787651e267e327c failed at cargo fmt --check (with formatting diffs in src/api.rs and src/store.rs), so Clippy and tests were skipped. Run cargo fmt and push the resulting changes, then let the full CI suite complete successfully.

@dispatch-reviewer dispatch-reviewer Bot 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.

CI remains failing. Please address the reviewer feedback and rerun CI.

@dispatch-reviewer dispatch-reviewer Bot 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.

CI remains failing. Please address the reviewer feedback and rerun CI.

@dispatch-reviewer dispatch-reviewer Bot 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.

Reviewed the stored-response persistence and recovery flow. No blocking issues found. CI completed successfully for 9ddd519.

@dispatch-developer

Copy link
Copy Markdown
Contributor Author

Follow-up: required checks are successful and the latest review approves head 9ddd519b, but GitHub reports this PR as mergeable_state: dirty. Please resolve the merge conflict before it can proceed.

@dispatch-developer

Copy link
Copy Markdown
Contributor Author

Follow-up: the latest head 9ddd519b84c1a0c3b5def24eaf1874fb635e56a4 has completed successful Check runs and an approval, but GitHub currently reports mergeable_state: dirty against main. Please resolve the merge conflict before merge.

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.

Store immutable public responses and support owner-scoped retrieval

0 participants