Commit Graph

1581 Commits

Author SHA1 Message Date
Jakub Zych
f1ff2f940b docs(19.1): re-verify after review fixes; mark WR-04 and WR-05 fixed 2026-10-18 19:25:32 +02:00
Jakub Zych
62c948f5e6 docs(quick-261018-qbs): fix 19.1 review WR-04 and WR-05, optional-dependency doc note
Registers T-19.1-13..17 in 19.1-SECURITY.md.
2026-10-18 19:19:20 +02:00
Jakub Zych
97daec593c docs(plugins): note optional dependencies still sit in go.mod
An optional dependency is optional at activation, not at compile time:
importing the package that declares a looked-up type keeps the other
plugin in go.mod; only party.Plugin.Requires leaves it out.
2026-10-18 19:16:35 +02:00
Jakub Zych
533fb7ccd9 chore(19.1): require chatvideo user-deletion test in phase 19.1 gate
- PG_CHATVIDEO_TESTS runs TestUserDeletionReassignsSession (WR-05)
- self-test lists the token and pins it in the PG_CHATVIDEO_TESTS line
- NOT RUN postgres banner names it
2026-10-18 19:16:11 +02:00
Jakub Zych
3b0f2c32b8 docs(state): log goldens secret-gate fast task 2026-10-18 18:05:47 +02:00
Jakub Zych
8553cd2afe docs(phase-19.1): close T-19.1-12 after goldens secret gate 2026-10-18 18:05:29 +02:00
Jakub Zych
8643195951 chore(19.1): scan sibling goldens for secrets in phase 19.1 gate
The docs stage now refuses secret-shaped content (key names, PEM private
keys, JWTs) in each sibling's testdata/goldens; --self-test plants each
pattern. Closes T-19.1-12.
2026-10-18 18:05:28 +02:00
Jakub Zych
2785bebd32 docs(phase-19.1): add security threat verification 2026-10-18 18:04:41 +02:00
Jakub Zych
b3f0b6ded0 test(19.1): complete UAT - 1 passed, 0 issues
Records the accepted userfriends go.mod override in VERIFICATION.md.
2026-10-18 17:54:54 +02:00
Jakub Zych
ebedba8c94 docs(19.1): persist verification, UAT and review disposition 2026-10-18 16:11:13 +02:00
Jakub Zych
905b035184 docs(19.1): add code review report 2026-10-18 16:10:02 +02:00
Jakub Zych
32617944a9 docs(19.1-06): record plan progress after maps and goldens SUMMARY
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-18 16:02:15 +02:00
Jakub Zych
7e51959b14 docs(19.1-06): complete PHP maps, goldens and phase gate plan
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-18 16:01:40 +02:00
Jakub Zych
b1a2c783e7 chore(19.1-06): add fail-closed phase 19.1 gate script
Copy the phase 19 detector shape onto five sibling plugin roots, named short tests, postgres tracers plus GDPR names, and the three decision-note greps.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-18 15:48:46 +02:00
Jakub Zych
374088eccf docs(19.1-02): complete forum tracer plan 2026-10-18 15:43:18 +02:00
Jakub Zych
1f204f5a6c docs(quick-261018-k9s): add the D-17 module in summercms.go 2026-10-18 14:55:11 +02:00
Jakub Zych
98bc6de8f5 feat(breakwater): Markdown renderer and HTML sanitizer with the forum policy (D-17)
- modules/breakwater exports Render(markdown) and Purify(html): goldmark GFM
  in its default safe mode (raw HTML stripped, unsafe links dropped), then a
  named bluemonday policy built from NewPolicy, not the UGC preset
- the policy is the PHP golem15/forum HTMLPurifier config 1:1: the fixed
  element list, a[href|rel|target], http/https/mailto only, rel=nofollow on
  every link, target=_blank plus noopener on fully-qualified links
- tests cover the PHP ForumMarkdownRenderTest corpus, links per scheme,
  blank input, the Purify allow-list and concurrent use; testable examples
  feed the docs page snippets
- module README, root module table row, introduction.md Utilities row and
  docs/services/markdown.md (which gate serves user content vs admin fields)
- go.mod and go.sum unchanged: bluemonday v1.0.27 and goldmark v1.8.6 were
  already pinned
