You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- TASK-051: Fixed schema cache invalidation in changes_vtab.zig
Root cause: getSchemaVersion() returned stale cached value
Fix: Call checkSchemaVersion() before cache validity check
Result: 52/52 parity tests passing
- TASK-052: Browser test failures were port conflict (not code bug)
Result: 18/18 browser tests passing
New backlog tasks created (blocked on Tom):
- TASK-053/054: Browser runtime specs (Phase 1/2)
- TASK-055/056: Tom decision tasks for scope/naming
1.**TASK-051 (Zig rowid slab)**: The `crsql_changes` virtual table's schema-version keyed cache was not being properly invalidated when new CRR tables were created. In `changesFilter()`, `getSchemaVersion()` returned the **cached** schema version without checking if SQLite's `PRAGMA schema_version` had changed. Fix: Added call to `cache.checkSchemaVersion()` before checking cache validity.
318
+
319
+
2.**TASK-052 (Browser tests)**: All 18 failures were caused by **port conflict** (Python process on port 3456), not code bugs. The `serve` package silently picked a different port, while Playwright expected 3456. After freeing the port, all tests pass.
320
+
321
+
**Reproduction steps (clean checkout)**
322
+
1.`git clone <repo> && cd cr-sqlite`
323
+
2.`make -C zig test-parity`
324
+
3. Ensure port 3456 is free: `lsof -i :3456`
325
+
4.`make -C zig test-browser`
326
+
327
+
**Known gaps / unverified claims**
328
+
- TypeScript packages have type errors (visible in project diagnostics) — these are pre-existing from Round 32, not introduced by this round
329
+
- No coverage captured
330
+
- Commit not yet created (will be done after handoff update)
- Gap backlog: `research/zig-cr/92-gap-backlog.md`
23
+
24
+
## Description
25
+
Create Phase 1 spec instructions for the browser multi-tab runtime so that Phase 2 requirements can be written and TS implementation can become unblocked.
26
+
27
+
This task produces only `instructions.md` (Phase 1) in a new spec directory under `effect-native/.specs/`.
-`effect-native/.specs/README.md` (add cross-link, if applicable)
32
+
-`research/zig-cr/92-gap-backlog.md` (link to spec)
33
+
34
+
## Acceptance Criteria
35
+
-[ ] New Phase 1 spec exists with:
36
+
- Context
37
+
- User Story
38
+
- High-Level Goals
39
+
- Out of Scope
40
+
-[ ] The spec explicitly references the constraints from `research/zig-cr/96-proposal-multitab-wasm-sqlite-crsqlite.md`:
41
+
- SharedWorker preferred, Service Worker fallback
42
+
- No COOP/COEP requirement
43
+
- Provider-tab dedicated worker owns OPFS
44
+
-[ ] The spec calls out the minimal “notification/subscription” goal (db_version advanced events) needed by `.tasks/backlog/TASK-032-web-reactive-subscriptions.md`.
45
+
46
+
## Progress Log
47
+
### 2025-12-15
48
+
- Task created to unblock Phase 2 browser requirements.
Before writing browser runtime specs, we need a crisp naming + boundary decision so we don’t create the wrong package(s) and then fight the repo structure.
0 commit comments