Keep master’s exact portfolio image references, including their extensions. The Vue image helper strips extensions only when resolving generated variants, so source naming remains visible without changing the public/assets/ourwork-images structure.
Add the 2025/2026 board and retain master’s exact historical filenames and term labels. Move the five newly referenced portraits into public/assets/past-management-images/original so Vue’s optimiser owns their generated variants while preserving master’s category layout.
Replace the current board roster with master’s exact names, roles, contact details, and filenames. Place the shared coming-soon portrait under public/assets/management-images/original, preserving master’s category structure inside Vite’s served asset root.
Preserve every member name that existed only on the refactor branch under an inactive tier. Vue continues to render master’s junior, senior, and graduate rosters while the merge retains the displaced records without guessing a new status.
Move master’s complete membership roster into the YAML path loaded by Vue. The update records new members, promotions, spelling corrections, and graduate transitions without duplicating people across active tiers.
Keep Karina Reisel’s exact refactor profile in the shared mentor dataset while marking it inactive. Filter inactive records in Vue so master’s current public roster remains authoritative without deleting historical profile data.
Apply master’s mentor roster in the data path consumed by Vue. This preserves Katri Lotamõis’s exact revised wording, adds Lembitu Valdmets’s exact profile, and keeps master’s image filenames because the Vue helper handles extensions directly.
Merge master without restoring the retired Jekyll build, whose layouts, root pages, Sass, and duplicate data paths are not consumed by the Vite build or GitHub Pages artifact.
Carry master’s mentor entries and wording exactly into public/_data/mentors.yml, changing only image filename suffixes required by the Vue image helper. Add Karina Reisel’s exact source portrait and retain the project MIT license.
Exclude line-ending-only rewrites and duplicate board portraits after verifying that byte-identical files already exist in the management image paths used by Vue. Image optimisation and the production build both pass with the resolved tree.
Replace the Svelte badge and stale runtime references with the Vue 3 toolchain, current Node requirement, and reproducible npm ci installation path.
Tell the contributor story from entry point to page: explain how App.vue, the custom router, bilingual routes, shared components, locale JSON, YAML content, public assets, and Vue Storybook fit together, then list the commands used for local development and verification.
Update the component guide for Vue props, slots, layout primitives, Svg.vue variants, and Storybook controls so contributors can find the right abstraction before adding route-specific markup.
Make the custom router follow browser link conventions: resolve clicks from nested elements, preserve query strings and hashes, ignore modified, download, targeted, external, and in-page links, synchronize navigation listeners, and prevent stale lazy imports from replacing the newest route.
Keep language selection authoritative during translated navigation, reject unsupported stored locales, prevent stale translation requests from winning races, and synchronize the document language with standards-based et-EE and en-GB locale identifiers.
Route every YAML-backed page through one loader that checks HTTP responses, validates the parsed data shape against its fallback, and returns safe defaults. Render locale-neutral workshop months with Intl.DateTimeFormat and localize the embedded calendar URL from the active locale.
Replace HTML-bearing Helpdesk and workshop translations with structured plain-text segments rendered through escaped Vue bindings. This preserves emphasis and spacing without v-html, while direct MapLibre markers now build fixed DOM nodes through textContent and clean up safely after asynchronous loading.
Replace the Svelte runtime, Vite plugin, Storybook adapter, and component files with Vue 3 equivalents while preserving the existing route table, page markup, styling, assets, deployment shape, and npm workflows.
Move shared and page-level state onto Vue refs, computed values, lifecycle hooks, and script setup components. Recreate the custom async router and translation composable as Vue-native modules so navigation and bilingual content continue to work without introducing a router or state-management dependency.
Adopt the maintained @lucide/vue package, remove the Svelte icon and map wrappers, and initialize MapLibre directly on the Helpdesk page. Replace the Svelte CSF story with a Vue Storybook story, remove obsolete aliases and generation/config files, and update the audited lockfile with no known vulnerabilities.