Compare commits

...
Author SHA1 Message Date
jarvis 6280354a51 docs(ri-050): overnight session log — merges, first gated publish evidence (#1275) 2026-08-17 23:14:45 -05:00
jarvis 81f500bd29 test(gateway): cross-user-isolation cleanup honors dbAvailable (#1275)
ci/woodpecker/pr/ci Pipeline was successful
The no-database skip path failed the file: createDb connects lazily, so
on an unreachable database 'handle' is set while nothing was inserted;
afterAll checked only 'handle' and its cleanup deletes threw
ECONNREFUSED, failing the suite despite 28/28 tests being skipped.

Caught live by the publish pipeline's verify gate (pipeline 2486,
first gated publish after #1277): the gate's no-DATABASE_URL PGlite
path runs 'pnpm test' without ci-postgres, cross-user-isolation hit
its dead-cleanup path, verify correctly failed closed and blocked all
publish steps (build/publish-npm/build-gateway skipped).

Verified both paths: DATABASE_URL=dead-port -> 28 skipped, file
PASSES (was the failure); live 5433 -> 28 passed. Sibling suites
checked: connector-lease.postgres.integration skips at describe level
(describe.skipIf) so its afterAll never runs unguarded.
2026-08-17 23:13:03 -05:00
2 changed files with 19 additions and 1 deletions
@@ -190,7 +190,13 @@ beforeEach((ctx) => {
});
afterAll(async () => {
if (!handle) return;
// Cleanup only when the fixture actually installed rows. `handle` is set
// before the first query (createDb connects lazily), so on an unreachable
// database `handle` is truthy while nothing was inserted — cleanup must
// honor `dbAvailable` or the skip path fails the file with ECONNREFUSED in
// afterAll (caught live by the publish pipeline's no-DATABASE_URL verify
// step, pipeline 2486).
if (!handle || !dbAvailable) return;
const db = handle.db;
// Delete in dependency order (FK constraints)
+12
View File
@@ -240,3 +240,15 @@ and fargo. Protocol (both seats, every handoff):
(comms/20260818T011932Z__from-jarvis__a9c02b.md). Not merging #1293/#1294 before my three
clear fargo's review — order optimality beats speed; every pre-#1277 merge publishes ungated.
- CI on the three rebased heads: pending at time of this entry.
## topher session 2026-08-18 (overnight) — CI root-cause, merges, first gated publish
- CI red root-caused (evidence in pipelines): 2470/2472 failed only on web SPA timeouts under CONCURRENT pipelines on our single CI agent (same tests 343-855ms serialized; web suite 156s concurrent vs 50s alone). Retried serialized: #1277 → 2476 GREEN, #1278 → 2477 GREEN. Earlier 2458/2459 red = transient 'pi in system path' wake-guard (gone by 2465). Woodpecker gotcha: step logs at v2-style /api/repos/47/logs/<pipeline>/<step-id> (base64 lines); v3 uuid route returns SPA HTML.
- Wave 3 dispatched (serialized after zai 429s killed the parallel launch): RI-5-001 → PR #1300 (worker head a337d787; verified web 281/281, +82 failure-matrix tests; review 179 fred). RI-3-001 → PR #1302 (probe inventory; CI green).
- MERGED (locked order): #1276 (review 176), #1277 (review 177). Both squash; pr-merge.sh cannot target next (main-only hardcode) — merged via Gitea API replicating wrapper semantics (head-pin + squash + keep branch), break-glass documented in each merge message. Wrapper gap to file upstream: integration-trunk-aware merge target.
- FIRST GATED PUBLISH (pipeline 2486, push after #1277): verify ran, FAILED CLOSED on a real latent defect, and build/publish-npm/build-gateway were all SKIPPED — first push in repo history that did not publish ungated (prior ungated publishes: 2439, 2462, and Jason's #1298 merge 2482 at 03:23Z, minutes before the gate landed). Exhibit #1 for RI-V-001.
- Gate-caught defect → PR #1304: gateway cross-user-isolation.test.ts afterAll ran cleanup on the no-DB skip path (createDb lazy → handle set, dbAvailable false → deletes threw ECONNREFUSED → file failed on verify's PGlite path). One-line fix (afterAll honors dbAvailable); verified dead-port (28 skipped, file passes) + live-5433 (28 passed). next is unpublishable until #1304 merges — reviews requested (fargo + fred, 04:13Z comms).
- zane coordination: dir-structure CLI patch confirmed NOT RI-050 scope (zane's lane); his #1298 reviewed by me at both heads (reviews 175, 178; 1567/1568, traversal-guard + hermeticity verified); Jason merged it 03:23Z. His follow-up #1301 + Jason's #1302-area activity noted — his lane, untouched.
- Open review queue: #1278 (4917df1f), #1299 (docs, merges after #1278), #1300, #1302, #1304 (urgent unblock).
— topher (recorded under the jarvis principal pending identity provisioning), 2026-08-18