docs(phase-20): update tracking after wave 1

This commit is contained in:
Lucas Berger
2026-06-18 17:23:49 -04:00
parent 258a188bde
commit 10149a5966
2 changed files with 14 additions and 14 deletions
+4 -4
View File
@@ -453,7 +453,7 @@ Plans:
| 17. UI Optimization & Polish | v1.1 | 6/6 | Complete | 2026-06-18 |
| 18. Auto Timezone Detection | v1.1 | 4/4 | Complete | 2026-06-14 |
| 19. Local Auth (No-OIDC Mode) | v1.1 | 5/5 | Complete | 2026-06-17 |
| 20. Admin Member Editor & Declutter | v1.1 | — | Not planned | |
| 20. Admin Member Editor & Declutter | v1.1 | 2/3 | In Progress| |
## Backlog
@@ -759,13 +759,13 @@ Plans:
**Goal:** Replace the per-member-row action buttons (Rotate/Add credential + Reset password) in the admin Members panel with a single edit affordance — clicking a member's name or an edit button opens a member-detail editor where an admin modifies all of that member's details in one place: display name, local-login password, and the Fastmail/CalDAV app password (calendar credential) — using clear, non-jargon labels that retire the confusing "Rotate" term. Also collapse the "Add member" section so its input fields are hidden behind a single "Add member" trigger by default, decluttering the panel. Client-side AdminPage + CredentialSheet rework over the existing `/api/admin` endpoints; no new auth/authorization boundary (seeded by the gripe that "Rotate" for the app password is not intuitive).
**Requirements**: TBD (refine in /gsd-discuss-phase 20 — open scope: which fields count as "all" (color swatch? admin toggle? OIDC link?), whether to keep any standalone reset-password flow, and the exact edit affordance — clickable name vs. row edit button)
**Depends on:** Phase 19
**Plans:** 3 plans
**Plans:** 2/3 plans executed
Plans:
**Wave 1**
- [ ] 20-01-PLAN.md — Server: PATCH /api/admin/members/:id (displayName + is_admin) with last-admin demotion guard (TDD) + isAdmin in GET /members
- [ ] 20-02-PLAN.md — PWA API client: AdminMember.isAdmin field + updateMemberProfile fetcher (last-admin sentinel)
- [x] 20-01-PLAN.md — Server: PATCH /api/admin/members/:id (displayName + is_admin) with last-admin demotion guard (TDD) + isAdmin in GET /members
- [x] 20-02-PLAN.md — PWA API client: AdminMember.isAdmin field + updateMemberProfile fetcher (last-admin sentinel)
**Wave 2** *(blocked on Wave 1 completion)*
+10 -10
View File
@@ -2,17 +2,17 @@
gsd_state_version: 1.0
milestone: v1.1
milestone_name: Operability & Polish
current_phase: 18
current_phase_name: Auto timezone detection and ability to change timezone
current_phase: 20
current_phase_name: admin-member-editor-form-declutter
status: executing
stopped_at: Phase 20 UI-SPEC approved
last_updated: "2026-06-18T21:06:24.292Z"
last_updated: "2026-06-18T21:14:13.706Z"
last_activity: 2026-06-18
last_activity_desc: Phase 17 complete, transitioned to Phase 18
last_activity_desc: Phase 20 execution started
progress:
total_phases: 27
completed_phases: 12
total_plans: 55
total_plans: 58
completed_plans: 54
percent: 44
---
@@ -24,14 +24,14 @@ progress:
See: .planning/PROJECT.md (updated 2026-06-16)
**Core value:** One color-coded family calendar (shared + personal) and shared lists from a single low-friction PWA — cross-ecosystem, no app store
**Current focus:** Phase 17ui-optimization-polish
**Current focus:** Phase 20admin-member-editor-form-declutter
## Current Position
Phase: 18 — Auto timezone detection and ability to change timezone
Plan: Not started
Status: Ready to execute
Last activity: 2026-06-18 — Phase 17 complete, transitioned to Phase 18
Phase: 20 (admin-member-editor-form-declutter) — EXECUTING
Plan: 1 of 3
Status: Executing Phase 20
Last activity: 2026-06-18 — Phase 20 execution started
### ✅ Resolved Checkpoint — Phase 15 Plan 15-03 Task 2 (human-action)