Skip to content

Commit 255963e

Browse files
not done
1 parent 08d3160 commit 255963e

File tree

4 files changed

+50
-13
lines changed

4 files changed

+50
-13
lines changed

.tasks/active/TASK-147-cross-open-modification-interoperability.md

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,12 @@ Unify on the Rust/C trigger schema and semantics:
7272
- ✅ Cross-open tests: 24/24 PASSING (direct table modifications work)
7373
- ❌ Sync operations: FAILING (need merge_insert.zig refactoring)
7474
- Created 7 triage tasks (TASK-149 through TASK-155) for remaining work
75-
- 2025-12-21: **Next**: Delegate TASK-149 (refactor insertIntoPksTableAndGetPk) to unblock sync INSERT path
75+
- 2025-12-21: TASK-149 marked "done" but left build broken with 4 compilation errors
76+
- 2025-12-21: **BUILD IS BROKEN** — Must fix before any testing:
77+
1. `changes_vtab.zig:1707` — unused `base_rowid` variable
78+
2. `changes_vtab.zig:1539``TableMergeStmts.init()` doesn't return error (bad `catch`)
79+
3. `changes_vtab.zig:1721` — optional pointer not unwrapped
80+
4. `merge_insert.zig:89``api.clear_bindings` doesn't exist
7681

7782
## Implementation Notes (from failed attempt)
7883
The first approach tried to:

.tasks/done/TASK-149-refactor-insertIntoPksTableAndGetPk.md renamed to .tasks/active/TASK-149-refactor-insertIntoPksTableAndGetPk.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,13 @@
44
Adapt `insertIntoPksTableAndGetPk` and related pks table insert functions to work with the new Rust/C-compatible schema where PK column values are stored directly instead of as a packed blob.
55

66
## Status
7-
- State: done
7+
- State: **REOPENED** — marked done prematurely, left build broken
88
- Priority: high (blocks sync operations)
99

10+
## ⚠️ Build Broken
11+
This task was marked "done" but left 4 compilation errors. The build does not compile.
12+
See TASK-147 progress log for details.
13+
1014
## Context
1115
The sync INSERT path currently fails because `insertIntoPksTableAndGetPk()` tries to insert into the old schema:
1216

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# TASK-148 — Linux CI + test parity (not just Darwin)
1+
# TASK-156 — Linux CI + test parity (not just Darwin)
22

33
## Goal
44
Make sure our build + test workflows run on Linux (CI + local), not only Darwin.

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

Lines changed: 38 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,52 @@
11
# 92-gap-backlog
22

3-
> Last updated: 2025-12-21 (Round 58TASK-144, TASK-145 complete — harness fail-fast policy)
3+
> Last updated: 2025-12-21 (Update tasksbuild broken, TASK-147 in progress)
44
55
## Status
66

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`
1212
- Zig implementation: `zig/`
1313
- Canonical task queue: `.tasks/{backlog,active,done}/`
1414

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+
1526
## Now (next parallel assignments)
1627

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 |
1848

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.
2250

2351
### Hypothesis Invalidation (Done)
2452
- [x] **TASK-127** — Experimentally invalidate "full parity" hypothesis via fuzzing ✓ `.tasks/done/TASK-127-experimental-parity-invalidation.md`

0 commit comments

Comments
 (0)