docs(17-02): complete group expansion HTML reports plan

- 17-02-SUMMARY.md created
- STATE.md updated: session, decisions, progress
- ROADMAP.md: phase 17 marked complete (2/2 plans)
- REQUIREMENTS.md: RPT-01 marked complete
This commit is contained in:
Dev
2026-04-09 13:11:21 +02:00
parent aab3aee3df
commit 23ed46e614
4 changed files with 92 additions and 11 deletions

View File

@@ -3,14 +3,14 @@ gsd_state_version: 1.0
milestone: v2.3
milestone_name: Tenant Management & Report Enhancements
status: planning
stopped_at: Completed 17-01-PLAN.md
last_updated: "2026-04-09T11:06:09.877Z"
stopped_at: Completed 17-02-PLAN.md
last_updated: "2026-04-09T11:11:11.458Z"
last_activity: 2026-04-09 — Roadmap created for v2.3 (phases 15-19)
progress:
total_phases: 5
completed_phases: 2
completed_phases: 3
total_plans: 6
completed_plans: 5
completed_plans: 6
---
# Project State
@@ -70,6 +70,7 @@ Decisions are logged in PROJECT.md Key Decisions table.
- [Phase 16-report-consolidation-toggle]: Separate locIdx counter for location groups (loc0, loc1...) distinct from grpIdx for user groups (ugrp0...) prevents ID collision
- [Phase 17]: Static helpers IsAadGroup/ExtractAadGroupId/StripClaims declared internal to enable unit testing via InternalsVisibleTo without polluting public API
- [Phase 17]: Graph client created lazily on first AAD group encountered to avoid unnecessary auth overhead for groups with no nested AAD members
- [Phase 17]: groupMembers optional param in HtmlExportService — null produces identical pre-Phase-17 output; ISharePointGroupResolver injected as optional last param in PermissionsViewModel; resolution failure degrades gracefully with LogWarning
### Pending Todos
@@ -81,7 +82,7 @@ None.
## Session Continuity
Last session: 2026-04-09T11:06:05.361Z
Stopped at: Completed 17-01-PLAN.md
Last session: 2026-04-09T11:11:03.823Z
Stopped at: Completed 17-02-PLAN.md
Resume file: None
Next step: `/gsd:plan-phase 15`