|
1 | 1 | # 92-gap-backlog |
2 | 2 |
|
3 | | -> Last updated: 2025-12-21 (Round 58 — TASK-144, TASK-145 complete — harness fail-fast policy) |
| 3 | +> Last updated: 2025-12-21 (Update tasks — build broken, TASK-147 in progress) |
4 | 4 |
|
5 | 5 | ## Status |
6 | 6 |
|
7 | | -- MVP: ✅ complete (154/154 tests passing) |
8 | | -- Oracle parity: ✅ **18/18 pass** (all divergences fixed) |
9 | | -- Cross-open modification compatibility: ❌ **in progress** (XO-003/XO-004/XO-006) — see `.tasks/active/TASK-147-cross-open-modification-interoperability.md` |
10 | | -- Cross-platform compat tests: ❌ **2 failures discovered** — see `.tasks/triage/TASK-148-cross-platform-compat-failures.md` |
11 | | -- Harness fail-fast policy: ✅ TASK-144, TASK-145 complete (no more silent SKIPs or "acceptable errors") |
| 7 | +- **BUILD: ❌ BROKEN** — 4 compilation errors from in-progress TASK-147/TASK-149 work |
| 8 | +- MVP: ⚠️ blocked (cannot verify — build broken) |
| 9 | +- Oracle parity: ⚠️ blocked (cannot verify — build broken) |
| 10 | +- Cross-open modification compatibility: ❌ **in progress** — `.tasks/active/TASK-147-cross-open-modification-interoperability.md` |
| 11 | +- Cross-platform compat tests: ❌ **2 failures discovered** — `.tasks/triage/TASK-148-cross-platform-compat-failures.md` |
12 | 12 | - Zig implementation: `zig/` |
13 | 13 | - Canonical task queue: `.tasks/{backlog,active,done}/` |
14 | 14 |
|
| 15 | +## ⚠️ CRITICAL: Build Broken |
| 16 | + |
| 17 | +The codebase does not compile. `make -C zig test-parity` fails with 4 errors: |
| 18 | + |
| 19 | +1. `src/changes_vtab.zig:1707` — unused local constant `base_rowid` |
| 20 | +2. `src/changes_vtab.zig:1539` — `TableMergeStmts.init()` returns struct, not error union (bad `catch`) |
| 21 | +3. `src/changes_vtab.zig:1721` — `?[*]const u8` passed where `[*]const u8` expected (missing unwrap) |
| 22 | +4. `src/merge_insert.zig:89` — `api.clear_bindings` doesn't exist (no such function) |
| 23 | + |
| 24 | +**Root cause**: TASK-149 was marked "done" but left incomplete code. Must fix compilation errors before any testing. |
| 25 | + |
15 | 26 | ## Now (next parallel assignments) |
16 | 27 |
|
17 | | -All oracle parity tests pass. Zig implementation is wire-compatible with the Rust/C oracle for sync/wire format and read-only cross-open. |
| 28 | +**BLOCKED** — Cannot assign work until build is fixed. |
| 29 | + |
| 30 | +Priority order after build fix: |
| 31 | +1. Fix compilation errors (unassigned — needs new task or reopen TASK-149) |
| 32 | +2. Continue TASK-147 decomposition (TASK-150, 151, 152 in triage) |
| 33 | +3. Run parity tests to verify state |
| 34 | + |
| 35 | +## Triage Inbox Status |
| 36 | + |
| 37 | +| Task ID | Summary | Valid? | Notes | |
| 38 | +|---------|---------|--------|-------| |
| 39 | +| TASK-146 | Fail-fast/loud harness policy | ✅ Valid | Policy task, not blocked | |
| 40 | +| TASK-148 (compat) | Cross-platform compat failures | ✅ Valid | Real bugs | |
| 41 | +| TASK-148 (linux) | Linux CI parity | ⚠️ Duplicate ID | Rename to TASK-156 | |
| 42 | +| TASK-150 | Eliminate base_rowid from base ops | ✅ Valid | Part of TASK-147 | |
| 43 | +| TASK-151 | Update cached statements | ✅ Valid | Part of TASK-147 | |
| 44 | +| TASK-152 | Tombstone handling updates | ✅ Valid | Part of TASK-147 | |
| 45 | +| TASK-153 | Sweep old schema references | ✅ Valid | Cleanup after main work | |
| 46 | +| TASK-154 | Fix sync parity test failures | ✅ Valid | Blocked on 150/151/152 | |
| 47 | +| TASK-155 | Review insertIntoBaseTable | ✅ Valid | Part of sync path | |
18 | 48 |
|
19 | | -Remaining compatibility gaps: |
20 | | -- **Cross-open modification** (DB created by Zig modified by Rust/C, or vice versa) — `.tasks/active/TASK-147-cross-open-modification-interoperability.md` |
21 | | -- **Cross-platform compat failures** (resurrection + text newlines) — `.tasks/triage/TASK-148-cross-platform-compat-failures.md` |
| 49 | +**Issue**: Two different tasks share TASK-148 ID. Need to rename one. |
22 | 50 |
|
23 | 51 | ### Hypothesis Invalidation (Done) |
24 | 52 | - [x] **TASK-127** — Experimentally invalidate "full parity" hypothesis via fuzzing ✓ `.tasks/done/TASK-127-experimental-parity-invalidation.md` |
|
0 commit comments