Compare commits
5
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3696a85afc | ||
|
|
361bd8f800 | ||
|
|
3ed7fc8da8 | ||
|
|
a9c3304c4e | ||
|
|
581b31916b |
@@ -49,4 +49,8 @@ graphify-out/
|
|||||||
# Intel / graph diff baselines (local-only; regenerated on each refresh/build)
|
# Intel / graph diff baselines (local-only; regenerated on each refresh/build)
|
||||||
.planning/intel/.last-refresh.json
|
.planning/intel/.last-refresh.json
|
||||||
.planning/graphs/.last-build-snapshot.json
|
.planning/graphs/.last-build-snapshot.json
|
||||||
|
.planning/graphs/.last-build-status.json
|
||||||
.planning/research/.cache/
|
.planning/research/.cache/
|
||||||
|
|
||||||
|
# Transient workflow scratch
|
||||||
|
.planning/tmp/
|
||||||
|
|||||||
+15
-1
@@ -8,6 +8,20 @@ FamilySync is a self-hosted, Dockerized family organization hub for a two-person
|
|||||||
|
|
||||||
The household can see and co-edit one color-coded family calendar (shared + each member's personal) and shared lists from a single low-friction PWA — cross-ecosystem, no app store, no per-member calendar credential juggling.
|
The household can see and co-edit one color-coded family calendar (shared + each member's personal) and shared lists from a single low-friction PWA — cross-ecosystem, no app store, no per-member calendar credential juggling.
|
||||||
|
|
||||||
|
## Current Milestone: v1.1 Operability & Polish
|
||||||
|
|
||||||
|
**Goal:** Make FamilySync configurable, administrable, and maintainable for real multi-member use — guided setup, in-app admin, per-event reminders, faster write-back, CI/CD, and mobile test coverage — without hand-editing env files or the database.
|
||||||
|
|
||||||
|
**Target features:**
|
||||||
|
- **Per-event reminders** — reminder selector on the event form (incl. "none"), serialized as VALARM; scheduler honors each event's lead instead of a hardcoded 15-min, and fires nothing when an event has no alarm (was backlog 999.4)
|
||||||
|
- **Admin Settings section** — role-gated UI to manage per-member Fastmail app passwords and designate the shared calendar, replacing manual DB writes (was backlog 999.10)
|
||||||
|
- **Initial setup wizard** — first-run validated bootstrap of env vars, VAPID keypair, DB connection, and first app password (was backlog 999.11)
|
||||||
|
- **Faster write-back** — event-driven outbox drain so edits land in ~1s instead of up to ~15s, preserving the optimistic-202 durability guarantees (was backlog 999.13)
|
||||||
|
- **Gitea CI** — full regression (lint/typecheck/unit/API-integration against a MariaDB service container) on PR to main + build/publish Docker image (was backlog 999.14)
|
||||||
|
- **Mobile-browser testing** — mobile viewport + authenticated PWA harness so the assistant can catch mobile-only defects (was backlog 999.12)
|
||||||
|
|
||||||
|
Deferred to backlog: self-service provider onboarding (999.5) and provider abstraction (999.1). Admin-managed credentials (999.10) partially cover the multi-member credential gap in the interim.
|
||||||
|
|
||||||
## Requirements
|
## Requirements
|
||||||
|
|
||||||
### Validated
|
### Validated
|
||||||
@@ -100,4 +114,4 @@ This document evolves at phase transitions and milestone boundaries.
|
|||||||
4. Update Context with current state
|
4. Update Context with current state
|
||||||
|
|
||||||
---
|
---
|
||||||
*Last updated: 2026-06-10 after v1.0 MVP milestone (shipped — PR #1)*
|
*Last updated: 2026-06-10 — started milestone v1.1 Operability & Polish*
|
||||||
|
|||||||
+13
-14
@@ -1,17 +1,16 @@
|
|||||||
---
|
---
|
||||||
gsd_state_version: 1.0
|
gsd_state_version: 1.0
|
||||||
milestone: v1.0
|
milestone: v1.1
|
||||||
milestone_name: milestone
|
milestone_name: Operability & Polish
|
||||||
status: Awaiting next milestone
|
status: planning
|
||||||
stopped_at: "v1.0 MVP shipped (Gitea PR #1) and archived 2026-06-10"
|
last_updated: "2026-06-10T22:50:59.197Z"
|
||||||
last_updated: "2026-06-10T21:42:55.525Z"
|
last_activity: 2026-06-10
|
||||||
last_activity: 2026-06-10 — Milestone v1.0 completed and archived
|
|
||||||
progress:
|
progress:
|
||||||
total_phases: 6
|
total_phases: 0
|
||||||
completed_phases: 6
|
completed_phases: 0
|
||||||
total_plans: 42
|
total_plans: 0
|
||||||
completed_plans: 42
|
completed_plans: 0
|
||||||
percent: 100
|
percent: 0
|
||||||
---
|
---
|
||||||
|
|
||||||
# Project State
|
# Project State
|
||||||
@@ -25,10 +24,10 @@ See: .planning/PROJECT.md (updated 2026-06-10)
|
|||||||
|
|
||||||
## Current Position
|
## Current Position
|
||||||
|
|
||||||
Phase: Milestone v1.0 complete
|
Phase: Not started (defining requirements)
|
||||||
Plan: —
|
Plan: —
|
||||||
Status: Awaiting next milestone
|
Status: Defining requirements
|
||||||
Last activity: 2026-06-10 — Milestone v1.0 completed and archived
|
Last activity: 2026-06-10 — Milestone v1.1 started
|
||||||
|
|
||||||
## Performance Metrics
|
## Performance Metrics
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
"firecrawl": false,
|
"firecrawl": false,
|
||||||
"exa_search": false,
|
"exa_search": false,
|
||||||
"git": {
|
"git": {
|
||||||
"branching_strategy": "milestone",
|
"branching_strategy": "phase",
|
||||||
"create_tag": true,
|
"create_tag": true,
|
||||||
"phase_branch_template": "gsd/phase-{phase}-{slug}",
|
"phase_branch_template": "gsd/phase-{phase}-{slug}",
|
||||||
"milestone_branch_template": "gsd/{milestone}-{slug}",
|
"milestone_branch_template": "gsd/{milestone}-{slug}",
|
||||||
@@ -90,6 +90,7 @@
|
|||||||
"enabled": true
|
"enabled": true
|
||||||
},
|
},
|
||||||
"graphify": {
|
"graphify": {
|
||||||
"enabled": true
|
"enabled": true,
|
||||||
|
"auto_update": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+933
-215
File diff suppressed because it is too large
Load Diff
+66051
-19369
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user