2026-10-18 14:52:30 +02:00
Jakub Zych
5ccf726e8a docs(19.1-05): record plan progress after chatvideo SUMMARY
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-18 14:02:49 +02:00
Jakub Zych
782a6720bf docs(19.1-05): complete chatvideo tracer plan
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-18 14:02:02 +02:00
Jakub Zych
43c4040256 docs(19.1-05): record livekit/server-sdk-go/v2 v2.19.0 before import
Pin github.com/livekit/server-sdk-go/v2 v2.19.0 (Apache-2.0). Flag
pion/media-sdk/buildkit; production talks to RoomAPI only; tests ship a
fake and must not construct lksdk.Room. Operator HTTP uses fetchguard
TrustedMode. Token golden vs PHP LiveKitService.php 80-99; jwt/v5
MapClaims fallback if ToJWT differs.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-18 13:52:27 +02:00
Jakub Zych
4f58c8fc2a docs(19.1-04): record plan progress after herald SUMMARY
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-18 13:50:31 +02:00
Jakub Zych
0d3ba6517b docs(19.1-04): complete herald tracer plan
Record proceed, coverage, tea-create of sm-herald-plugin, and Self-Check.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-18 13:49:47 +02:00
Jakub Zych
56b4a72a6a docs(19.1-04): record webpush-go v1.4.0 for Herald before import
Pin github.com/SherClockHolmes/webpush-go v1.4.0 (MIT, jwt/v5 share,
Options.HTTPClient = *fetchguard.Client Do). The in-tree flare module is
the rejected alternative (push.* keys, websockets:generate-vapid-keys).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-18 13:38:06 +02:00
Jakub Zych
f3ca32e486 docs(19.1-03): complete chatbots tracer plan 2026-10-18 13:36:22 +02:00
Jakub Zych
ceabc9ccbc docs(19.1-02): record D-17 Render/Purify halt
- Task 1 wrote the forum policy note; forum execution waits on the D-17 module
- Do not create sm-forum-plugin until Render and Purify exist

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-18 13:24:43 +02:00
Jakub Zych
2740ab276c docs(19.1-02): add forum bluemonday policy note
- Pin the named forum policy on bluemonday v1.0.27 already in go.mod
- Separate it from seaglass UGC: PHP allow-list, http/https/mailto, nofollow and target blank
- D-17 owns Render/Purify; forum must not vendor goldmark or bluemonday

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-18 13:24:18 +02:00
Jakub Zych
eb341147d8 docs(19.1-01): record plan progress after userfriends SUMMARY
Advance Phase 19.1 to plan 2 of 6 and tick 19.1-01 on the roadmap now that the sibling plugin is on origin/main.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-18 13:22:15 +02:00
Jakub Zych
03591e1d6c docs(19.1-01): summarize userfriends tracer, groups, adapter and GDPR
Record the proceed-and-push lock, sibling repo commits, tea remote, and Task 3 deviations so later 19.1 plans can consume the new plugin.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-18 13:21:39 +02:00
Jakub Zych
f984e5e63f docs(19.1-01): patch Phase 19.1 Repos, SC2 and SC3
- Repos add summercms.go for the Markdown module
- Criterion 2 names webpush-go / LiveKit / bluemonday notes
- Criterion 3 marked already met (Wavepath 182b514)
2026-10-18 13:13:57 +02:00
Jakub Zych
36634313af docs: changelog posts read the token from ~/.config/summercms/journal-token 2026-10-18 12:57:58 +02:00
Jakub Zych
012a5a2c5a docs(19.1): record planned phase 2026-10-18 12:56:33 +02:00
Jakub Zych
cddf3a5008 docs(19.1): revise phase plans 2026-10-18 12:52:39 +02:00
Jakub Zych
7c7a1ad45d docs(19.1): create phase plan 2026-10-18 12:45:31 +02:00
Jakub Zych
23dfb05b0a docs(state): record phase 19.7 context session 2026-10-18 12:41:48 +02:00
Jakub Zych
b8f90749c7 docs(19.7): capture phase context 2026-10-18 12:41:37 +02:00
Jakub Zych
bdc4107215 docs: post every pushed release tag to the summercms.io changelog 2026-10-18 12:39:43 +02:00
Jakub Zych
924618704f docs(19.1): add validation strategy 2026-10-17 23:37:53 +02:00
Jakub Zych
f179ec060c docs(19.1): research phase domain 2026-10-17 23:36:34 +02:00
Jakub Zych
5f76e5bbd2 docs(19.6): capture phase context 2026-10-17 23:27:52 +02:00
Jakub Zych
9bcfa22c6e docs(19.5): capture phase context 2026-10-17 23:15:14 +02:00
Jakub Zych
76d055e720 docs(phase-19): complete Chat and ChatChannels execution
Gap closure closed the DM write-IDOR and GDPR CASCADE blockers; verification is 26/26.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-17 22:42:11 +02:00
Jakub Zych
d69a3d409e test(19): re-verify Chat and ChatChannels after gap closure
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-17 22:41:29 +02:00
Jakub Zych
70682b4b27 docs(19-07): complete gap-closure unit tests plan
Named postgres tests lock teammate DM write-IDOR and creator-delete CASCADE; the phase gate requires those names. Plans 7/7.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-17 22:37:47 +02:00
Jakub Zych
bd301a1696 test(19-07): require TestTeammateDMWriteIDOR in the phase gate
The fail-closed postgres list now names the teammate DM write-IDOR case so CR-01 cannot regress silently. TestDeletingCascade stays required.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-17 22:37:00 +02:00
Jakub Zych
d1852f6cda docs(19-06): complete participant-only send and GDPR reassignment plan
Record CR-01/CR-02 gap closure and mark the 19-06 ROADMAP checkbox. Plugin repos were committed separately and not pushed.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-17 22:31:22 +02:00
Jakub Zych
29d06bc70e docs(19): plan gap closure for DM send IDOR and GDPR CASCADE
Two gap-closure plans close CR-01 participant-only send and CR-02 created_by reassignment.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-17 22:27:44 +02:00
Jakub Zych
f3d5db8cba test(19): verify Chat and ChatChannels phase
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-17 22:18:23 +02:00
Jakub Zych
aaf75cfb41 docs(19): record code-review disposition as open
All eight Phase 19 review findings stay open after the advisory gate.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-17 22:14:03 +02:00
Jakub Zych
2ddafb8755 docs(19): code review of Chat and ChatChannels
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-17 22:13:29 +02:00
Jakub Zych
4eecd0f039 docs(19.4): capture phase context 2026-10-17 22:09:14 +02:00