Skip to content

feat(task-store): add JPA ownership scopes for task listings - #1259

Merged
kabir merged 1 commit into
a2aproject:mainfrom
kabir:jpa-task-ownership
Nov 2, 2026
Merged

kabir merged 1 commit into
a2aproject:mainfrom
kabir:jpa-task-ownership

Conversation

@kabir

@kabir kabir commented Nov 2, 2026 •

Copy link
Copy Markdown
Collaborator

Authorized JPA task listings currently scan candidates and check them individually. This change adds optional provider capabilities so supported policies can filter both the database count and page queries directly, reducing scan and deserialization costs.

An explicitly selected JpaTaskAuthorizationProvider persists first-owner task associations and supplies ownership scopes to the JPA store. Existing providers retain the bounded fallback. The change also improves fallback handling of opaque continuation tokens and documents provider selection, schema migration, identity semantics, and cloud deployment configuration.

Coverage includes capability discovery, query filtering, fallback pagination, CDI selection, exact subject identities, and ownership races on PostgreSQL and MySQL. CI explicitly enables database tests on Linux.

Validation: mvn -B -pl server-common,extras/task-store-database-jpa -am package -DskipDockerTests=false passed (1,931 tests, zero failures or errors, six skipped), including the PostgreSQL and MySQL ownership tests.

Add optional backend-neutral authorization capabilities and an explicitly
selected JPA ownership provider. Apply matching authorization scopes to
count and page queries while preserving deny-by-default behavior and
bounded fallback checks with opaque-token recovery.

Persist exact UTF-8 subject identities as binary ownership keys and isolate
first-writer-wins insertion and confirmation transactions. Cover identity
equality and repeatable-read ownership races on PostgreSQL and MySQL, and
document schema migrations, provider selection, and cloud deployment.

Signed-off-by: Kabir Khan <kkhan@redhat.com>
@kabir
kabir force-pushed the jpa-task-ownership branch from af92bae to 125fb62 Compare November 2, 2026 16:02
@kabir
kabir merged commit e19e290 into a2aproject:main Nov 2, 2026
16 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