fix(test): install Starlette TestClient dependency - #1565
seonghobae wants to merge 3 commits into
Conversation
Assisted-by: OpenAI Codex Signed-off-by: Seongho Bae <me@seonghobae.me>
|
Warning Review limit reachedNext included review available in 19 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Team Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (7)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Include the new direct httpx2 pin in the SHA-256 digest contract instead of checking only record presence. Assisted-by: OpenAI Codex Signed-off-by: Seongho Bae <me@seonghobae.me>
|
Current-head review found that the dependency test proved only manifest/hash presence, not Starlette runtime selection. Exact head |
|
Exact head |
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. |
Non-force merge of PR #1565 into migration owner #1503. Exact synchronization exposed the undeclared TestClient dependency previously masked by an extra local package. Preserve both complete deltas and use #1565 as the direct prerequisite, superseding the historical #1502-before-#1503 proposal without closing either lane. Verified merged tree 793aadd with fresh and repeat Alembic upgrade to 0019_email_read_state_repair, 75 strict PostgreSQL/dependency tests, Ruff, and diff checks. Consumer propagation and hosted gates remain unverified. Co-Authored-By: Codex <noreply@openai.com> Signed-off-by: Seongho Bae <me@seonghobae.me>
Preserve historical receipts while recording the real fresh-install failure, supplemented environment defect, and verified non-force #1565 to #1503 owner integration. Retain remaining consumer propagation, Alembic head merge, and conflicting import acceptance work as Proposed. Narrow the earlier redirect-safety claim to observed configuration evidence. Verification: source-linked logs and artifact hashes, 224 provenance tests, clean-lock owner fresh/repeat migrations and 75 strict tests, diff checks, and independent read-only evidence review. No protected merge or release claim. Co-Authored-By: Codex <noreply@openai.com> Signed-off-by: Seongho Bae <me@seonghobae.me>
Normally merge full migration prerequisite #1503 at 19d5860, including #1565; preserve #1562/#1531/#1554 history and current #1531 base. Record decision and original missing-emails/skip failures in doctoring before commit. No delta discarded, no copied central workflow, no gate bypass. Add hardened task-only DB lifecycle, isolated bootstrap/child settings, actual pytest collection/xfail guard, cancellation-safe scoped cleanup and redacted artifacts. Full candidate: 1871 passed and 2 explicitly unconfigured live API skips. Independent signal tests passed. Revalidate this exact committed head before protected integration.
|
Fresh exact-head gate RCA for
Keep Draft. Do not create a no-op commit, suppress the CodeQL gate, or transfer predecessor evidence. |
Non-force merge of canonical migration owner #1503 into stacked-PR CI owner #1587. Preserve #1503/#1565 migration and TestClient prerequisites while retaining #1587's eight CI/governance deltas unchanged. This removes the known fresh-schema `emails` migration defect from the CI lane by inheritance rather than copying product-schema code. Current hosted evidence must be regenerated on this exact integrated head; no predecessor GREEN or approval is transferred.
Problem
Protected
develop@042b0c70531b229af3acbd0421a2f23098d848b3pins Starlette 1.3.1, but the repository development/direct-test environment did not installhttpx2. Starlette therefore fell back to deprecatedhttpx, and warnings-as-errors could stopTestClientcollection. Suppressing that warning hid a dependency/runtime defect.Current exact authority
develop@042b0c70531b229af3acbd0421a2f23098d848b352dfc863d1a5d6e4e80b6366f719dd09f2aa6172CHANGELOG.md,backend/pyproject.toml,backend/pytest.ini,backend/requirements-hashes.txt,backend/requirements.txt,backend/tests/test_container_dependency_pin_contract.py,backend/uv.lock,docs/doctoring/starlette-httpx2-testclient-dependency.mdThe PR had drifted back to Ready even though its own authority required Draft. That lifecycle drift has been repaired without changing the product head.
Decision and preserved contract
httpx2==2.5.0in the repository development/direct-test manifests;httpx2,httpcore2, andtruststore;httpx2, rather than treating manifest presence as execution evidence;httpx2TestClient contract while regenerating its combined lock/hash graph.The doctoring record preserves PyPI/trusted-publishing provenance, exact wheel digest evidence, rollback boundary, and APA 7 references. Earlier local focused passes remain development evidence only and do not transfer as protected merge evidence.
Fresh hosted evidence
For unchanged head
52dfc863d1a5d6e4e80b6366f719dd09f2aa6172, Application CI33942903892, Security Scan33942904025, SAST Semgrep33942903923, and Bandit33942903937are terminal-success. CodeQL PR33942903900is terminal-failure because all three compatibility-analysis jobs (actions,javascript-typescript,python) fail at theRelease runner or enforce current-head CodeQL verdictstep after the dispatch request succeeds; the language-detection job itself succeeds. Docker run33942904099remains queued. The current formal review inventory and review-thread inventory are both empty, so no qualifying post-last-push independent approval exists.The CodeQL compatibility result is a fail-closed gate. Do not reinterpret it as source GREEN or bypass it. Do not churn this source merely to manufacture queue activity; queued Docker evidence is a wait state, while any current-head CodeQL dispatch/verdict control-plane defect belongs to its canonical workflow owner.
Merge boundary
Keep Draft until this unchanged exact head has every then-live repository/organization required check terminal-success, every valid current-head finding/thread resolved, and a qualifying independent post-last-push approval under the effective protected-branch rules. Pending, queued, cancelled, skipped-required, absent, stale, predecessor, status-only, author-side, and model-only evidence is non-passing. No predecessor-evidence transfer, self-approval, admin bypass, force-push, destructive rebase, dummy/no-op requeue commit, warning-suppression restoration, or gate weakening.