|
1 | | -Gaps (zig/ vs research/zig-cr) |
2 | | -- Docs mismatch: zig/README.md:5 still claims partial C oracle + missing alter, but research/zig-cr/92-gap-backlog.md:7 says MVP complete and 154/154 passing. This is a real “gap” because it will mislead anyone trying to use/validate the Zig implementation. |
3 | | -- Performance hotspot items not yet done (from research/zig-cr/11-performance-hotspots.md:6 and tracked in research/zig-cr/92-gap-backlog.md:161): |
4 | | - - PRAGMA schema_version-keyed invalidation caching |
5 | | - - PRAGMA data_version amortization (per-transaction / per-query-loop flag) |
6 | | - - sqlite3_prepare_v3(...SQLITE_PREPARE_PERSISTENT...) use for long-lived statements |
7 | | -- Web multi-tab “Phase 2” items still open (called out in research/zig-cr/92-gap-backlog.md:186 and motivated by research/zig-cr/96-proposal-multitab-wasm-sqlite-crsqlite.md:10): |
8 | | - - Service Worker fallback (when SharedWorker missing) |
9 | | - - Reactive query subscriptions / notifications surface (more than “manual re-query”) |
10 | | -- Cross-platform packaging gaps (tracked in research/zig-cr/92-gap-backlog.md:214): |
11 | | - - macOS universal binary (aarch64+x86_64) |
12 | | - - Windows .dll build |
13 | | - - iOS/Android static embedding guide |
14 | | -- Big future proposals not implemented (expected): the “threadsafe-by-default / mesh” family (research/zig-cr/99-threadsafe-sqlite-proposals.md:31, research/zig-cr/100-proposal-node-multiprocess-crsqlite-mesh.md:19, research/zig-cr/101-proposal-universal-crsqlite-mt-js.md:34, research/zig-cr/102-proposal-crsqlite-global-mesh.md:5) has no corresponding implementation in zig/ yet. |
15 | | -Wishes review (.wishes/) |
16 | | -- /.wishes/spec-first-RGRTDD.md:1 asks for new “realistic” spec/tests-as-examples now that we’re green everywhere. |
17 | | -- /.wishes/stop-before-typescript.md:1 is an explicit constraint: do not race ahead on new TS work; if we feel pressure to do TS-heavy features, we should write it down and mark it blocked. |
18 | | -Tasks review (.tasks/) |
19 | | -- Only one backlog task exists: /.tasks/backlog/TASK-026-A-macos-universal-binary.md:1. |
20 | | -- It’s directionally right, but the implementation notes are currently underspecified relative to zig/build.zig’s default single zig-out/ install prefix (zig/build.zig:46). To build two mac targets without stomping outputs, the task should explicitly require separate --prefix (and likely separate cache dirs) per target before lipo. |
21 | | -Proposed next concurrent subagent assignments (do not assign yet) |
22 | | -1) macOS universal dylib (highest near-term “ship-ability”) |
23 | | - - Based on existing backlog /.tasks/backlog/TASK-026-A-macos-universal-binary.md:1 |
24 | | - - Files: zig/Makefile:1 (add make universal or similar), maybe CI workflow later |
25 | | - - Output verification: lipo -info ... + load-test with sqlite3 via nix |
26 | | -2) Performance tranche: schema/data version amortization + persistent statements |
27 | | - - Source: research/zig-cr/11-performance-hotspots.md:6, backlog research/zig-cr/92-gap-backlog.md:161 |
28 | | - - Files likely centered on zig/src/changes_vtab.zig and wherever we prepare hot statements (plus any stmt cache module) |
29 | | - - Goal: reduce prepare churn + pragma spam without changing semantics |
30 | | -3) Windows .dll build reconnaissance + minimal build target (even if not fully CI’d yet) |
31 | | - - Source: research/zig-cr/92-gap-backlog.md:215 |
32 | | - - Files: zig/build.zig:1 (target/export correctness), plus a small harness note on how to test load on Windows |
33 | | - - Outcome: either a real build artifact path or a crisp “blocked by X” statement with next steps |
34 | | -4) Docs alignment task (small but high leverage) |
35 | | - - Fix zig/README.md:5 to reflect reality and point at the real acceptance suite location (research/zig-cr/10-test-oracle.md / core/src/*.test.c) |
36 | | - - This closes the “people can’t tell what’s done” gap immediately |
37 | | -5) Spec-first “realistic scenarios” tests (non-TS) |
38 | | - - Convert /.wishes/spec-first-RGRTDD.md:8 into a small set of new harness tests under zig/harness/ that read like executable examples. |
39 | | - - Keep it Zig/shell first to respect /.wishes/stop-before-typescript.md:1. |
40 | | - - If any scenario truly demands TS (e.g. SW fallback), we write a blocked wish/task instead of implementing. |
41 | | -.tasks accuracy fixups (recommend before we start work) |
42 | | -- Update /.tasks/backlog/TASK-026-A-macos-universal-binary.md:31 to explicitly require per-target zig build with distinct --prefix outputs (so the lipo paths in the task are actually achievable), and clarify whether we expect nix cross-target builds to work on this host or if it needs a remote builder. |
| 1 | +# start-here |
| 2 | + |
| 3 | +If you’re asking “what’s left?” start here: |
| 4 | + |
| 5 | +- Canonical status + remaining gaps: `research/zig-cr/92-gap-backlog.md` |
| 6 | +- Task queue (what to run next): `.tasks/{backlog,active,done}/` |
| 7 | +- Zig implementation: `zig/` |
| 8 | +- TS specs + packages: |
| 9 | + - Specs: `effect-native/.specs/` |
| 10 | + - Packages: `effect-native/packages-native/` |
| 11 | + |
| 12 | +## Next parallel work (curated) |
| 13 | + |
| 14 | +- Web phase 2 (TS, spec-gated): |
| 15 | + - `.tasks/backlog/TASK-031-web-service-worker-fallback.md` |
| 16 | + - `.tasks/backlog/TASK-032-web-reactive-subscriptions.md` |
| 17 | +- Mobile embedding guide (docs): `.tasks/backlog/TASK-033-mobile-static-embedding-guide.md` |
| 18 | +- Upstream feedback capture (blocked): `.tasks/backlog/TASK-037-zig-sqlite-upstream-feedback-blocked.md` |
| 19 | + |
| 20 | +## Rules of the game (thing-golf) |
| 21 | + |
| 22 | +Prefer fewer, sharper “Things”: |
| 23 | +- One task card owns one named delta. |
| 24 | +- Each task card lists a tight `Files to Modify` set. |
| 25 | +- Each task card links to its parent doc/spec and the parent links back. |
0 commit comments