Skip to content

Fix ACA sandbox history reads - #167

Draft
Laveesh Rohra (larohra) wants to merge 1 commit into
feature/aca-sandboxesfrom
larohra-aca-history-endpoint-fix
Draft

Fix ACA sandbox history reads#167
Laveesh Rohra (larohra) wants to merge 1 commit into
feature/aca-sandboxesfrom
larohra-aca-history-endpoint-fix

Conversation

@larohra

Copy link
Copy Markdown
Contributor

Purpose

  • Fix ACA Sandbox GET /agents/{slug}/history silently returning an empty transcript for sessions with real history.
  • Read the existing owner-bound, pointer-selected sandbox checkpoint without creating another history file or external transcript copy.
  • Return explicit 404 session_not_found, 410 history_gone, and 503 history_unavailable outcomes while preserving the default Blob-backed in-language path.

Does this introduce a breaking change?

[ ] Yes
[x] No

Pull Request Type

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[x] Documentation content changes
[ ] Other... Please describe:

How to Test

python -m ruff check src tests
python -m mypy src
python -m pytest tests -q

Local gate: 1813 passed, 60 skipped, 82 deselected. Default ACA live smoke skips cleanly when not enabled.

What to Check

  • ACA history reuses session/current and checkpoint conversation.json; it creates no second transcript file or Blob/Table projection.
  • Owner partition and live sandbox binding are verified before file access.
  • Suspended backing resumes on read without touching idle retention.
  • First and second turns preserve canonical user/assistant ordering and latest-200 truncation.
  • Missing or corrupt retained history is explicit rather than a silent empty success.
  • The non-ACA Blob history path and four-method backend seam remain unchanged.

Other Information

  • Targets feature/aca-sandboxes; intentionally separate from PR [FRD 0008 U3] Complete ACA sandbox GA qualification #160.
  • FRD 0008 Decisions 152-163 record the approved architecture.
  • Deployed ACA proof is still pending on Linux/WSL x86_64 with a matching CPython ABI. Verifying the absence of external transcript copies additionally requires scoped authenticated storage-audit access.

Route ACA history requests through the owner-bound sandbox checkpoint while preserving the default Blob-backed path. Add typed unavailable and gone outcomes, admission metadata, lifecycle-safe reads, tests, and documentation.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 379bc68d-440b-4a8e-8264-d95e3971ecc5
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