MYCDIC v1.9.30.9
Network, Member Profiles, Territorial Architecture and Council Notices
Release date: 2026-08-23

1. Council announcements
- Updating an existing announcement keeps the original public record ID.
- New-form submissions with the same durable notice identity (title + type + destination) update the existing live record instead of publishing a duplicate.
- Existing duplicate notice records can be compacted into the original record while preserving the latest content and combining read analytics.
- The announcement control is created closed immediately and does not wait for the public-experience API.
- Backdrop and panel use inline display:none !important while closed, preventing one-frame modal flashes caused by late CSS or navigation/refresh.
- Stale browser back/forward-cache body locks are cleared before rendering the closed notice centre.
- The notice panel still locks only the background page while open; its own list remains scrollable.

2. Representation leadership titles
- Ambassador-led country representations use: Head of MYCDIC in {Country}.
- Youth Ambassador remains a separate role/badge and ambassador appointment label.
- Old combined display wording such as “Youth Ambassador and Head of MYCDIC in …” was removed from active network/member/search/open-data records and import examples.

3. Canonical representation flag
- A member linked to a country representation resolves the country and approved flag live from network.json.
- Correcting/replacing a representation flag in the dashboard therefore updates the linked member profile without a second flag upload.
- Verified with Aicha Moussa / Spain.

4. Office and official relationships
- Office records and member profiles now synchronize director-to-office connections through one Office Registry relationship.
- Stale explicit office-unit links are removed when a person is no longer connected to that unit.
- European Affairs is a published International Office directorate connected to its current director.
- Verified with Rhali Douyeb -> European Affairs -> /offices/international-european-affairs/.

5. Rich member profile microsites
- Profile navigation: Overview, Biography, Experience, Public activity, Contact.
- Live verified identity, appointment, mandate and representation/office connections.
- Biography, academic profile, education, professional experience, selected projects and public achievements.
- Languages and expertise.
- LinkedIn, Instagram, X, Facebook, website and public email fields.
- Optional CV PDF and initiative gallery.
- Linked Council News.
- Representation flag next to the portrait resolves from the current representation record.
- These fields are managed in the protected member dashboard and remain hidden when empty.

6. Country representation microsites
- /network/{country}/ is expanded into an institutional microsite rather than a simple record page.
- Sections include Overview, Leadership, Structure, Regional & city network, Performance readiness, Programmes, Resources and Contact according to dashboard visibility settings.
- Responsible continental structure and responsible directorate link to their own public pages.
- Representation leadership links to the verified member profile.
- Country territorial-map image can be uploaded from the representation dashboard and remains attached through later updates.

7. Top 3 Representations mobile repair
- Added a dedicated v199-top-rep-grid.
- Desktop retains a three-card presentation.
- Phones render one full-width representation per row, with readable flag, rank and country name.
- Prevents the narrow three-column layout shown in the reported mobile screenshot.

8. PHP regional and city network for every country
- New shared territorial dataset: data/platform/territorial-network.json.
- New protected manager: Institutional Admin -> Regional & Local Networks.
- A country can receive region/city nodes, parent region, status, leader, public page switch, contact and map coordinates.
- PHP routes are generated automatically under /network/{country}/local/{slug}/ when enabled.
- Planned pages explicitly state that they do not imply an operating office.

9. Morocco national territorial architecture
- Seeded 12 Morocco regions and 60 city records.
- National Office page renders the complete Morocco map with PHP-driven region markers and region directory.
- Each region has a dashboard-controlled page under /morocco/regions/{slug}/.
- Each city has a dashboard-controlled page under /morocco/cities/{slug}/.
- Region/city leader, status, summary, contact and page visibility are editable from Regional & Local Networks.
- Default copy clearly states that regional/local youth offices are future/planned and will be announced after institutional activation.
- Planned territorial pages use noindex,follow. When status becomes Active/Published/Operational, they become indexable and can enter the network XML sitemap automatically.

10. Public search and open data
- Member and representation search-index records were regenerated after title normalization.
- Current member search results use the separate Head of MYCDIC / Youth Ambassador model.
- Network open-data CSV was synchronized with the current network dataset.

11. Cache and shell consistency
- site-shell.js and site-shell-ui references use v1.9.30.9 on public pages including generated country pages.
- Announcement CSS v1.9.30.9 is injected by the shared shell.

Validation completed
- 444 PHP files: 0 syntax errors.
- 140 JSON files: 0 invalid files.
- Critical JavaScript files passed node --check.
- Aicha profile flag equals the live Spain representation flag.
- Aicha public title: Head of MYCDIC in Spain.
- Rhali Douyeb resolves to European Affairs office.
- 12 Morocco region routes and 60 Morocco city routes generated.
- Planned Morocco pages verified noindex until activation.
- Announcement create/update regression test: two saves of the same public notice produce 1 record with the same ID and latest content.
- Old combined ambassador/head display wording: 0 active matches in the release tree.
