You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore: remove stale Cloudflare/Supabase references after PocketBase migration
Remove dependencies, scripts, documentation, and code references left over
from the Cloudflare Workers and Supabase sync systems that were replaced by
PocketBase in #148.
- Remove wrangler devDependency and hono override from package.json
- Delete 8 stale files: Worker/sync/security docs, jwt.ts, scripts
- Update MCP server CLI, config, and tool schemas to remove encryption refs
- Rewrite architecture-diagrams.ts with PocketBase diagrams
- Update 5 documentation files to reflect PocketBase architecture
- Remove vectorClock from all test fixtures (schema v13 dropped it)
All 1280 tests passing.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: .github/copilot-instructions.md
+10-18Lines changed: 10 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,19 +7,19 @@ This guide enables AI coding agents to work productively in the GSD Task Manager
7
7
### Core Stack
8
8
-**Next.js 16 App Router**: All routes in `app/`. Matrix view: `app/(matrix)/page.tsx`. Dashboard: `app/(dashboard)/dashboard/page.tsx`. PWA install: `app/(pwa)/install/page.tsx`.
9
9
-**Client-side only**: No server rendering. All components use `"use client"`.
10
-
-**Data Layer**: IndexedDB via Dexie v4 (`lib/db.ts`, current schema v12). CRUD in `lib/tasks.ts`. Live queries via `useTasks()` hook (`lib/use-tasks.ts`).
10
+
-**Data Layer**: IndexedDB via Dexie v4 (`lib/db.ts`, current schema v13). CRUD in `lib/tasks.ts`. Live queries via `useTasks()` hook (`lib/use-tasks.ts`).
11
11
-**Quadrant System**: Tasks classified by `urgent`/`important` booleans → 4 quadrants. Logic in `lib/quadrants.ts`.
12
12
-**Schema Validation**: Zod schemas in `lib/schema.ts` for all data types.
Copy file name to clipboardExpand all lines: DATABASE_ARCHITECTURE.md
+32-80Lines changed: 32 additions & 80 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,9 +2,9 @@
2
2
3
3
## Overview
4
4
5
-
GSD Task Manager uses **IndexedDB** via **Dexie.js** for client-side data persistence. The database follows a **zero-knowledge architecture** with optional end-to-end encrypted cloud sync. All data is stored locally in the browser, with JSON export/import for backups.
5
+
GSD Task Manager uses **IndexedDB** via **Dexie.js** for client-side data persistence. The database follows a **privacy-first architecture** with optional cloud sync via PocketBase. All data is stored locally in the browser, with JSON export/import for backups.
6
6
7
-
**Current Schema Version:**12
7
+
**Current Schema Version:**13
8
8
9
9
---
10
10
@@ -41,7 +41,6 @@ erDiagram
41
41
boolean notificationSent "indexed"
42
42
string lastNotificationAt "ISO timestamp"
43
43
string snoozedUntil "ISO timestamp"
44
-
object vectorClock "device_id to version_num"
45
44
string archivedAt "ISO timestamp (when archived)"
46
45
number estimatedMinutes "Planned time to complete"
47
46
number timeSpent "Total minutes worked"
@@ -87,7 +86,6 @@ erDiagram
87
86
number timestamp "Unix timestamp, indexed"
88
87
number retryCount "indexed"
89
88
object payload "TaskRecord or null"
90
-
object vectorClock "device_id to version_num"
91
89
array consolidatedFrom "IDs of merged operations"
92
90
number lastAttemptAt "Unix timestamp"
93
91
}
@@ -99,13 +97,8 @@ erDiagram
99
97
string deviceId "UUID"
100
98
string deviceName "User-friendly name"
101
99
string email "OAuth email, nullable"
102
-
string token "JWT, nullable"
103
-
number tokenExpiresAt "Unix timestamp, nullable"
104
100
number lastSyncAt "Unix timestamp, nullable"
105
-
object vectorClock "device_id to version_num"
106
-
string conflictStrategy "last_write_wins|manual"
107
-
string serverUrl "API base URL"
108
-
string provider "google|apple, nullable"
101
+
string provider "google|github, nullable"
109
102
number consecutiveFailures "Retry tracking"
110
103
number lastFailureAt "Unix timestamp"
111
104
string lastFailureReason "Error message"
@@ -159,7 +152,6 @@ erDiagram
159
152
-**Subtasks:** Embedded checklist items (not normalized for simplicity)
160
153
-**Tags:** Multi-entry index for fast filtering
161
154
-**Notifications:** Tracks sent state and snooze timing
162
-
-**Sync:** Vector clock for distributed conflict detection
163
155
-**Time Tracking:**`estimatedMinutes` for planning, `timeEntries` array for actual work sessions, `timeSpent` for totals
164
156
165
157
**Indexes:**
@@ -255,7 +247,6 @@ id (primary, fixed to "settings")
255
247
-**Operation Types:** create, update, delete
256
248
-**Retry Logic:** Exponential backoff with `retryCount`
257
249
-**Consolidation:** Multiple updates merged into single operation
258
-
-**Vector Clock:** Ensures causal consistency
259
250
260
251
**Indexes:**
261
252
```
@@ -270,7 +261,7 @@ retryCount
270
261
1. User modifies task → Add to `syncQueue`
271
262
2. Sync engine uploads → Mark as synced, remove from queue
272
263
3. Offline → Queue persists until reconnected
273
-
4. Conflict → Merge with vector clock, re-queue if needed
264
+
4. Conflict → Resolve via last-write-wins, re-queue if needed
0 commit comments