From 52f864ebfc58a488037e60b27a778df8c4158f08 Mon Sep 17 00:00:00 2001 From: Jakub Zych Date: Mon, 5 Oct 2026 14:10:11 +0200 Subject: [PATCH] docs(12.1-04): update state and roadmap after the groups and organisations plan --- .planning/ROADMAP.md | 4 ++-- .planning/STATE.md | 20 +++++++++++++------- .planning/state.json | 2 +- 3 files changed, 16 insertions(+), 10 deletions(-) diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 68ecb2e..f24c458 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -649,7 +649,7 @@ Plans: 5. The new code has unit tests, delivered in the phase's last plan. **Open questions (discuss-phase):** impersonate user in or out of scope (security-sensitive); a separate permission for granting the `admin` group (it makes a site admin); whether convert-guest is needed for the application's data. -**Plans:** 3/5 plans executed +**Plans:** 4/5 plans executed Plans: @@ -663,7 +663,7 @@ Plans: - [x] 12.1-03-PLAN.md — Plugin foundation and the Users screen (sm-user-plugin): additive migrations, permissions, navigation, list, filters, preview, form, bulk and record actions, delete semantics, password and invite, avatar, frontend permission resolver, `last_seen`, and the takeover guard for members of privileged groups (D-30) **Wave 4** *(blocked on Wave 3 completion)* -- [ ] 12.1-04-PLAN.md — User Groups and Organisations screens, the `members` relation manager, the privileged-group guard on every `users_groups` write path (T-12-18), and the application's parity allow-list entry and submodule pointer on framework v0.1.3 +- [x] 12.1-04-PLAN.md — User Groups and Organisations screens, the `members` relation manager, the privileged-group guard on every `users_groups` write path (T-12-18), and the application's parity allow-list entry and submodule pointer on framework v0.1.3 **Wave 5** *(blocked on Wave 4 completion)* - [ ] 12.1-05-PLAN.md — Unit tests last: full coverage in both repos, `scripts/check-phase12.1.sh`, the security review and the validation sign-off, then the plugin push (only when v0.1.3 is on origin) diff --git a/.planning/STATE.md b/.planning/STATE.md index 71af12d..fe42306 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -4,16 +4,16 @@ milestone: v1.0 current_phase: "12.1" current_phase_name: User plugin admin screens status: executing -stopped_at: Completed 12.1-03-PLAN.md -last_updated: "2026-10-05T11:34:10.203Z" +stopped_at: Completed 12.1-04-PLAN.md +last_updated: "2026-10-05T12:10:04.406Z" last_activity: 2026-10-04 last_activity_desc: Phase 12.1 execution started -state_head: 76df9c5bd6124d79d84ed67359f46fa347a1d58f +state_head: 3f4a01ddf87da898d7a2a9acde9b06af880eb4b4 progress: total_phases: 22 completed_phases: 11 total_plans: 123 - completed_plans: 121 + completed_plans: 122 milestone_name: milestone --- @@ -29,7 +29,7 @@ See: .planning/PROJECT.md (updated 2026-09-16) ## Current Position Phase: 12.1 (User plugin admin screens) — EXECUTING -Plan: 4 of 5 +Plan: 5 of 5 Status: Ready to execute Last activity: 2026-10-04 — Phase 12.1 execution started @@ -175,6 +175,7 @@ Progress: [██████░░░░] 60% | Phase 12.1 P01 | 38min | 4 tasks | 61 files | | Phase 12.1 P02 | 12h 43m | 6 tasks | 77 files | | Phase 12.1 P03 | 46min | 4 tasks | 40 files | +| Phase 12.1 P04 | 32min | 4 tasks | 35 files | ## Accumulated Context @@ -552,6 +553,11 @@ Recent decisions affecting current work: - [Phase 12.1]: HasPermission ports Winter line by line: a leading asterisk is a wildcard on the asked code only; PermissionSet.Scan fails on content that is not a JSON object rather than read it as empty - [Phase 12.1]: A user created in the admin gets has_self_set_password true and stays not activated; the invitation carries the login and the activation link, never the password - [Phase 12.1]: Plugin admin tests boot the plugin alone through newAdminEnv; mail is read from the log driver because the mailer service cannot be replaced after party.Activate +- [Phase 12.1]: 12.1-04: the user form's groups field is the only writer of users_groups; privileged groups are locked through cabana.RelationLockProvider and need golem15.users.manage_privileged_groups on create and update +- [Phase 12.1]: 12.1-04: creating a group with a privileged code, changing a code to or from one and deleting a privileged group need the extra permission; name, description and frontend permissions of a privileged group need only access_groups +- [Phase 12.1]: 12.1-04: Organisation gained the Go relation field Members (no column) because the relation manager requires the relation on the owner model +- [Phase 12.1]: 12.1-04: the organisation members manager links only users without an organisation; a user moves by unlink then link, or through the user form's organisation field +- [Phase 12.1]: 12.1-04: nothing was pushed; the fonoteka.go pointer names an unpublished plugin commit, so the order is framework tag, then sm-user-plugin (plan 05 Task 3), then fonoteka.go ### Pending Todos @@ -604,6 +610,6 @@ Items acknowledged and carried forward from previous milestone close: ## Session Continuity -Last session: 2026-10-05T11:34:09.660Z -Stopped at: Completed 12.1-03-PLAN.md +Last session: 2026-10-05T12:09:49.753Z +Stopped at: Completed 12.1-04-PLAN.md Resume file: None diff --git a/.planning/state.json b/.planning/state.json index c711aff..fd7113b 100644 --- a/.planning/state.json +++ b/.planning/state.json @@ -99,5 +99,5 @@ "label": "Advance to the next step", "reason": "Phase 12.1 of 22 · executing" }, - "updated_at": "2026-10-05T11:34:04.418Z" + "updated_at": "2026-10-05T12:09:47.011Z" }