Skip to content

Commit b69fe0b

Browse files
++
1 parent 6413877 commit b69fe0b

File tree

5 files changed

+158
-0
lines changed

5 files changed

+158
-0
lines changed
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# TASK-037: zig-sqlite Upstream Feedback Capture (blocked)
2+
3+
## Status
4+
- [x] Planned
5+
- [ ] Assigned
6+
- [ ] In Progress
7+
- [ ] Blocked
8+
- [x] Complete (cancelled per Tom)
9+
10+
## Priority
11+
low
12+
13+
## Assigned To
14+
subagent (explore)
15+
16+
## Parent Docs / Cross-links
17+
- Wish: `.wishes/gather-upstream-feedback.md`
18+
- Zig reference analysis: `research/zig-cr/20-zig-sqlite-capabilities.md`
19+
- Candidate touchpoints in our code: `zig/src/sqlite/value.zig`, `zig/src/sqlite/vtab.zig`
20+
21+
## Description
22+
Capture specific, actionable upstream feedback ideas for `.refs/zig-sqlite`.
23+
24+
Per `.wishes/gather-upstream-feedback.md`, these ideas should be recorded as individual markdown cards under `.wishes/blocked-on-tom/` so Tom can later choose what (if anything) to contribute upstream.
25+
26+
This task is blocked because it requires Tom to confirm the intended scope (how many cards, and whether we’re allowed to touch `.refs/` at all).
27+
28+
Decision-capture task:
29+
- `.tasks/backlog/TASK-055-tom-scope-upstream-feedback.md`
30+
31+
## Files to Modify
32+
- `.wishes/blocked-on-tom/*.md` (new idea cards)
33+
- `research/zig-cr/92-gap-backlog.md` (optional link section)
34+
35+
## Acceptance Criteria
36+
- [ ] At least 5 concrete upstream idea cards created.
37+
- [ ] Each card links to the exact file/line area in our repo motivating it.
38+
- [ ] Each card includes a "why it matters" section.
39+
40+
## Progress Log
41+
### 2025-12-14
42+
- Task card created; blocked pending Tom direction
43+
44+
## Completion Notes
45+
**2025-12-17**: Cancelled per Tom — "skip all zig-sqlite stuff"
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# TASK-055: Tom decision — Scope zig-sqlite upstream feedback capture
2+
3+
## Status
4+
- [x] Planned
5+
- [ ] Assigned
6+
- [ ] In Progress
7+
- [ ] Blocked
8+
- [x] Complete (cancelled per Tom)
9+
10+
## Priority
11+
low
12+
13+
## Assigned To
14+
Tom
15+
16+
## Parent Docs / Cross-links
17+
- Blocked task: `.tasks/backlog/TASK-037-zig-sqlite-upstream-feedback-blocked.md`
18+
- Wish: `.wishes/gather-upstream-feedback.md`
19+
- Gap backlog: `research/zig-cr/92-gap-backlog.md`
20+
21+
## Description
22+
TASK-037 is blocked on scope from Tom. Tom’s current direction: this is low priority until our own product work is done; upstream feedback capture may happen later, if ever.
23+
24+
## Files to Modify
25+
- `.tasks/backlog/TASK-037-zig-sqlite-upstream-feedback-blocked.md`
26+
27+
## Acceptance Criteria
28+
- [ ] Update `.tasks/backlog/TASK-037-zig-sqlite-upstream-feedback-blocked.md` with:
29+
- Number of upstream idea cards desired (e.g., 3 / 5 / 10)
30+
- Whether we may reference `.refs/zig-sqlite` files directly in the cards
31+
- Whether we’re allowed to patch `.refs/zig-sqlite` locally for experiments (still no upstream PR)
32+
- Any “must include” topics
33+
34+
## Progress Log
35+
### 2025-12-15
36+
- Task created from Round 33 “blocked on scope” status.
37+
38+
## Completion Notes
39+
**2025-12-17**: Cancelled per Tom — "skip all zig-sqlite stuff"
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
.refs/zig-sqlite is a good project
2+
let's help them
3+
gather a bunch of ideas for how to make zig-sqlite better
4+
add them as separate cards to .wishes/blocked-on-tom/*.md
5+
cross-link them to the relevant places in our codebase
6+
e.g. zig/src/sqlite/value.zig
7+
8+
eventually, Tom may assign someone to contribute those fixes back upstream
9+
but for now, let's just focus on capturing these things as potential work way may consider doing
10+
11+
---
12+
13+
## Cancelled
14+
15+
- **Date**: 2025-12-17
16+
- **Decision**: Per Tom — "skip all zig-sqlite stuff"
17+
- **Tasks cancelled**: TASK-055, TASK-037

.wishes/done/scratchpad.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
i wish my scratchpad playgrounds were all wired up
2+
3+
## scratch/browser-scratchpad ✅
4+
5+
Done (Round 40, 2025-12-16)
6+
- `bun --hot scratch/browser-scratchpad/src/index.ts`
7+
- React app with SharedWorker multi-tab coordination
8+
- Shows cross-tab item sync, provider election, db_version tracking
9+
10+
## scratch/bun-scratchpad ✅
11+
12+
Done (Round 40, 2025-12-16)
13+
- `bun run scratch/bun-scratchpad/index.ts`
14+
- CR-SQLite demo with bun:sqlite + extension loading
15+
- Shows CRR tables, CRUD, db_version, crsql_changes, site_id
16+
17+
## scratch/effect-bun-scratchpad ⏸️
18+
19+
Blocked on Tom / spec-gate (TypeScript work must go through effect-native/.specs/)
20+
See: `.wishes/blocked-on-tom/effect-bun-scratchpad.md`
21+
22+
should be a simple Effect-TS project with bun
23+
using @effect/platform @effect/platform-bun @effect/sql @effect/sql-sqlite-bun
24+
using the @effect/language-service
25+
see .refs/effect/tsconfig.base.json
26+
using @effect/vitest @effect/eslint-plugin
27+
see .refs/effect/package.json
28+
using all our new effect-native packages
29+
30+
should have some kind of realistic example that does something neat
31+
32+
---
33+
34+
## Satisfied
35+
36+
- **Date**: 2025-12-17
37+
- **What changed**: Bun + browser scratchpads wired up in Round 40
38+
- **Evidence**:
39+
- `bun run scratch/bun-scratchpad/index.ts` — shows full CR-SQLite demo
40+
- `bun --hot scratch/browser-scratchpad/src/index.ts` — React multi-tab demo
41+
- **Remaining**: Effect-TS scratchpad blocked on spec-gate (documented in `.wishes/blocked-on-tom/effect-bun-scratchpad.md`)

.wishes/done/small-prod-builds.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
the old libcrsqlite.{dylib,so,dll} build(s) of the old rust cr-sqlite implementation was chonkier than sqlite itself
2+
i believe this is because rust includes some about of runtime stuff that gets included in the build
3+
i expect that a properly optimized build of our zig-based re-implementation should be significantly smaller than sqlite itself
4+
if our zig build is big, that smells like we screwed something up somehow
5+
that, or I'm confused about something
6+
7+
---
8+
9+
## Satisfied
10+
11+
- **Date**: 2025-12-17
12+
- **What changed**: Size report implemented in Round 38 (TASK-068)
13+
- **Evidence**:
14+
- `make -C zig size-report` shows: Zig crsqlite is 105.72% of SQLite (~103KB overhead)
15+
- This is dramatically smaller than the Rust build (which was ~2-3x SQLite)
16+
- **Conclusion**: Zig build is healthy — extension overhead is minimal (~6% over baseline SQLite)

0 commit comments

Comments
 (0)