Repository navigation
RATB-01 rag_api CI hygiene: httpx pin (pip ResolutionImpossible), fail-closed CI env, stale async_pg_vector asserts @ 2dde436 — for Demian (DRAFT, merge before #14) - #15
Closed
Wolbrom1 wants to merge 1 commit into
Conversation
…x pin, fail-closed env, stale async_pg_vector asserts) - test_requirements.txt: bump httpx 0.27.0 -> 0.28.1. The 0.27.0 pin is unsatisfiable against google-genai (pulled by langchain-google-genai==4.2.0, which requires httpx>=0.28.1) -> `pip install -r requirements.txt -r test_requirements.txt` fails with ResolutionImpossible on origin/main. The bump is the minimum that resolves for both requirements.txt and requirements.lite.txt. - .github/workflows/ci.yml: run tests under EMBEDDINGS_PROVIDER=bedrock (the production provider; client built offline from dummy AWS creds) with a JWT_SECRET present, instead of relying on OPENAI_API_KEY + the openai default. Valid whether the tree treats these as optional (current main) or required (fail-closed identity work landing separately). - tests/services/test_async_pg_vector.py: update two stale mock assertions to the current AsyncPgVector signature, which forwards user_id/document_origin_type/subscription_id kwargs to the sync super() methods (get_filtered_ids, _delete_multiple). These two assertions fail on origin/main today; the update makes them pass. Disjoint from the rag_api identity/entitlement writer increments; no app/ source changed. Does not make the full suite green on origin/main by itself (pre-existing test_main cache_clear errors remain, fixed by the writer increment). Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Wolbrom1
pushed a commit
that referenced
this pull request
Sep 12, 2026
…lement #14 — single combined rag_api candidate Additive merge commit composing the two independently-reviewed, disjoint rag_api branches so the repo's GitHub checks run on the actual composition: - #14 agent/kspt-01-rag-fail-closed-entitlement @ 3ed6e9f (fail-closed identity + tid/ent/act entitlement + approved-provider allow-list) — unchanged. - #15 agent/ratb-01-ci-test-hygiene @ 2dde436 (ci.yml Bedrock/JWT env, httpx 0.28.1 pin, stale async_pg_vector asserts) — 3 files, disjoint, unchanged. NOT a merge into main. Preserves both reviewed histories. Local Linux composed result (RATB-01 evidence): 214 passed / 3 skipped / 0 failed / 0 errors (217 collected). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Author
|
Closing as fully contained in Diffing this head (
So there is no delta left to re-offer and no fresh CI read worth taking. Branch untouched. |
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.
Lane RAG-API-TENANT-BOUNDARY-01 (RATB-01). Draft for Demian. Do not merge without reading "Merge order".
User outcome
The rag_api CI test job becomes installable and truthful again. Today
pip install -r requirements.txt -r test_requirements.txtcannot resolve (httpx==0.27.0vslangchain-google-genai==4.2.0→google-genaineedshttpx>=0.28.1, pipResolutionImpossible), and twotests/services/test_async_pg_vector.pyassertions are stale against the currentAsyncPgVectorforwarding signature. This PR fixes both and sets the CI env so the suite runs under the production embeddings provider (Bedrock, offline dummy AWS creds) with aJWT_SECRET, which is also what the fail-closed identity increment in #14 needs to stay green. Noapp/source is changed. This PR claims no security or tenant-isolation change.Exact head
2dde4365a6702c85d1f76988175db72d1e05f442onagent/ratb-01-ci-test-hygiene102b377(origin/mainat push time).github/workflows/ci.yml,test_requirements.txt,tests/services/test_async_pg_vector.pyTest results (Docker
python:3.12-slim, env = this PR's ci.yml values; fresh independent review re-ran all of it)origin/main102b377 baselinee11a021(round-2, scratch,--no-commit, aborted)ResolutionImpossibleat 102b377; resolves at this head for bothrequirements.txtandrequirements.lite.txt(httpx 0.28.1, starlette 0.46.2, fastapi 0.115.12; no other pin changed).subscription_idforwarding) turns the test red again, so the guard is real.tests/test_main.py:35cache_clearon a non-cached function), identical at baseline, not masked here, and fixed by [SUPERSEDED-BY-TOP #20] KSPT-01 rag_api COMBINED candidate @ 96f261d: fail-closed identity + tid/ent/act entitlement + approved-provider allow-list + RATB-01 #15 CI hygiene — for Demian (DRAFT; composed CI green; deploy AFTER Core #286) #14. Withpytest --maxfail=1this PR alone does not make the job green onmain; [SUPERSEDED-BY-TOP #20] KSPT-01 rag_api COMBINED candidate @ 96f261d: fail-closed identity + tid/ent/act entitlement + approved-provider allow-list + RATB-01 #15 CI hygiene — for Demian (DRAFT; composed CI green; deploy AFTER Core #286) #14 completes that.Recovery re-verification (2026-09-12, account-change resume — RATB-01 owner)
Fresh fetch: this PR is unchanged at
2dde436; baseorigin/mainis still102b377; not merged. Standalone CI (run 34667359538) is still red by construction on the pre-existingtest_maincache_clear error that #14 fixes — no new failure.The composed row above was measured against the superseded round-2 #14 head
e11a021. Re-verified at the current #14 head3ed6e9f(round-3, adds the approved-provider allow-list): the full suite on the Linux ci.yml image (python:3.12/ratb-rag-test,JWT_SECRET=test_key,EMBEDDINGS_PROVIDER=bedrock, dummy AWS creds; commandpytest --disable-warnings -qfor full counts) = 214 passed · 3 skipped · 0 failed · 0 errors (217 collected). Both mutually-blocking tests are green:test_async_pg_vector7 passed (this PR's fix),test_main10 passed (#14'sget_cached_query_embeddinglru_cache). Merge of this PR onto3ed6e9fis clean (only these 3 files change). The 3 skips are allmsoffcrypto not installed(optionalxlsxloader cases intests/utils/test_lazy_load.py), environmental and identical on CI. With--maxfail=1and zero failures the job runs to completion ⇒ composed CI green on Linux (ubuntu-latest). (On a Windows runner, 2test_path_validationsymlink tests need privilege —WinError 1314— and 6 more tests skip; both are Windows-only and pass/skip on Linux CI, so the 217-item set is fully accounted for. This local Linux result is authoritative and supersedes any Windows-run inference.)Composition owner: producing a combined green remote check is owned by the KSPT-01 lane (owner of #14 + Core LibreChat-AI#286). It has now done so: #14's head advanced to a single combined candidate
96f261d("Merge RATB-01 CI hygiene #15 (2dde436) into KSPT-01 #14"), which contains this PR's exact 3 files as its only delta over3ed6e9f; its real remote CI is running. This support PR stays stable at2dde436; whether it merges separately (order below) or is carried by the combined candidate is KSPT-01/Demian's merge-strategy call. This lane opens no parallel integration branch and changes #15 only if the composition exposes a support-scope defect.Conflicts
git merge-tree --write-treeis clean againstorigin/main(102b377) and against #14 head (e11a021at push time; re-confirmed clean against the current3ed6e9f). #14 lists the two async_pg_vector failures as pre-existing; whichever of the two merges second is unaffected.Merge order
maintoday, independent).agent/kspt-01-rag-jwt-entitlement-claims, Core 🔒 chore: bump python-dotenv to 1.2.2 to patch Dependabot alert LibreChat-AI/rag-api#286) before [SUPERSEDED-BY-TOP #20] KSPT-01 rag_api COMBINED candidate @ 96f261d: fail-closed identity + tid/ent/act entitlement + approved-provider allow-list + RATB-01 #15 CI hygiene — for Demian (DRAFT; composed CI green; deploy AFTER Core #286) #14.Migrations / configuration
deploy/task-def.jsonchange.JWT_SECRET=test_key,EMBEDDINGS_PROVIDER=bedrock, dummyAWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY/AWS_DEFAULT_REGION;OPENAI_API_KEYremoved from the job.deploy/task-def.jsonrev 17 carries noJWT_SECRETin env or secrets, so the fail-closed image refuses to start / returns 500 on every Core call until it is provisioned as an ECS secret with the same value Core signs with; live task revision UNKNOWN. Rows embedded in the fail-open era withoutentity_idcarrycmetadata.user_id="public"and become unreachable under any owner/entitlement filter; a read-only classification query is in the lane's reconciliation delta (C:/fswt/ratb-work/RATB-01-RECONCILIATION-DELTA.md§3c). [SUPERSEDED-BY-TOP #20] KSPT-01 rag_api COMBINED candidate @ 96f261d: fail-closed identity + tid/ent/act entitlement + approved-provider allow-list + RATB-01 #15 CI hygiene — for Demian (DRAFT; composed CI green; deploy AFTER Core #286) #14 fails closed on a missing provider but still accepts an explicitly setopenai; the approved-provider allow-list from the superseded RATB-01 branch (localagent/rag-api-tenant-boundary-01@ 5d9fe48, never pushed) has since been folded into [SUPERSEDED-BY-TOP #20] KSPT-01 rag_api COMBINED candidate @ 96f261d: fail-closed identity + tid/ent/act entitlement + approved-provider allow-list + RATB-01 #15 CI hygiene — for Demian (DRAFT; composed CI green; deploy AFTER Core #286) #14 at3ed6e9f(RAG_APPROVED_EMBEDDINGS_PROVIDERS, default bedrock).Rollback
Revert the single commit
2dde436. Reverting re-breaks pip resolution for the CI job (pre-existing state), nothing else.Unproven live checks / CI result
CI run 34667359538 on this head: Install dependencies step SUCCEEDED (pip resolution proven on GitHub, was
ResolutionImpossiblebefore the httpx pin); test step FAILED as disclosed above:54 passed, 1 error, stopped by--maxfail=1at the pre-existingtests/test_main.py::test_get_all_idssetup error (AttributeError: function object has no attribute cache_clear, identical to origin/main). No new failure. #14 fixes that defect; merged with #14 the suite is 214 passed / 0 errors locally on Linux at the current heads. GitHub CI runs each PR standalone, so there is no combined green check here by construction; the combined result is proven locally (see "Recovery re-verification"). Nothing else is live-testable for a CI-only change.Ladder: IMPLEMENTED YES · TEST-PROVEN YES (local Docker + fresh review; composed re-verified at current heads) · PUSHED YES · MERGED NO · DEPLOYED NO · LIVE-VERIFIED NO.
Disposition update (2026-09-12) — folded into the single combined rag_api candidate
KSPT-01 (owner of the rag_api composition) integrated this branch's 3 reviewed files into #14 via an additive merge commit
96f261d(now PR #14's head; both reviewed histories preserved). PR #14 is therefore the single combined rag_api release candidate, and the GitHubbuild-and-testcheck on the actual composition is green — run 34695621428: 208 passed · 9 skipped · 0 failed (ubuntu-latest). This PR stays open as the reviewed provenance for the 3 files. Demian: merge the combined PR #14 (after Core LibreChat-AI#286 deploys); you do not need to merge this PR separately — its changes are already in #14. Merging this PR tomainfirst is harmless (greensmain's CI early) and duplicates no work.🤖 Generated with Claude Code