From aa14dbbc2a9ac9847b4d14df1dd16f906ec137bc Mon Sep 17 00:00:00 2001 From: Dotta Date: Mon, 26 Oct 2026 12:07:01 -0500 Subject: [PATCH] Record scoped AI listing acceptance evidence Co-Authored-By: Paperclip --- doc/plans/2026-10-13-connection-api-parity.md | 1 + maps/agent-access-map/runs-adapters.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/plans/2026-10-13-connection-api-parity.md b/doc/plans/2026-10-13-connection-api-parity.md index 7ecee3da16b..7a19f83694b 100644 --- a/doc/plans/2026-10-13-connection-api-parity.md +++ b/doc/plans/2026-10-13-connection-api-parity.md @@ -139,3 +139,4 @@ The implementation was rebased onto `a1f77821b9cd5c9c846fdf7a0fa5cc620ad2b6bb`. - The previously failing login-cleanup and free-workspace-export scheduling cases both passed in isolated local runs against dedicated PostgreSQL test databases. This does not erase their CI failures or establish their cause. - Later review found that policy-audience expansion included generic resource selectors and denied otherwise permitted narrow writes. Actual-auth regressions now cover narrow create/update/reorder/delete and denial of broader targets. Deferred Google authorization also persists the addressed user's selected scopes with the saved connection. The browser restores that request only until newer consent is saved. All **six service-picker tests passed**; the new draft and newer-pending regressions failed before the UI fix. An initial stale-consent fixture used incomplete Drive scopes and was corrected to use the shared canonical selection. - The complete acceptance suite now passes **38 scenarios** against a fresh isolated PostgreSQL database, including both new review regressions. Provider setup remains fixture evidence, not live-provider qualification. +- An outside-diff review finding exposed AI collection projections that checked only the responsible user's account access. Both returned accounts and selectable pools now pass the shared agent resource evaluator; pool checks include every member. The new actual-key/JWT regression failed before the fix and passed after it. The full acceptance suite then passed **39 scenarios** in a fresh isolated database. diff --git a/maps/agent-access-map/runs-adapters.md b/maps/agent-access-map/runs-adapters.md index 285fafde96e..d577ed56fb8 100644 --- a/maps/agent-access-map/runs-adapters.md +++ b/maps/agent-access-map/runs-adapters.md @@ -375,7 +375,7 @@ Gaps: This individual operation has source review but no recorded HTTP verificat API: `present` — `POST /api/companies/{companyId}/ai-connection-pools`; JSON REST. Agent access: `available` — agent REST and default native `search_api` / `call_api`. Policy: `tools:manage_connections`; [shared management policy](../../doc/plans/2026-10-13-connection-api-parity.md#authorization-contract). Resolved resources and every affected target are checked; personal ownership remains the responsible user. -Evidence: `verified` — [route](../../server/src/routes/ai-connections.ts); reviewed in the working tree based on the source commit above. [Authenticated fixtures](../../server/src/__tests__/connection-management.integration.test.ts) passed with database persistence and actual bearer/session middleware. +Evidence: `verified` — [route](../../server/src/routes/ai-connections.ts); reviewed in the working tree based on the source commit above. [Authenticated fixtures](../../server/src/__tests__/connection-management.integration.test.ts) passed with database persistence and actual bearer/session middleware, including account/pool filtering by agent connection scope with both persistent keys and run JWTs. Pool visibility checks every member account. Verification: `passed` — deterministic provider fixtures / local assembled server; no live provider qualification. Gaps: Provider fixtures do not qualify live provider setup or availability.