This website requires JavaScript.
9e080fb22a
docs(phase-17): update tracking after wave 1
Lucas Berger
2026-06-18 12:45:49 -04:00
65e6222944
chore: merge executor worktree (worktree-agent-af89750bf86857964)
Lucas Berger
2026-06-18 12:44:24 -04:00
58d11caee0
chore: merge executor worktree (worktree-agent-a1fb88aa75fd00c8f)
Lucas Berger
2026-06-18 12:44:23 -04:00
d917157c63
docs(17-02): complete branding assets plan summary
Lucas Berger
2026-06-18 12:43:45 -04:00
4c99470c1a
feat(17-02): apply approved family-house logo + regenerate icon set
Lucas Berger
2026-06-18 12:42:43 -04:00
d01ec2388c
docs(17-01): complete token groundwork plan — SUMMARY
Lucas Berger
2026-06-18 12:14:45 -04:00
b364573285
feat(17-02): generate full icon/favicon set from logo.svg (Task 2)
Lucas Berger
2026-06-18 12:13:50 -04:00
c2f89bd55f
feat(17-01): restructure tokens.css to combined :root,[data-theme=light] selector + add --bottom-chrome-h
Lucas Berger
2026-06-18 12:12:42 -04:00
7db9005645
feat(17-02): install @vite-pwa/assets-generator, author logo.svg, add pwa-assets.config.ts
Lucas Berger
2026-06-18 12:12:17 -04:00
eb0db8beef
docs(17): create phase plan
Lucas Berger
2026-06-18 11:36:21 -04:00
280438b2d3
docs(17): create phase plan (6 plans, 2 waves) — UI optimization & polish
Lucas Berger
2026-06-18 11:34:04 -04:00
28cf79754a
docs(17): add validation strategy
Lucas Berger
2026-06-18 11:19:24 -04:00
f789a67f95
docs(17): research phase domain
Lucas Berger
2026-06-18 11:17:44 -04:00
a1457a5b30
docs(17): UI design contract
Lucas Berger
2026-06-18 10:59:25 -04:00
efeee02a36
Merge remote-tracking branch 'origin/main' into gsd/phase-17-ui-optimization-polish
Lucas Berger
2026-06-18 10:08:45 -04:00
cfe84715d5
docs: add developer profile section to CLAUDE.md
Lucas Berger and Claude Opus 4.8
2026-06-18 10:07:03 -04:00
07787177d4
Update CLAUDE.md
luckberg
2026-06-18 07:12:17 -04:00
1e2cc52659
docs: refresh project documentation against current codebase
Lucas Berger
2026-06-18 06:44:29 -04:00
18d3ee6a4f
Merge pull request 'Phase 19: Local Auth (No-OIDC Mode)' (#23 ) from gsd/phase-19-local-auth-no-oidc-mode into main
luckberg
2026-06-18 06:24:58 -04:00
b6490feff4
fix(19): satisfy CI fast-checks + secret scan
Lucas Berger and Claude Opus 4.8
2026-06-17 23:05:15 -04:00
91ab9d1f78
docs(19): ship phase 19 — PR #23
Lucas Berger
2026-06-17 22:49:45 -04:00
abf7be782a
docs(phase-19): add security threat verification (28/28 closed, threats_open: 0)
Lucas Berger
2026-06-17 22:47:45 -04:00
f3af130e9e
docs(17): add workstream D — 4 UI findings from Phase 19 UAT (logout button, admin feedback, popup centering, admin nav)
Lucas Berger
2026-06-17 22:34:18 -04:00
af0a70ccec
test(19): complete UAT — Tests 1-3 pass live, 4 resolved-by-fix, 5→ship; 4 UI findings routed to Phase 17
Lucas Berger
2026-06-17 22:32:52 -04:00
73dd6a2383
docs(19): re-review after fixes — status clean (0 critical/warning, 2 info)
Lucas Berger
2026-06-17 20:50:25 -04:00
9cccf17ef9
chore: enable MemPalace discuss-time recall + KG mirror
Lucas Berger
2026-06-17 20:41:00 -04:00
5f74ae965d
docs(19): add code review fix report
Lucas Berger
2026-06-17 20:42:51 -04:00
cef2c66de5
merge(19): land code-review fixes (CR-01..04, BL-01..04, WR-01..07, IN-01..04)
Lucas Berger
2026-06-17 20:39:49 -04:00
2691dd0f95
fix(19): IN-04 enforce single-use OIDC-link nonce to prevent state replay
Lucas Berger
2026-06-17 20:37:09 -04:00
83e23d760d
docs(state): record phase 17 context session
Lucas Berger
2026-06-17 20:37:02 -04:00
3784762817
docs(17): capture phase context (layout polish + branding + theme groundwork; dark mode/styling deferred)
Lucas Berger
2026-06-17 20:37:02 -04:00
f02521dd02
fix(19): IN-03 evict stale loginAttempts entries to bound in-memory map growth
Lucas Berger
2026-06-17 20:35:43 -04:00
e392bf2eb7
fix(19): IN-02 add lockstep test pinning inlined scrypt params against canonical verifyPassword
Lucas Berger
2026-06-17 20:34:58 -04:00
f2fc1404d4
fix(19): IN-01 validate LOCAL_SESSION_EXPIRES coercion (fallback on NaN/non-positive)
Lucas Berger
2026-06-17 20:34:14 -04:00
916fb34f17
docs: add backlog items 999.20 (dark mode/theming) + 999.21 (styling refresh)
Lucas Berger
2026-06-17 20:34:02 -04:00
4bd6b2c057
fix(19): WR-05 add no-echo tests for admin create-member and me password hook sites
Lucas Berger
2026-06-17 20:33:46 -04:00
32bdd1e92d
fix(19): WR-07 reject route ids with trailing garbage via strict integer parse
Lucas Berger
2026-06-17 20:32:26 -04:00
4cf2ad4bff
fix(19): WR-06 stop sliding the rate-limit cooldown window on rejected attempts
Lucas Berger
2026-06-17 20:31:07 -04:00
30ad25c026
fix(19): WR-03 make scrypt hashing async (threadpool) to avoid event-loop starvation DoS
Lucas Berger
2026-06-17 20:30:28 -04:00
322929aebe
fix(19): WR-02+WR-04 centralize OIDC config (env-or-app_config) and discover auth endpoint
Lucas Berger
2026-06-17 20:26:47 -04:00
c4d8d76a4c
fix(19): WR-01 parse reset-admin flags explicitly and stop echoing username
Lucas Berger
2026-06-17 20:25:18 -04:00
40666e1cc5
fix(19): BL-04 keep context oidcIss/oidcSub null for local users (no fabricated identity sentinels)
Lucas Berger
2026-06-17 20:24:01 -04:00
71537601ce
fix(19): BL-03 reject OIDC-link bind on empty iss/sub or mismatched local session (takeover guard)
Lucas Berger
2026-06-17 20:22:37 -04:00
cd095e5b67
fix(19): BL-02 match Secure attribute on logout cookie deletion to issue-time logic
Lucas Berger
2026-06-17 20:21:51 -04:00
3674b255b2
fix(19): BL-01 enforce LOCAL_SESSION_SECRET length floor in devSessionCookieMiddleware
Lucas Berger
2026-06-17 20:21:17 -04:00
b083cb7193
fix(19): CR-04 scope login lockout to username, add TTL auto-expiry + admin-reset unlock
Lucas Berger
2026-06-17 20:20:43 -04:00
6ef8e03f8c
fix(19): CR-03 return 403 for wrong current password so change-password does not log user out
Lucas Berger
2026-06-17 20:17:32 -04:00
93c47b38aa
fix(19): CR-02 send initialPassword + map 409 conflict in fetchCreateMember
Lucas Berger
2026-06-17 20:15:58 -04:00
1688f229e0
fix(19): CR-01 align OIDC-link client contract with server (authorizationUrl)
Lucas Berger
2026-06-17 20:15:23 -04:00
46eaf070ea
chore: enable MemPalace for project and ignore per-project files
Lucas Berger and Claude Opus 4.8
2026-06-17 20:12:50 -04:00
4b635784e4
docs(19): add code review report
Lucas Berger
2026-06-17 20:08:26 -04:00
37fd896ce9
docs(phase-19): mark phase complete (verification passed, 5/5 plans)
Lucas Berger
2026-06-17 20:00:21 -04:00
0aca22f743
docs(19): verification passed (21/21) after blocker fix; UAT for live/CI items
Lucas Berger
2026-06-17 20:00:00 -04:00
53da4be62b
fix(19): correct admin reset-password client URL (AUTH-LOCAL-08 blocker)
Lucas Berger and Claude Opus 4.8
2026-06-17 19:58:17 -04:00
9b10d875d4
docs(phase-19): update tracking after wave 4
Lucas Berger
2026-06-17 17:44:10 -04:00
17a531550a
fix(19): resolve post-merge wave-4 harness integration gaps
Lucas Berger and Claude Opus 4.8
2026-06-17 17:43:11 -04:00
11977fddf4
chore: merge executor worktree (worktree-agent-ad5628ea37541e256)
Lucas Berger
2026-06-17 17:28:49 -04:00
c7142b5fe5
chore: merge executor worktree (worktree-agent-a71adf90ed21b044c)
Lucas Berger
2026-06-17 17:28:48 -04:00
63beb74650
docs(19-04): complete PWA login UI + account management surfaces plan
Lucas Berger
2026-06-17 17:26:07 -04:00
eba0bb095d
docs(19-05): complete dev-bypass rework + harness + CI plan (checkpoint)
Lucas Berger
2026-06-17 17:22:39 -04:00
19c45eb069
feat(19-04): AdminPage LOCAL ACCOUNTS + SettingsSheet change-password / link-OIDC
Lucas Berger
2026-06-17 17:21:20 -04:00
1f94dc5eb7
feat(19-05): global-setup local_credentials seed + login.spec.ts + CI harness env
Lucas Berger
2026-06-17 17:21:05 -04:00
32d0408774
feat(19-04): LoginPage (Surfaces 1-10) + App.tsx authModeQuery gate + /login route
Lucas Berger
2026-06-17 17:14:18 -04:00
82391874ee
feat(19-05): add break-glass reset-admin CLI (dev-only, .dockerignore'd)
Lucas Berger
2026-06-17 17:13:04 -04:00
3094df84c8
feat(19-05): Option C — devSessionCookieMiddleware issues real local-session cookie under bypass
Lucas Berger
2026-06-17 17:11:31 -04:00
869cdc26c8
feat(19-04): add LoginError, fetchAuthMode/login/logout + auth fetchers, BrandSlot, brand-seam tokens
Lucas Berger
2026-06-17 17:10:30 -04:00
1cf572a2b9
docs(phase-19): update tracking after wave 3
Lucas Berger
2026-06-17 17:06:30 -04:00
b2f3182ef4
chore: merge executor worktree (worktree-agent-a11c9f6d35e8d8721)
Lucas Berger
2026-06-17 17:01:05 -04:00
e0d471a5d5
docs(19-03): complete local-auth middleware wiring plan
Lucas Berger
2026-06-17 17:00:42 -04:00
9b569efeab
feat(19-03): wire /callback link branch, OIDC-guard skip, de-Authelia comments
Lucas Berger
2026-06-17 16:59:06 -04:00
c437f408bb
feat(19-03): implement POST /api/auth/local/login (rate-limit + lockout) + logout
Lucas Berger
2026-06-17 16:49:59 -04:00
db66295920
test(19-03): add failing tests for POST /api/auth/local/login + logout
Lucas Berger
2026-06-17 16:49:51 -04:00
be7a0aec90
feat(19-03): implement localAuthMiddleware, GET /api/auth/mode, and pre-auth route mounts
Lucas Berger
2026-06-17 16:48:17 -04:00
ac32bd405f
test(19-03): add failing tests for localAuthMiddleware and GET /api/auth/mode
Lucas Berger
2026-06-17 16:48:07 -04:00
eb090bb57e
docs(phase-19): update tracking after wave 2
Lucas Berger
2026-06-17 16:42:17 -04:00
55cd5cf698
chore: merge executor worktree (worktree-agent-a177cd3aa5422e109)
Lucas Berger
2026-06-17 16:41:18 -04:00
f167031292
docs(19-02): complete admin+me account management plan summary
Lucas Berger
2026-06-17 16:40:50 -04:00
efb80c8c1a
feat(19-02): linkOidcToUser helper + POST /api/me/link-oidc initiation
Lucas Berger
2026-06-17 16:38:14 -04:00
8ced2d0a20
test(19-02): add failing tests for linkOidcToUser and POST /api/me/link-oidc
Lucas Berger
2026-06-17 16:35:19 -04:00
c88f7d41e5
feat(19-02): self-change password and hasLocalCredential on GET /api/me
Lucas Berger
2026-06-17 16:34:10 -04:00
80b5906bb8
test(19-02): add failing tests for self-change password and hasLocalCredential on /api/me
Lucas Berger
2026-06-17 16:32:48 -04:00
6232aa0d68
feat(19-02): admin create-member, reset-password, hasLocalCredential on GET /members
Lucas Berger
2026-06-17 16:31:37 -04:00
b2c7902e9e
test(19-02): add failing tests for admin create-member, reset-password, hasLocalCredential
Lucas Berger
2026-06-17 16:29:43 -04:00
13e3757e88
docs(phase-19): update tracking after wave 1
Lucas Berger
2026-06-17 16:26:23 -04:00
12f5fb5991
chore: merge executor worktree (worktree-agent-a2e0909f9686032ab)
Lucas Berger
2026-06-17 16:24:55 -04:00
d22da015cb
docs(19-01): complete local-auth foundation plan (checkpoint reached at Task 4)
Lucas Berger
2026-06-17 16:19:25 -04:00
96f0991605
feat(19-01): add local_credentials schema, 0003 migration, generate-secrets LOCAL_SESSION_SECRET, .dockerignore D-15
Lucas Berger
2026-06-17 16:17:04 -04:00
7d61148415
feat(19-01): implement localSession JWT cookie helpers and assertLocalSessionSecretSet boot guard
Lucas Berger
2026-06-17 16:14:48 -04:00
0d8f3fa051
test(19-01): add failing tests for localSession JWT cookie helpers and assertLocalSessionSecretSet
Lucas Berger
2026-06-17 16:13:33 -04:00
85b01b5c26
feat(19-01): implement hashPassword/verifyPassword with scrypt + timingSafeEqual
Lucas Berger
2026-06-17 16:12:59 -04:00
7ece96688d
test(19-01): add failing tests for hashPassword/verifyPassword scrypt primitives
Lucas Berger
2026-06-17 16:12:14 -04:00
f96282a767
docs(19): add PATTERNS.md (codebase analog map for planning)
Lucas Berger
2026-06-17 16:08:36 -04:00
cb23603c83
docs(19): record phase planned (5 plans, 4 waves)
Lucas Berger
2026-06-17 16:04:38 -04:00
dc40ba9fb8
docs(19): create local-auth phase plan (5 plans, 4 waves)
Lucas Berger
2026-06-17 15:35:43 -04:00
4b461cbaab
docs(19): add validation strategy
Lucas Berger
2026-06-17 15:19:08 -04:00
29f4a2e623
docs(19): research phase 19 local auth domain
Lucas Berger and Claude Sonnet 4.6
2026-06-17 15:17:46 -04:00
9ef7eaada8
docs(state): record phase 19 UI-SPEC approval; ignore local claude settings
Lucas Berger and Claude Opus 4.8
2026-06-16 21:21:25 -04:00
4dd6068dcc
docs(19): mark UI-SPEC approved after checker verification
Lucas Berger and Claude Sonnet 4.6
2026-06-16 21:19:45 -04:00
71bf21634c
docs(19): UI design contract for local auth login screen and admin additions
Lucas Berger and Claude Sonnet 4.6
2026-06-16 21:18:04 -04:00
45fca0ed6b
docs(state): record phase 19 context session
Lucas Berger
2026-06-16 21:04:57 -04:00