Skip to content

Commit 7503343

Browse files
NathanFlurryclaude
andcommitted
chore: mark US-022 complete and update progress log
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent c27a994 commit 7503343

2 files changed

Lines changed: 12 additions & 2 deletions

File tree

progress.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2741,3 +2741,13 @@ PRD: ralph/kernel-hardening (46 stories)
27412741
- Parameterized queries ($1, $2) work correctly for UPDATE and DELETE through the sandbox
27422742
- Transaction state tracking (rollback isolation, commit persistence) passes parity between host and sandbox
27432743
---
2744+
2745+
## 2026-03-19 - US-022
2746+
- Added pg-pool e2e-docker fixture for connection pooling
2747+
- Fixture tests: pool.connect() + client.query() + client.release(), pool.query() shorthand, concurrent queries via Promise.all(), pool.end() cleanup
2748+
- Files changed: packages/secure-exec/tests/e2e-docker/pg-pool/{package.json,fixture.json,src/index.js}
2749+
- **Learnings for future iterations:**
2750+
- pg.Pool works through the sandbox net bridge without any additional fixes needed — pool connection management (acquire/release) is all in user-space JS
2751+
- Concurrent queries via Promise.all through the pool work correctly — the sandbox handles multiple simultaneous TCP connections through the net bridge
2752+
- pg-pool fixture follows the exact same pattern as pg-connect (same pg version, same env vars, same error handling)
2753+
---

scripts/ralph/prd.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -393,8 +393,8 @@
393393
"Tests pass"
394394
],
395395
"priority": 22,
396-
"passes": false,
397-
"notes": "pg.Pool is how everyone uses pg in production. The current fixture only uses pg.Client. Pool acquire/release, idle timeout, and concurrent query dispatch are completely untested."
396+
"passes": true,
397+
"notes": "Completed. Fixture pg-pool tests pool.connect()+client.query()+client.release(), pool.query() shorthand, concurrent queries via Promise.all, and pool.end(). Host and sandbox produce identical output."
398398
},
399399
{
400400
"id": "US-023",

0 commit comments

Comments
 (0)