Skip to content

Commit d58932d

Browse files
Add three new task cards for CI health and Zig completeness
Created TASK-057, TASK-058, and TASK-059 to address: 1. GitHub Actions test failures (zig-tests workflow consistently failing) 2. Ensuring all Zig functionality is fully implemented (feature matrix audit) 3. Designing tests to expose unimplemented Zig functionality Updated research/zig-cr/92-gap-backlog.md to reference new task cards. Co-authored-by: subtleGradient <[email protected]>
1 parent e157d57 commit d58932d

File tree

4 files changed

+185
-5
lines changed

4 files changed

+185
-5
lines changed
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# TASK-057: Fix GitHub Actions Test Failures
2+
3+
## Status
4+
- [x] Planned
5+
- [ ] Assigned
6+
- [ ] In Progress
7+
- [ ] Blocked (reason: ...)
8+
- [ ] Complete
9+
10+
## Priority
11+
high
12+
13+
## Assigned To
14+
subagent (general)
15+
16+
## Parent Docs / Cross-links
17+
- Gap backlog: `research/zig-cr/92-gap-backlog.md`
18+
- GitHub Actions workflows: `.github/workflows/`
19+
- Zig tests workflow: `.github/workflows/zig-tests.yaml`
20+
- Test infrastructure: `zig/harness/`
21+
22+
## Description
23+
GitHub Actions tests are consistently failing on the main branch. The `zig-tests` workflow has been failing since at least December 14, 2025 (run #20210398182 and subsequent runs through #20238288233).
24+
25+
This task investigates and fixes the root cause of these test failures to restore CI health.
26+
27+
## Files to Modify
28+
- `.github/workflows/zig-tests.yaml` (if workflow configuration is the issue)
29+
- `zig/` (if Zig implementation has issues)
30+
- `zig/harness/` (if test harness setup is the issue)
31+
- Any other files identified during investigation
32+
33+
## Acceptance Criteria
34+
- [ ] Identify the root cause of the GitHub Actions test failures
35+
- [ ] Document the root cause in the `Progress Log`
36+
- [ ] Implement fixes to resolve the failures
37+
- [ ] All GitHub Actions workflows pass on the main branch
38+
- [ ] CI remains green after the fix
39+
- [ ] Document the fix and verification steps in `Completion Notes`
40+
41+
## Progress Log
42+
### 2025-12-17
43+
- Task created to address ongoing CI failures
44+
- GitHub Actions runs show `zig-tests` workflow failing consistently
45+
- Latest failing run: #20238288233 (2025-12-15)
46+
47+
## Completion Notes
48+
[fill in when done]
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# TASK-058: Ensure All Zig Functionality is Fully Implemented
2+
3+
## Status
4+
- [x] Planned
5+
- [ ] Assigned
6+
- [ ] In Progress
7+
- [ ] Blocked (reason: ...)
8+
- [ ] Complete
9+
10+
## Priority
11+
high
12+
13+
## Assigned To
14+
subagent (general)
15+
16+
## Parent Docs / Cross-links
17+
- Feature matrix: `research/zig-cr/90-feature-matrix.md`
18+
- MVP roadmap: `research/zig-cr/91-mvp-roadmap.md`
19+
- Gap backlog: `research/zig-cr/92-gap-backlog.md`
20+
- Phased execution proposal: `research/zig-cr/93-phased-execution-proposal.md`
21+
- Zig implementation: `zig/`
22+
- Core C implementation (reference): `core/`
23+
24+
## Description
25+
Systematically verify that all cr-sqlite functionality documented in the feature matrix and research docs is fully implemented in the Zig port. This includes:
26+
27+
1. All core replication surfaces (init, as_crr/as_table, write capture, crsql_changes vtab, merge semantics)
28+
2. Serialization and wire formats (PK blob format, pack_columns)
29+
3. All SQLite extension APIs (UDFs, writable virtual tables, hooks, triggers)
30+
4. Clock versioning and ordering semantics
31+
5. Fractindex support (currently stubbed: crsql_fract_as_ordered)
32+
6. Any other functionality identified in the feature matrix
33+
34+
Cross-reference the Zig implementation against the C/Rust reference implementation to identify any missing or incomplete features.
35+
36+
## Files to Modify
37+
- `zig/src/` (implement missing functionality)
38+
- `research/zig-cr/90-feature-matrix.md` (update status)
39+
- `research/zig-cr/92-gap-backlog.md` (update completion status)
40+
41+
## Acceptance Criteria
42+
- [ ] Complete audit of all features in `research/zig-cr/90-feature-matrix.md` against Zig implementation
43+
- [ ] Identify all missing or incomplete features
44+
- [ ] Implement missing functionality or create separate task cards for complex features
45+
- [ ] All core replication features are fully functional
46+
- [ ] All C oracle tests pass (including fract suite if implemented)
47+
- [ ] Documentation updated to reflect implementation status
48+
- [ ] Completion notes include a comprehensive list of what was implemented or deferred
49+
50+
## Progress Log
51+
### 2025-12-17
52+
- Task created to ensure Zig parity with C/Rust implementation
53+
- Known gap: crsql_fract_as_ordered is currently a stub (causes 1/20 C oracle tests to fail)
54+
- Reference: Round 20 notes indicate 153/154 tests passing (99.4%)
55+
56+
## Completion Notes
57+
[fill in when done]
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# TASK-059: Design and Add Tests to Expose Unimplemented Zig Functionality
2+
3+
## Status
4+
- [x] Planned
5+
- [ ] Assigned
6+
- [ ] In Progress
7+
- [ ] Blocked (reason: ...)
8+
- [ ] Complete
9+
10+
## Priority
11+
medium
12+
13+
## Assigned To
14+
subagent (general)
15+
16+
## Parent Docs / Cross-links
17+
- Test oracle design: `research/zig-cr/10-test-oracle.md`
18+
- Feature matrix: `research/zig-cr/90-feature-matrix.md`
19+
- Gap backlog: `research/zig-cr/92-gap-backlog.md`
20+
- Existing test harnesses: `zig/harness/`
21+
- C oracle tests: `core/c/`
22+
23+
## Description
24+
Design and implement additional tests to systematically expose any gaps in the Zig implementation that aren't caught by existing test suites.
25+
26+
Focus areas:
27+
1. **Edge cases and error conditions**: Test boundary conditions, error handling, and failure modes
28+
2. **Multi-table scenarios**: Complex interactions between multiple CRR tables
29+
3. **Merge conflict resolution**: All tie-breaker paths (cl/col_version/value/site_id)
30+
4. **Clock semantics**: dbVersion/pendingDbVersion/seq invariants across transactions
31+
5. **Serialization formats**: PK blob packing/unpacking edge cases
32+
6. **Virtual table operations**: xUpdate paths, transaction boundaries, best-index scenarios
33+
7. **Hook chaining**: Commit/rollback hook interactions with other extensions
34+
8. **Schema evolution**: as_crr/as_table with different table configurations
35+
9. **Performance characteristics**: Large UNION query scaling, statement cache effectiveness
36+
37+
Each test should:
38+
- Be deterministic and reproducible
39+
- Have clear pass/fail criteria
40+
- Document what functionality it's validating
41+
- Run quickly (avoid long-running stress tests in CI)
42+
43+
## Files to Modify
44+
- `zig/harness/` (new test scripts or extensions to existing ones)
45+
- `zig/src/` (add unit tests in relevant modules)
46+
- `research/zig-cr/92-gap-backlog.md` (document test coverage improvements)
47+
48+
## Acceptance Criteria
49+
- [ ] Identify at least 5-10 additional test scenarios not covered by existing tests
50+
- [ ] Document the test design in the `Progress Log` with rationale
51+
- [ ] Implement the new tests
52+
- [ ] Tests successfully expose at least one previously undetected gap (if any exist)
53+
- [ ] All new tests pass (or are marked as expected failures with task cards created for fixes)
54+
- [ ] Test documentation explains what each test validates and why it's important
55+
- [ ] Tests are integrated into existing test harness (make test-* targets)
56+
57+
## Progress Log
58+
### 2025-12-17
59+
- Task created to improve test coverage and expose implementation gaps
60+
- Current test status: 154/154 MVP tests passing per gap backlog
61+
- C oracle harness: 19/20 tests pass (fract_as_ordered stub causes 1 failure)
62+
- Need to design tests that go beyond existing coverage
63+
64+
## Completion Notes
65+
[fill in when done]

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

Lines changed: 15 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-15 (Round 34 — Zig parity fixed, browser tests green)
3+
> Last updated: 2025-12-17 (Added CI health + Zig completeness tasks)
44
55
## Status
66

@@ -12,9 +12,11 @@
1212

1313
Pick disjoint tasks from `.tasks/backlog/`:
1414

15-
- **Tests now green**
16-
- Zig parity: 52/52 passing (TASK-051 done)
17-
- Browser tests: 18/18 passing (TASK-052 done — was port conflict, not code bug)
15+
- **CI and Zig implementation health**
16+
- Fix GitHub Actions test failures: `.tasks/backlog/TASK-057-fix-github-actions-test-failures.md`
17+
- Ensure all Zig functionality fully implemented: `.tasks/backlog/TASK-058-ensure-zig-functionality-complete.md`
18+
- Design tests to expose unimplemented Zig functionality: `.tasks/backlog/TASK-059-design-tests-expose-unimplemented-zig.md`
19+
- *(Note: Local tests passing - 154/154 MVP, 52/52 parity, but CI is red)*
1820

1921
- **Unblock browser specs (to unblock TS work)**
2022
- Tom decision: browser spec naming + package boundary: `.tasks/backlog/TASK-056-tom-browser-spec-naming.md`
@@ -55,7 +57,15 @@ Pick disjoint tasks from `.tasks/backlog/`:
5557

5658
## Gaps (only what’s still open)
5759

58-
### Test infrastructure (resolved)
60+
### CI and Zig implementation gaps
61+
62+
Source: GitHub Actions workflow failures + feature matrix audit
63+
64+
- [ ] Fix GitHub Actions test failures → `.tasks/backlog/TASK-057-fix-github-actions-test-failures.md` (2025-12-17)
65+
- [ ] Ensure all Zig functionality fully implemented → `.tasks/backlog/TASK-058-ensure-zig-functionality-complete.md` (2025-12-17)
66+
- [ ] Design tests to expose unimplemented Zig functionality → `.tasks/backlog/TASK-059-design-tests-expose-unimplemented-zig.md` (2025-12-17)
67+
68+
### Test infrastructure (previously resolved)
5969

6070
Source: `.tasks/DELEGATE_WORK_HANDOFF.md` (Round 34)
6171

0 commit comments

Comments
 (0)