diff --git a/aether_app_sveltekit.code-workspace b/aether_app_sveltekit.code-workspace
index 38d3fdd7..c9f40860 100644
--- a/aether_app_sveltekit.code-workspace
+++ b/aether_app_sveltekit.code-workspace
@@ -7,6 +7,7 @@
"settings": {
"cSpell.words": [
"autofetch",
+ "Axonius",
"displayplacer",
"filelist",
"gsettings",
diff --git a/documentation/TODO__Agents.md b/documentation/TODO__Agents.md
index 01a04fab..5a0b3e6f 100644
--- a/documentation/TODO__Agents.md
+++ b/documentation/TODO__Agents.md
@@ -56,10 +56,8 @@ When navigating from the Presenter View to the Launcher, the frontend has to do
session lookup to discover the location (magic redirect in launcher base `+page.svelte`).
Joining `event_session.event_location_id` into the presenter view/response would let the
frontend pass the location directly in the Launcher URL without the extra lookup.
-- Backend: add `event_location_id` (and `event_location_id_random`) to the `event_presenter`
- view or API response
-- Frontend: add `event_location_id` to `ae_EventPresenter` type and `properties_to_save`;
- pass as `events__launcher_id` in `presenter_page_menu.svelte`
+- [x] Backend: added `event_location_id` (and `event_location_id_random`) to the `event_presenter` view or API response (2026-04-09)
+- [x] Frontend: updated `ae_EventPresenter` type and `properties_to_save`; now pass as `events__launcher_id` in `presenter_page_menu.svelte` (2026-04-09)
@@ -180,8 +178,7 @@ Full audit: `src/routes/events/[event_id]/(leads)/` and `src/lib/ae_events/ae_ev
3 states: paid confirmation (priority=true), admin setup hint / "contact organizer" (no Stripe config),
payment form. `client_reference_id=exhibit_id`. TypeScript declaration in `app.d.ts`.
Stripe keys verified visible in `$ae_loc.site_cfg_json` on dev/demo site. Keys need validity check in Stripe dashboard.
-- [ ] **End-to-end smoke test** — sign in with shared passcode, scan/search a badge, add a lead,
- view detail, add notes/responses, export CSV; verify on mobile (Chrome/Safari PWA)
+- [x] **End-to-end smoke test (canceled by client)** — sign in with shared passcode, scan/search a badge, add a lead, view detail, add notes/responses, export CSV; canceled 2026-04-09.
- [x] **Install prompt** — PWA install nudge implemented (2026-03-16). `pwa_install.svelte.ts`
singleton captures `beforeinstallprompt` (Chrome/Android/desktop) and detects iOS Safari
for manual "Share → Add to Home Screen" instructions. Reusable `element_pwa_install_prompt.svelte`
diff --git a/src/routes/events/[event_id]/(badges)/badges/+page.svelte b/src/routes/events/[event_id]/(badges)/badges/+page.svelte
index 0d726f13..e1ff731c 100644
--- a/src/routes/events/[event_id]/(badges)/badges/+page.svelte
+++ b/src/routes/events/[event_id]/(badges)/badges/+page.svelte
@@ -429,62 +429,64 @@ async function handle_search_refresh(params: any) {
>
{#if $ae_loc.trusted_access && $ae_loc.edit_mode}
-