Commit Graph

485 Commits

Author SHA1 Message Date
Jakub Zych
09c1ade9a9 docs(11.1): research documentation phase domain 2026-09-28 18:20:42 +02:00
Jakub Zych
b2845e016b docs(10.1): approve UI design contract and resolve state gaps 2026-09-28 16:54:41 +02:00
Jakub Zych
f4459ac7c2 docs(10.1): UI design contract 2026-09-28 16:12:25 +02:00
Jakub Zych
e51be3529e docs(phase-10.1): add validation strategy 2026-09-28 15:56:27 +02:00
Jakub Zych
4e7f0e09d1 docs(10.1): research runtime admin extension point 2026-09-28 15:56:27 +02:00
Jakub Zych
9fe2f5e795 docs(quick-260928-lf2): rewrite module READMEs and root README 2026-09-28 15:55:53 +02:00
Jakub Zych
fafb12ff02 docs(claude): require module README updates
- Add a Documentation section outside the GSD-managed blocks
- Module API, config, CLI or dependency changes update the module README in the same change
- New modules ship a standard README and a row in the root modules table
- READMEs name no consuming application and only identifiers that exist
2026-09-28 15:53:28 +02:00
Jakub Zych
70d3c391a9 docs: generic root README
- Describe SummerCMS as a framework: key concepts, requirements, repository layout
- Verified quick start on examples/hello with the required config and known issues
- Modules table linking all 18 module READMEs with their summary sentences
- Module path plus local replace pattern, development commands, design notes
2026-09-28 15:53:03 +02:00
Jakub Zych
aaa892f046 docs(modules): rewrite wristband, bouncer, surf, bonfire, phrasebook, postcard READMEs 2026-09-28 15:48:02 +02:00
Jakub Zych
3142aebc75 docs(modules): rewrite lagoon, tide, pact, party, boardwalk, fetchguard READMEs 2026-09-28 15:46:08 +02:00
Jakub Zych
1bd34948a9 docs(modules): rewrite cabana, wire, towel, festival, compass, backpack READMEs 2026-09-28 15:43:23 +02:00
Jakub Zych
cc584e906e docs(phase-10.2): complete phase execution 2026-09-28 14:13:20 +02:00
Jakub Zych
cd991bbab3 docs(10.2): correct party onboarding API 2026-09-28 14:09:55 +02:00
Jakub Zych
4dc4c05722 docs(10.2): record UI audit applicability 2026-09-28 13:41:39 +02:00
Jakub Zych
da6f0b2eff docs(phase-10.2): add security threat verification 2026-09-28 13:39:14 +02:00
Jakub Zych
02712ad651 docs(phase-10.2): add validation strategy 2026-09-28 13:38:09 +02:00
Jakub Zych
961bfd2749 docs(10.2): record code review disposition 2026-09-28 13:35:33 +02:00
Jakub Zych
38f087deb3 fix(10.2): exclude planning artifacts from import gate
- Align Git-backed source enumeration with the fallback scan
- Prove tracked historical imports are ignored in self-test
2026-09-28 13:35:11 +02:00
Jakub Zych
c56561374c docs(10.2): add code review report 2026-09-28 13:31:19 +02:00
Jakub Zych
957625e00e docs(10.2-02): complete framework onboarding plan 2026-09-28 13:23:50 +02:00
Jakub Zych
4c7d4cc4b9 test(10.2-02): add nested-layout hygiene gate
- Refuse root package directories, old imports, missing READMEs, and stale status text\n- Validate Go vet and tests across framework and Fonoteka
2026-09-28 13:18:08 +02:00
Jakub Zych
aca670b5ab docs(10.2-02): onboard framework developers
- Explain the framework and Fonoteka application split\n- Document the verified admin-login path and guarded Phase 15 cutover
2026-09-28 13:12:57 +02:00
Jakub Zych
680a61cde2 docs(10.2-02): document framework modules
- Add concise code-derived onboarding for all nested modules\n- Name a real entry point and current consumers per package
2026-09-28 13:07:52 +02:00
Jakub Zych
3035ea1749 docs(10.2): record wave 1 completion 2026-09-28 13:05:09 +02:00
Jakub Zych
1c2f44ae83 docs(10.2-01): summarize modules migration 2026-09-28 13:03:41 +02:00
Jakub Zych
57e7b56983 test(10.2-01): retarget moved package fixtures
- Resolve CLI and module-local fixtures from modules/ paths
- Keep root admin assets reachable from nested package tests
2026-09-28 12:56:15 +02:00
Jakub Zych
5e50b166ef refactor(10.2-01): nest framework packages under modules
- Move remaining beach packages and embedded admin assets\n- Rewrite framework, example, build, and gate paths
2026-09-28 02:21:02 +02:00
Jakub Zych
ac1f6d14f4 refactor(10.2-01): nest festival module
- Move festival under modules\n- Update framework and example importers
2026-09-28 02:16:36 +02:00
Jakub Zych
a9a7bbef73 fix(10.2): revise plans based on checker feedback 2026-09-28 01:56:53 +02:00
Jakub Zych
039cfeddfd docs(10.2): create phase plan 2026-09-28 01:46:23 +02:00
Jakub Zych
195bf2ce75 docs(state): record phase 12 context session 2026-09-28 01:28:26 +02:00
Jakub Zych
4f2358e26c docs(12): capture phase context 2026-09-28 01:28:25 +02:00
Jakub Zych
a64d5aaaa7 docs: capture exploration — backend-deployment 2026-09-28 01:27:19 +02:00
Jakub Zych
cbb5a516ef docs(state): record phase 10.1 context session 2026-09-28 00:55:00 +02:00
Jakub Zych
17250cfbd6 docs(10.1): capture phase context 2026-09-28 00:54:55 +02:00
Jakub Zych
547bd0fc17 docs(state): record phase 11 context session 2026-09-28 00:54:38 +02:00
Jakub Zych
be8bfccf98 docs(11): capture phase context 2026-09-28 00:54:36 +02:00
Jakub Zych
df45520dd8 docs: capture exploration — apparatus dissolved into framework 2026-09-28 00:39:43 +02:00
Jakub Zych
7ac75b918d test(09): persist human verification items as UAT 2026-09-28 00:03:21 +02:00
Jakub Zych
2ad19bda21 docs(09): record code review disposition 2026-09-27 23:52:18 +02:00
Jakub Zych
ee79c7f2c9 docs(09): add code review report 2026-09-27 23:51:58 +02:00
Jakub Zych
57f2204ece docs(phase-10): complete phase execution 2026-09-27 20:45:17 +02:00
Jakub Zych
35f55c733d docs(10): re-verify phase after CR-01 fix 2026-09-27 20:45:11 +02:00
Jakub Zych
c7487f6799 docs(10): re-review CR-01 fix and record approved UAT 2026-09-27 20:38:18 +02:00
Jakub Zych
7e015638f7 docs: log full-width admin forms fast task 2026-09-27 20:32:03 +02:00
Jakub Zych
25856710c7 fix(admin): render record and settings forms full width 2026-09-27 20:32:02 +02:00
Jakub Zych
a405b1b7ff docs(quick-260927-q23): fix CR-01: /auth/refresh must enforce tokens_valid_after and is_activated 2026-09-27 19:12:05 +02:00
Jakub Zych
a13a1214cb test(bouncer,cabana): cover admin refresh subject checks without a database
Quick 260927-q23 (CR-01), unit coverage that runs under -short.

