Repository navigation
fix(auth): enforce live source revocation across transports and recovery (#76) - #105
Merged
Merged
Conversation
…tachment/link reads
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
Contributor
Author
|
Conflict resolution complete. Current |
This was referenced Sep 28, 2026
This was referenced Sep 28, 2026
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Scope
Refs #76. This is a verified authorization increment, not automatic closure of every umbrella acceptance requirement and not production deployment.
Existing main already contains the shared shareability/ShareGrant hardening from earlier integration. The final six-file diff against main
13c562ea05d273e618b1ea06b9e452da79d4439fcontains:security/authorization.py: check Topic bans on every ancestor, rather than stopping at the nearest Topic.storage/sqlite.py(shared session implementation used by the database adapters): require a currently active Organization and matching active membership subject/org identities. Archived/missing groups and mismatched restored membership bodies cannot confer group authority. Independent valid user grants remain alternatives.docs/AUTHORIZATION_SOURCES.md: nine-source transport/CLI matrix, stale organization and constrained ShareGrant sources, protected previews, ancestor bans, attachment boundaries, concurrent revoke/read, ShareLink body-only transport and actual PostgreSQL backup/restore.ShareGrant@2 stays read-only with empty constraints; unknown stored operations/constraints fail closed. No new capability, signed CA ceiling expansion, alternative escrow implementation or production permission changes.
Exact-head verification, refreshed 2026-09-28
Head:
6924cd4bc9de784185ea75cb341d07ec5fe58ef2.Tree:
24010db7aecdf85b1303a029e431fc456121a985.Integrated base:
13c562ea05d273e618b1ea06b9e452da79d4439f.Full existing Rewrite contracts CI 36386876605: completed/success on this exact head. The workflow and shard evidence verifier are unchanged by this PR. Prior local PostgreSQL 14/Python 3.13 evidence is supplemental, not a replacement for target CI.
This audit read all six final file diffs, including both production changes and all three added test files. There are no unresolved review threads. Copilot did not complete an external review because of quota; that is not represented as an approval. No new source edits or local full-suite rerun were performed by this audit.
Merge and follow-up boundaries
Use squash merge with the expected head SHA so transient branch publication history is not added to main. Read back the resulting main commit/tree and CI state. Keep #76 open until its remaining acceptance matrix is individually reconciled; source checks and complete CI do not establish production/whole-design acceptance.
Parallel #112 must preserve this Authorizer and integrate quarantine without weakening current-source revocation. Its restored read expectations will need joint testing: the new quarantine intentionally blocks business reads, whereas these tests currently exercise authorized minimal projections of an isolated restored service. Retain both quarantine denial and underlying authorization/field-privacy evidence rather than deleting either test family or bypassing the recovery gate.
No production data, Root key, PIN, database restoration, real outbound mail or deployment was used or changed. Latest issue status and parallel ownership: #83.