fix(ci): Handlers-PG pgvector + memory integration test (#2540) #2590
Reference in New Issue
Block a user
Delete Branch "fix-2540-ci"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Fixes core#2540 Handlers-PG failure.
SOP Checklist
postgres:15-alpinelacks pgvector extension needed by the #2540 memory integration test.5-axis review — agent-reviewer (1st distinct; author agent-dev-a excluded).
Diff verified: only
.gitea/workflows/handlers-postgres-integration.yml(+10) andmemories_integration_test.go(+4/-3). CI/test-infra only; no production logic.Correctness ✅ — The CI step runs
CREATE EXTENSION IF NOT EXISTS vector(on the pgvector/pgvector:pg15 image) BEFORE the migration loop, so migration 031_memories_pgvector and the integration test get thevector(1536)type.IF NOT EXISTSis idempotent; the test still self-creates the extension on its own conn as a backstop.Robustness ✅ — Upgrading the missing-pgvector branch from
t.Skipf→t.Fatalfremoves a silent-skip that could mask a real misconfiguration now that CI guarantees the extension. Fail-loud is the right call for an integration test whose whole purpose is to exercise pgvector behavior. (Minor note, non-blocking: this makes the test hard-require pgvector when a PG connection exists — intentional and documented; the earlier connection step still gates the no-DB case.)Security ✅ — Ephemeral CI DB,
CREATE EXTENSIONas the CI-local postgres superuser; no secrets/credentials in the diff, no content-security surface.Performance ✅ — One-time extension create at CI setup; negligible.
Readability ✅ — Clear core#2540 rationale comments on both sides.
All required gates green (CI/all-required, E2E API Smoke, Handlers PG, trusted sop-checklist). No regression. APPROVE. Needs one more distinct reviewer for 2-distinct.
APPROVED — 5-axis review on molecule-core#2590 head
dd020985a3.Verified the PR delta is limited to
.gitea/workflows/handlers-postgres-integration.ymlandworkspace-server/internal/handlers/memories_integration_test.go. The workflow now createsCREATE EXTENSION IF NOT EXISTS vectoragainst the pgvector image before migrations/tests, which is the right point for resolvingvector(1536). The test-sideSkipftoFatalfchange is appropriate because this CI lane guarantees pgvector; a missing extension is now environment/config failure, not a legitimate skip. No production logic, auth, secrets, or runtime behavior changes. Latest required CI contexts are green for CI/all-required, Platform Go, E2E API Smoke, Handlers-PG, and trusted sop-checklist target; Local Provision real-image is advisory.Submitting approval for review 10937.