- bouncer: TestRefreshAudienceForSubject covers active, pre/post cutoff,
  missing, nil provider, non-numeric sub, provider error, and proves
  token-only refusals never reach the provider
- bouncer: TestJWTGuardTokensValidAfter pins the unchanged "User not found"
  message and errors.Is(err, ErrSubjectRejected)
- cabana: TestPhase10Coverage subtest pins cookie expiry on subject
  refusals, no cookies over Bearer or on a provider error, and the
  post-cutoff success path
2026-09-27 19:00:12 +02:00
Jakub Zych
be4a923f36 fix(cabana): enforce tokens_valid_after and is_activated on admin refresh
Fixes review finding CR-01 (quick 260927-q23): POST {prefix}/api/v1/auth/refresh
minted a new token without loading the admin, so a session kept alive by the
SPA's refresh-on-401 survived admin:reset-password, deactivation and deletion.
This broke Phase 9 truth T-09-04.

- bouncer: extract the JWT guard's subject lookup into subjectPrincipal and
  issuedBeforeCutoff (same order and messages), add ErrSubjectRejected
- bouncer: add RefreshAudienceFor, which runs the guard's subject checks
  after the token-only checks and before minting; Refresh and
  RefreshAudience are unchanged (nil hook)
- cabana: share one lazyBackendUsers provider between the backend guard and
  refresh; a cookie refresh refused for its subject expires summer_admin
- test: TestAdminRefreshRevocation (Postgres, real admin:reset-password)
2026-09-27 18:58:15 +02:00
Jakub Zych
815cb903c6 test(10): persist human verification items as UAT 2026-09-27 18:44:38 +02:00