test: characterize pg-erd upstream TCP reset - #24
seonghobae wants to merge 79 commits into
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (4)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. 📝 WalkthroughWalkthroughLinux 전용 통합 테스트가 pre-header upstream TCP reset을 검증합니다. 테스트는 502 응답, failover 금지, readiness 유지, 정확한 오류 메트릭, 후속 frontend 라우팅을 확인합니다. 관련 수용 기준과 기술 기준선 문서도 갱신합니다. Changes사전 헤더 TCP reset 검증
Estimated code review effort: 3 (Moderate) | ~25 minutes Sequence Diagram(s)sequenceDiagram
participant TestClient
participant Gateway
participant BackendFixture
participant MetricsEndpoint
participant FrontendFixture
TestClient->>Gateway: /api/reset 요청
Gateway->>BackendFixture: 요청 헤더 전달
BackendFixture-->>Gateway: SO_LINGER(0) TCP RST
Gateway-->>TestClient: 502 반환
Gateway->>MetricsEndpoint: 오류 메트릭 1개 기록
TestClient->>Gateway: /after-reset 요청
Gateway->>FrontendFixture: 후속 frontend 요청 전달
FrontendFixture-->>Gateway: recovered 및 200 반환
Merge Risk: ⚪ Minimal · up to This adds reset-handling coverage and aligned documentation without changing production behavior. No current merge-blocking risk remains. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Full details: Docstring CoverageExplanation Docstring coverage is 41.67% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 12 functions across 1 files. (3 skipped: 3 unsupported.)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
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 |
|
@coderabbitai review Please review exact current range |
|
Dependency-order follow-up only; no source/ref/state mutation. #22 has advanced to |
|
Dependency-order currentization only; no child source/ref/state change. Canonical #22 is now exact |
|
Dependency-order handoff only; no #24 source/ref/state change from this lane. Current #22 is |
|
Dependency-order handoff only; no #24 source/ref/state change. Current #22 is |
|
Dependency-order handoff only; source/ref/state intentionally unchanged. #22 is now exact |
|
Dependency-order handoff only; source/ref/state intentionally unchanged. #22 is now exact |
|
Dependency-order handoff (owner-safe; no #24 source/ref/state change): #22 is now exact |
|
Dependency-order currentization only; no #24 source/ref/state mutation. #22 is now exact |
|
Dependency-order handoff — parent #23 remains Draft at historical |
|
Dependency-order currentization only; no #24 source/ref/state change from the #22 writer lane. Current #22 exact is |
|
Dependency-order currentization only; no #24 source/ref/state change from this lane. #22 is now exact #24 remains historical Draft Do not bypass #23. Order remains |
|
Dependency-order currentization only; no #24 source/ref/state change from this lane. #22 is exact #24 remains historical Draft Do not bypass #23. Order remains |
|
Dependency-order currentization only; no #24 source/ref/state was changed. #22 is now |
|
Dependency-order handoff only; no #24 source/ref/state change from the #22 writer lane. Current #22 is |
|
Dependency-order handoff only; no source/ref/state change from this lane. Current #22 is Do not bypass #23. Order remains #22 exact GREEN/integration -> #23 ordinary/non-force current-parent reconciliation + exact GREEN/integration -> #24 ordinary/non-force reconciliation preserving only its established child scope. |
|
Dependency-order handoff only; no #24 source/ref/state change from this lane. Current #22 exact is |
|
Dependency-order handoff only; no #24 source/ref/state mutation from this lane. Current #22 exact is Required order remains |
|
Dependency-order handoff only; no #24 source/ref/state change from the #22 writer lane. Current #22 is |
|
Dependency-order currentization only; no #24 source/ref/state change from this lane. #22 is now exact |
|
Dependency-order handoff only; #24 source/ref/state remains untouched. Current #22 is Order remains |
|
Dependency-order handoff only; source/ref/state intentionally unchanged. Current #22 is Order remains |
|
Dependency-order handoff from the #22 owner lane: current #22 is |
|
Dependency-order handoff only; this lane is not modifying #24 source/ref/state. Current #22 is exact Preserve dependency order: |
|
Dependency-order handoff (2026-09-24): direct parent #23 remains historical Draft |
|
Dependency-order handoff only; no #24 source/ref/state mutation from the #22 writer lane. #22 is now exact |
|
Dependency-order handoff only; no #24 source/ref/state change from the #22 lane. #22 is current at |
|
Dependency-order handoff only; this dedicated Draft lane's source/ref/state is unchanged. Current #22 is |
|
Dependency-order handoff only; source/ref/state intentionally unchanged. #22 is exact |
|
Dependency-order handoff: #22 live head moved to |
|
Dependency-order handoff: #22 current exact is |
Valid migration evidence gap
This Draft carries two adjacent gateway-owned failure phases for the bounded pg-erd composition root: pre-header upstream TCP reset and the normally merged #25 post-commit reset successor. It remains test/evidence work only. It adds no product authentication/business logic, retry/failover authority, route authority, Keyverse identity, Wardnet/EgressWeave policy, certificate issuance, or consumer activation.
Historical #24/#25 GREEN remains characterization only. The valid child scope is still exactly
CHANGELOG.md,TEST_STRATEGY.md,tests/pg_erd_upstream_reset_traffic.rs,tests/pg_erd_post_commit_reset_traffic.rs, andtests/production_path.rs. Normal-success fixture teardown uses bounded SIGTERM; hard kill is retained only for failure cleanup.Current parent state — 2026-09-23
#22 is Ready and mergeable at
8c2339be287e354be66eee1cdd9826c7f329306ewith 85 valid routed/load evidence-integrity repairs. Repair 85 closes workflow/job/step working-directory authority over exact Git/Cargo/k6/summary evidence. Production Rust and traffic semantics remain unchanged.Direct parent #23 remains Draft at historical
ce022f2e4c540acf55e49d8629cbb3bf162c75d8, currently diverged ahead 33 / behind 196 versus current #22 with merge-base27cffbb38900512255880a890d516f2d3103e4cf. Its stale relation is a parent reconciliation finding, not a reason to close or bypass #23, and it remains intentionally unreconciled until #22 reaches exact-head GREEN and normal dependency-branch integration.#24 therefore remains Draft at
824b10411ba3b58c7b8a8dceb12eb69eef6ca43b. Its direct base/head relation to historical #23 remains ahead 79 / behind 0 with #23 as exact merge-base; its five established reset/production-path child files remain the only child scope. No #22/#23 current-parent evidence is claimed through transitivity.Do not restack #24 before #23 is first reconciled to the accepted #22 head, reaches its own exact-head GREEN, and normally integrates. Then reconcile #24 by ordinary/non-force parent adoption while preserving only its established five child paths and rerun formatting/compile/test/Clippy/warnings-denied rustdoc/100% owned-production coverage/load/OCI/Supply/reset/current-range review.
Parent-first order remains
#22 exact GREEN/integration -> #23 current-parent reconciliation + exact GREEN/integration -> #24 current-parent reconciliation + exact GREEN/integration. Repository-wide baseline/TRACEABILITY remains under dedicated #61 authority.No force-push, destructive rebase, self-approval, reset/timing/privacy/readiness-oracle weakening, protected-main merge, release, rollback, cutover or legacy-removal credit is claimed.