Skip to content

Commit 57c2467

Browse files
chore: organize tasks - backlog is empty, parity complete
- Update start-here.md with current test suite status (63 scripts, all passing) - Mark TASK-156 (Linux CI) as LOW priority (CI-only, not blocking) - Update gap-backlog.md: backlog empty, TASK-186 pending design decision - Document TASK-186 options: align with Rust/C, keep strict, or configurable
1 parent 12bbad5 commit 57c2467

File tree

3 files changed

+56
-26
lines changed

3 files changed

+56
-26
lines changed

.tasks/triage/TASK-156-linux-ci-test-parity.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Make sure our build + test workflows run on Linux (CI + local), not only Darwin.
55

66
## Status
77
- State: triage
8-
- Priority: high
8+
- Priority: LOW (CI-only, not blocking local dev or parity work)
99

1010
## Context
1111
We have strong Darwin coverage (local dev + artifacts), but Linux can silently rot unless we exercise it regularly.

.wishes/start-here.md

Lines changed: 37 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,28 @@ If you're asking "what's left?" start here:
99
- Specs: `effect-native/.specs/`
1010
- Packages: `effect-native/packages-native/`
1111

12-
## Current Status (2025-12-22)
12+
## Current Status (2025-12-23)
1313

14-
**MVP is complete:**
14+
**Zig parity is essentially complete:**
1515
- Oracle parity: 18/18 passing
1616
- Cross-open parity: 24/24 passing
1717
- rows_impacted: 18/18 passing
1818
- ALTER tests: 6/6 passing
1919
- Cross-platform compat: ALL passing
20+
- Resurrection parity: 25/25 passing
21+
- Sentinel parity: 6/6 passing
22+
- Multinode sync: 6/6 passing
23+
- Savepoint sync: 16/16 passing
24+
- ATTACH CRR: 15/15 passing
25+
- Site ID collision: 13/13 passing
26+
- Trigger CRR: 31/31 passing
27+
- VACUUM CRR: 17/17 passing
28+
- Wide table: 13/13 passing (64-col limit fixed, now 2000)
29+
- Schema mismatch: 11/12 passing (1 intentional divergence)
2030
- Browser tests: 30/30 passing (includes sqlite-vec, FTS5, JSONB)
2131
- Mesh tests: 81/81 passing
2232
- TypeScript: clean
33+
- **Test scripts: 63 total**
2334

2435
**Scratchpad demos work:**
2536
- `bun run scratch/bun-scratchpad/index.ts` — CR-SQLite with bun:sqlite
@@ -30,28 +41,34 @@ If you're asking "what's left?" start here:
3041

3142
## Remaining Backlog
3243

33-
**8 parallelizable test tasks** ready for pickup (gap analysis 2025-12-22):
44+
### Needs Decision (1 item)
3445

35-
| Task | Test File | Priority |
36-
|------|-----------|----------|
37-
| TASK-161 | `test-resurrection-parity.sh` | HIGH |
38-
| TASK-166 | `test-sentinel-parity.sh` | HIGH |
39-
| TASK-170 | `test-fk-crr.sh` | HIGH |
40-
| TASK-172 | `test-error-handling.sh` | HIGH |
41-
| TASK-173 | `test-schema-mismatch.sh` | MEDIUM |
42-
| TASK-174 | `test-partial-sync.sh` | HIGH |
43-
| TASK-177 | `test-default-merge.sh` | HIGH |
44-
| TASK-179 | `test-multinode-sync.sh` | HIGH |
46+
| Task | Summary | Blocker |
47+
|------|---------|---------|
48+
| **TASK-186** | Schema mismatch: unknown column behavior | Design decision: error vs ignore |
4549

46-
All 8 can run simultaneously (no file conflicts).
50+
Current divergence: When source has column destination doesn't know:
51+
- Zig: ERROR (strict)
52+
- Rust/C: IGNORED (lenient)
4753

48-
Plus 8 lower-priority items in triage:
49-
- TASK-175: Savepoints, TASK-176: ATTACH, TASK-178: VACUUM
50-
- TASK-180: Site ID collision, TASK-181: crsql_sha(), TASK-182: Triggers
51-
- TASK-183: Wide tables, TASK-156: Linux CI
54+
Options:
55+
1. Align with Rust/C (ignore) — maximizes compatibility
56+
2. Keep strict (error) — catches schema drift early
57+
3. Make configurable — `crsql_config_set('ignore-unknown-columns', 1)`
5258

53-
Other:
54-
- Effect-TS scratchpad (spec-gated) — see `.wishes/blocked-on-tom/effect-bun-scratchpad.md`
59+
### Low Priority (1 item)
60+
61+
| Task | Summary | Notes |
62+
|------|---------|-------|
63+
| **TASK-156** | Linux CI parity | CI-only, not blocking local dev |
64+
65+
### Blocked on Tom (TypeScript)
66+
67+
See `.wishes/blocked-on-tom/`:
68+
- Effect-TS scratchpad (spec-gated)
69+
- Implementation-agnostic spec suite
70+
- Browser spec naming
71+
- Upstream feedback scope
5572

5673
## Rules of the game (thing-golf)
5774

research/zig-cr/92-gap-backlog.md

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 92-gap-backlog
22

3-
> Last updated: 2025-12-23 (Round 69: Fix 64-column limit bug)
3+
> Last updated: 2025-12-23 (Post-Round 69: Backlog organized, parity complete)
44
55
## Status
66

@@ -27,10 +27,23 @@
2727

2828
## Now (next parallel assignments)
2929

30-
### Backlog (ready to assign)
31-
| Task | Summary | Risk | Effort |
32-
|------|---------|------|--------|
33-
| **TASK-186** | Schema mismatch: unknown column behavior | Design decision | Low |
30+
### Backlog: Empty (all parity work complete)
31+
32+
No tasks ready to delegate. The Zig implementation has reached functional parity with the Rust/C oracle.
33+
34+
### Pending Decisions (1 item)
35+
| Task | Summary | Blocker |
36+
|------|---------|---------|
37+
| **TASK-186** | Schema mismatch: unknown column behavior | Design decision needed |
38+
39+
Current divergence (intentional, not a bug):
40+
- **Zig**: ERROR on unknown columns (strict)
41+
- **Rust/C**: IGNORE unknown columns (lenient)
42+
43+
Options:
44+
1. Align with Rust/C (ignore) — maximizes forward compatibility
45+
2. Keep strict (error) — catches schema drift early
46+
3. Make configurable — `crsql_config_set('ignore-unknown-columns', 1)`
3447

3548
### Triage Inbox (organized by priority)
3649

0 commit comments

Comments
 (0)