Skip to content

Commit 59d1a64

Browse files
gaps++
1 parent d1be434 commit 59d1a64

File tree

7 files changed

+117
-3
lines changed

7 files changed

+117
-3
lines changed

.tasks/backlog/TASK-031-web-service-worker-fallback.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ This work is TypeScript-heavy.
2424

2525
Per `AGENTS.md` (TypeScript Work Rule): **all TypeScript work happens in the `effect-native/` submodule** and must follow the spec-first workflow in `effect-native/.specs/AGENTS.md`.
2626

27-
This task stays blocked until Tom explicitly approves proceeding beyond Phase 1 specs for the browser/runtime surface.
27+
This task stays blocked until Phase 2 requirements exist for the browser/runtime surface under `effect-native/.specs/AGENTS.md`.
2828

2929
## Description
3030
Add a Service Worker fallback for environments where SharedWorker is unavailable.

.tasks/backlog/TASK-032-web-reactive-subscriptions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ This work is TypeScript-heavy.
2424

2525
Per `AGENTS.md` (TypeScript Work Rule): **all TypeScript work happens in the `effect-native/` submodule** and must follow the spec-first workflow in `effect-native/.specs/AGENTS.md`.
2626

27-
This task stays blocked until Tom explicitly approves proceeding beyond Phase 1 specs for the browser/runtime surface.
27+
This task stays blocked until Phase 2 requirements exist for the browser/runtime surface under `effect-native/.specs/AGENTS.md`.
2828

2929
## Description
3030
Provide a narrow notification/subscription surface so tab B can react when tab A writes.
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# TASK-046: Phase 2 requirements — `crsql-mesh` slice (node-first)
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+
- Tom decisions: `.wishes/done/tom-review-crsql-mesh-instructions.md`
18+
- Spec-first rules: `effect-native/.specs/AGENTS.md`
19+
- Phase 1 docs:
20+
- `effect-native/.specs/crsql-mesh-protocol/instructions.md`
21+
- `effect-native/.specs/crsql-mesh-transport/instructions.md`
22+
- `effect-native/.specs/crsql-mesh/instructions.md`
23+
- `effect-native/.specs/crsql-mesh-runtime/instructions.md` (node section)
24+
25+
## Description
26+
Write Phase 2 `requirements.md` (EARS) for the first-ship slice:
27+
28+
- `@effect-native/crsql-mesh-protocol`
29+
- `@effect-native/crsql-mesh-transport`
30+
- `@effect-native/crsql-mesh` (core engine)
31+
- `@effect-native/crsql-mesh-runtime-node`
32+
33+
Keep it thing-golf small: define the minimum behaviors needed to run a two-peer sync loop over an in-memory transport and a filesystem-backed DB.
34+
35+
STOP after Phase 2 docs (do not design or implement).
36+
37+
## Files to Modify
38+
- `effect-native/.specs/crsql-mesh-protocol/requirements.md`
39+
- `effect-native/.specs/crsql-mesh-transport/requirements.md`
40+
- `effect-native/.specs/crsql-mesh/requirements.md`
41+
- `effect-native/.specs/crsql-mesh-runtime/requirements.md`
42+
43+
## Acceptance Criteria
44+
- [ ] All requirements use EARS notation.
45+
- [ ] Requirements reference reuse of `@effect-native/crsql` schemas (no duplicate serialization types).
46+
- [ ] `unhex()` requirement is explicit and includes fail-fast behavior (`UnhexUnavailable`).
47+
- [ ] Node runtime requirements explicitly depend on `@effect/platform` capabilities.
48+
- [ ] Each requirements.md has a short “Out of Scope” section aligned with Phase 1.
49+
50+
## Progress Log
51+
### 2025-12-15
52+
- Task created from Tom-approved Phase 2 gate
53+
54+
## Completion Notes
55+
[fill in when done]
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# TASK-047: Phase 1 instructions — React Native runtime packages
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+
- Tom notes: `.wishes/done/tom-review-crsql-mesh-instructions.md`
18+
- Package map: `effect-native/.specs/crsqlite-global-mesh-packages/instructions.md` (RN package names)
19+
- Spec-first rules: `effect-native/.specs/AGENTS.md`
20+
21+
## Description
22+
Create Phase 1 `instructions.md` for React Native runtime packages:
23+
24+
- `@effect-native/crsql-mesh-runtime-react-native-op-sqlite`
25+
- `@effect-native/crsql-mesh-runtime-react-native-expo-sqlite`
26+
27+
Keep it thing-golf small: intent + out-of-scope only.
28+
No requirements/design/implementation.
29+
30+
STOP after Phase 1 docs.
31+
32+
## Files to Create
33+
- `effect-native/.specs/crsql-mesh-runtime-react-native-op-sqlite/instructions.md`
34+
- `effect-native/.specs/crsql-mesh-runtime-react-native-expo-sqlite/instructions.md`
35+
36+
## Acceptance Criteria
37+
- [ ] Each instructions.md follows Phase 1 rules.
38+
- [ ] Each doc explicitly states extension-loading assumptions (native vs wasm).
39+
- [ ] Each doc explicitly excludes Electron.
40+
41+
## Progress Log
42+
### 2025-12-15
43+
- Task created from Tom request
44+
45+
## Completion Notes
46+
[fill in when done]

.wishes/tom-review-crsql-mesh-instructions.md renamed to .wishes/done/tom-review-crsql-mesh-instructions.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,3 +73,10 @@ NOTE: verifying unhex() presence as early as possible in layer creation so that
7373
- TODO(Agent): add specs for react-native packages
7474

7575
- @effect-native/crsql-mesh-runtime-node should rely on @effect/platform
76+
77+
## Decisions Summary (for agents)
78+
- Core engine package name: `@effect-native/crsql-mesh`
79+
- First ship slice: protocol + transport interface + core engine + runtime-node
80+
- Bun: fold into runtime-node unless proven necessary
81+
- Electron: out of scope
82+
- Protocol: reuse `@effect-native/crsql` schemas; require SQLite `unhex()`; fail fast with `UnhexUnavailable`

.wishes/start-here.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ If you’re asking “what’s left?” start here:
1111

1212
## Next parallel work (curated)
1313

14+
- Mesh Phase 2 (approved by Tom):
15+
- `.tasks/backlog/TASK-046-phase2-requirements-crsql-mesh.md`
16+
- `.tasks/backlog/TASK-047-phase1-react-native-runtime-specs.md`
1417
- Web phase 2 (TS, spec-gated):
1518
- `.tasks/backlog/TASK-031-web-service-worker-fallback.md`
1619
- `.tasks/backlog/TASK-032-web-reactive-subscriptions.md`

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

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@
1212

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

15-
- Web phase 2 (TS, spec-gated)
15+
- Mesh Phase 2 (approved by Tom)
16+
- Phase 2 requirements for node-first slice: `.tasks/backlog/TASK-046-phase2-requirements-crsql-mesh.md`
17+
- Phase 1 RN runtime specs: `.tasks/backlog/TASK-047-phase1-react-native-runtime-specs.md`
18+
- Web phase 2 (TS, still blocked until its own Phase 2 specs exist)
1619
- Service Worker fallback: `.tasks/backlog/TASK-031-web-service-worker-fallback.md`
1720
- Reactive subscriptions: `.tasks/backlog/TASK-032-web-reactive-subscriptions.md`
1821
- Mobile embedding docs (Zig)

0 commit comments

Comments
 (0)