Skip to content

fix(sdk): integrate management compatibility into main - #24

Merged
jallegri merged 5 commits into
mainfrom
fix/integrate-sdk-management
Oct 30, 2026
Merged

jallegri merged 5 commits into
mainfrom
fix/integrate-sdk-management

Conversation

@jallegri

@jallegri jallegri commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Test plan

  • 345 unit tests passed on the integrated source (Python 3.11.17).
  • Eight Docker CQ/retention lifecycle cases passed across Arc v26.09.3 e83bb1e and pinned main a63f4a8, sync and async.
  • Ruff lint and format checks, mypy and git diff whitespace checks passed.
  • Confirmed current main is an ancestor and integrated files exactly match fix/sdk-transport-safety.
  • Direct integration review completed. Requested GPT-6 Astra reviewer runtime was unavailable in this session; no independent agent review is claimed.
  • All 11 GitHub CI checks passed before merge (run 40978956180).

xe-nvdk and others added 5 commits October 2, 2026 11:57
… listings

Arc's three database listing endpoints carried no authentication at all. They
now require read permission and, where the server restricts reads per
database, a grant covering the database being listed.

handle_response_error mapped both 401 and 403 onto ArcAuthenticationError, so
a caller could not tell "re-authenticate" from "this token lacks a
permission" — and 403 is not one condition either. Arc answers it for a token
with no read permission, for a token whose grants do not cover the database
asked for, for a licence-gated feature, and for its own permission data being
unreadable, distinguishing them only by message.

ArcAuthenticationError now means 401 only. Added:

- ArcPermissionError: the token does not carry the permission the endpoint
  requires.
- ArcScopedAccessError: Arc's per-database denial. The token may read, but
  not what was asked for. Carries the refused database on .database — empty
  or "*" when the call asked for every database, since Arc refuses
  databases.list() for a tenant-scoped token rather than returning a filtered
  list, matching SHOW DATABASES. A normal state, not a fault to retry.
- ArcPermissionDataUnavailableError: Arc could not load the token's grants and
  failed closed. A server-side fault that says nothing about the token, so it
  is checked before the scoped shape and never reported as one.

All subclass ArcPermissionError, which subclasses ArcAuthenticationError, so
existing except blocks that caught 403 as an authentication failure keep
working. Matching is by stable message fragment and covers both the read
middleware's wording and the handler gates', so a change to the permission
word cannot reclassify one refusal as another; an unrecognised 403 falls back
to ArcPermissionError.

Docstrings on list/get/list_measurements, sync and async, document which
exception each refusal raises.
…ility

fix(management): align retention and continuous-query contracts
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 30, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-30T00:20:38.102397Z 4267738 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@jallegri
jallegri merged commit 4654593 into main Oct 30, 2026
11 checks 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