# Eve Polish — Member-Facing String Inventory (2026-08)

<!-- GENERATED by tools/build-assistant-string-inventory.mjs — do not hand-edit.
Editorial verdicts live in EVE_POLISH_STRING_VERDICTS_2026-08.json and are merged in here. -->

Companion to `EVE_DEEP_TEST_AND_POLISH_TODOS_2026-08-04.md` (task 3.1 builds it, 3.2 rules on every row, 13.1 re-runs and diffs).

**2230 distinct strings** across **62 files** and 2493 call sites · content hash `c8786be24e8f` · **0 judged, 2230 pending**.

Verdicts: `keep` (ships as written) · `rewrite` (new wording recorded) · `remove` (should not render to a member) · `not-member-facing` (builder/operator-only path, no member voice requirement).

## action router — 69 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `8e66038709` | Action timed out after {…}ms | lib:action-router.ts:1282 | — |  |
| `a38450ea76` | Add meditation to favorites | lib:action-router.ts:127 | — |  |
| `e5e956f3e4` | An observation needs the sky you saw: clear, partial, overcast, or lightDome. Ask the member how the sky looked, then log it. | lib:action-router.ts:908 | — |  |
| `4d3ba2a1e4` | Check desktop update status | lib:action-router.ts:704 | — |  |
| `7e0d95145e` | Continue the last Nisaba passage | lib:action-router.ts:339 | — |  |
| `4e2a5c353a` | Evaluate and check for new achievement unlocks | lib:action-router.ts:550 | — |  |
| `7b5bd92892` | Follow a news topic | lib:action-router.ts:188 | — |  |
| `b996b06b19` | Full sync of wearable data | lib:action-router.ts:603 | — |  |
| `ef8c2599f8` | Get achievement leaderboard | lib:action-router.ts:592 | — |  |
| `8de3e9e389` | Get achievement summary and progress | lib:action-router.ts:540 | — |  |
| `00ca4e330d` | Get active goals and streaks | lib:action-router.ts:305 | — |  |
| `706a20c5e9` | Get active goals for evening reflection | lib:action-router.ts:512 | — |  |
| `1c53720927` | Get active goals for morning planning | lib:action-router.ts:502 | — |  |
| `4351d21d34` | Get active wearable reminders | lib:action-router.ts:633 | — |  |
| `7140b34e74` | Get Arete highlights for overview | lib:action-router.ts:747 | — |  |
| `c0820f1e3f` | Get current growth plan | lib:action-router.ts:315 | — |  |
| `b29fd67f6e` | Get desktop tray status | lib:action-router.ts:684 | — |  |
| `1b8773ab6f` | Get evening meditation recommendations for routine | lib:action-router.ts:518 | — |  |
| `d5800e3504` | Get event reminders | lib:action-router.ts:267 | — |  |
| `75b9f4c2c6` | Get glanceable watch face summary | lib:action-router.ts:653 | — |  |
| `42d7492f21` | Get keyboard shortcuts list | lib:action-router.ts:714 | — |  |
| `deb2cada6b` | Get meditation course progress | lib:action-router.ts:106 | — |  |
| `be61a0b534` | Get meditation recommendations to start a session | lib:action-router.ts:76 | — |  |
| `8a7fff5c68` | Get Metis highlights for overview | lib:action-router.ts:759 | — |  |
| `b8e17357f9` | Get morning meditation recommendations for routine | lib:action-router.ts:496 | — |  |
| `d5873e73c6` | Get Nisaba highlights for overview | lib:action-router.ts:753 | — |  |
| `d9a1bfad61` | Get Nisaba workspace entries | lib:action-router.ts:353 | — |  |
| `95090398e6` | Get Nyx highlights for overview | lib:action-router.ts:741 | — |  |
| `1fcfff80b8` | Get recommended meditation sessions | lib:action-router.ts:96 | — |  |
| `1d324c83c0` | Get recommended Metis courses | lib:action-router.ts:403 | — |  |
| `f280767bff` | Get routine information | lib:action-router.ts:529 | — |  |
| `95bd90f63c` | Get saved articles | lib:action-router.ts:177 | — |  |
| `ac1148ef16` | Get sidebar widget data | lib:action-router.ts:694 | — |  |
| `c21f037b59` | Get Tara highlights for overview | lib:action-router.ts:729 | — |  |
| `717f117145` | Get today's Nisaba passage | lib:action-router.ts:329 | — |  |
| `27add8922e` | Get tonight's sky highlights | lib:action-router.ts:214 | — |  |
| `a0b4b33b8b` | Get top fact-checked claims | lib:action-router.ts:155 | — |  |
| `c72a676af1` | Get trending topics | lib:action-router.ts:199 | — |  |
| `c0a66e96b9` | Get trending verified stories | lib:action-router.ts:142 | — |  |
| `2786155e1a` | Get upcoming astronomical events | lib:action-router.ts:224 | — |  |
| `bffb05b1cb` | Get Veritas highlights for overview | lib:action-router.ts:735 | — |  |
| `b3e18e545d` | Get watch complication data | lib:action-router.ts:613 | — |  |
| `aa28bf93a1` | Get wearable daily summary | lib:action-router.ts:643 | — |  |
| `6a25e8da9d` | Get wearable streak widgets | lib:action-router.ts:623 | — |  |
| `9de0bb9a29` | Join a community challenge | lib:action-router.ts:571 | — |  |
| `2436f1123b` | List accountability partnerships | lib:action-router.ts:582 | — |  |
| `22dfb89c6e` | List available and active challenges | lib:action-router.ts:560 | — |  |
| `3b3395dc6a` | List favorite meditation sessions | lib:action-router.ts:116 | — |  |
| `6977534ea4` | Log a sky observation | lib:action-router.ts:256 | — |  |
| `a38be795e3` | Navigate to daily check-in | lib:action-router.ts:295 | — |  |
| `d50c3b8275` | Open Metis assessments | lib:action-router.ts:458 | — |  |
| `45a54bfaae` | Open Metis tutoring | lib:action-router.ts:448 | — |  |
| `ef61ef60c9` | Open the Metis course catalog | lib:action-router.ts:438 | — |  |
| `43cf902b3b` | Open the Nisaba comparison workspace | lib:action-router.ts:388 | — |  |
| `e1c3c54f84` | Open the Nisaba library | lib:action-router.ts:378 | — |  |
| `8c669b7d22` | Resume the last meditation session | lib:action-router.ts:86 | — |  |
| `0855cdb1f3` | Resume the Metis learning thread | lib:action-router.ts:413 | — |  |
| `1066066a14` | Save article to reading list | lib:action-router.ts:166 | — |  |
| `0482c18042` | Search across all domains | lib:action-router.ts:485 | — |  |
| `01c0ad4233` | Search failed | lib:action-router.ts:1264 | — |  |
| `89d44cffdc` | Search for celestial objects | lib:action-router.ts:239 | — |  |
| `a8f7f52a5c` | Search the Metis catalog | lib:action-router.ts:427 | — |  |
| `f9a8190e44` | Search the Nisaba library | lib:action-router.ts:367 | — |  |
| `f2c262c1d9` | Set event reminder | lib:action-router.ts:283 | — |  |
| `413eb1fb8c` | Switch to {…} | lib:action-router.ts:472 | — |  |
| `cca1c9d95a` | Toggle a desktop window | lib:action-router.ts:664 | — |  |
| `c39ffe8ba1` | Toggle desktop focus mode | lib:action-router.ts:674 | — |  |
| `1a81cc20fa` | Unknown action type: {…} | lib:action-router.ts:1176 | — |  |
| `5ce0f2f073` | Unknown error during action execution | lib:action-router.ts:785 | — |  |

## anchors — 10 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `1f4f920be3` | (NOT always present — see above) | lib:assistant-anchors.ts:216 | — |  |
| `8396f12b12` | Assistant message input where the member types or dictates prompts. | lib:assistant-anchors.ts:172 | — |  |
| `21abbdce91` | Command palette dialog listing navigation, search, and create commands. Only exists while the palette is open — open it first, or point at something else. | lib:assistant-anchors.ts:158 | — |  |
| `607a7d3124` | Control showing the active domain and switching between domains. | lib:assistant-anchors.ts:146 | — |  |
| `1b7c19055b` | Floating assistant launcher, present ONLY on pages without the shell chrome. Inside the shell, point at shell.assistant-trigger instead. | lib:assistant-anchors.ts:184 | — |  |
| `b8f4a97684` | Header button that opens the assistant panel. | lib:assistant-anchors.ts:132 | — |  |
| `06800eb648` | Home journey rail with time-of-day practice suggestions. | lib:assistant-anchors.ts:191 | — |  |
| `0456ceee7c` | Marginalia in the member’s own hand against the critical text, and the passages they have highlighted. | lib:assistant-anchors.ts:58 | — |  |
| `fbb1e9ea32` | Primary shell navigation with the main destination tabs. | lib:assistant-anchors.ts:139 | — |  |
| `7444029bb5` | The notebook entry the member is writing — their prose, their pull-quotes, their footnotes and the questions they set themselves in the margin. | lib:assistant-anchors.ts:52 | — |  |

## assistant routes — 13 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `c7d8be86b9` | Assistant | web:app/assistant/AssistantEntryRoute.tsx:54<br>web:app/assistant/audit/page.tsx:21<br>web:app/assistant/graph/page.tsx:21<br>+2 more | — |  |
| `d6d27bb6b1` | Builder graph explorer: the unified product-knowledge graph with e2e coverage, docs, open work, and decisions — plus the workbench kanban and ADR timeline. | web:app/assistant/graph/page.tsx:10 | — |  |
| `4f8997b5be` | Contextual Lilith assistant entry for navigation, grounded answers, and domain actions. | web:app/assistant/page.tsx:12 | — |  |
| `35c63ae418` | Coverage board for the assistant-guided feature audit: every catalogued flow, what is done, skipped, and pending. | web:app/assistant/audit/page.tsx:10 | — |  |
| `bf5eab4803` | Current shell context is ready for navigation, grounded answers, and domain actions. | web:app/assistant/AssistantEntryRoute.tsx:57 | — |  |
| `94d0a51bfe` | Every compiled representation of the product — features, journeys, docs, routes — with the workbench&apos;s live work and decisions layered on top. Coverage numbers come from the same analyzer the assistant serves; nothing is recomputed here. | web:app/assistant/graph/page.tsx:39 | — |  |
| `f1efaa7628` | Feature audit | web:app/assistant/audit/page.tsx:8<br>web:app/assistant/audit/page.tsx:22<br>web:app/assistant/audit/page.tsx:36 | — |  |
| `f7a65804af` | Help me choose the next useful Lilith route. | web:app/assistant/entry-prompt.ts:13 | — |  |
| `a1908f2f99` | Loading the product graph… | web:app/assistant/graph/page.tsx:44 | — |  |
| `67ff0edc06` | Open assistant | web:app/assistant/AssistantEntryRoute.tsx:85 | — |  |
| `fc15937552` | Product graph | web:app/assistant/graph/page.tsx:8<br>web:app/assistant/graph/page.tsx:22<br>web:app/assistant/graph/page.tsx:36 | — |  |
| `2aebea698b` | Shell utility | web:app/assistant/AssistantEntryRoute.tsx:42 | — |  |
| `92ecc790ab` | The assistant walks every catalogued flow in canonical order and records the outcome here — visited, or skipped with a note. This board and the chat share one durable record. | web:app/assistant/audit/page.tsx:39 | — |  |

## assistant settings — 110 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `795c1708da` | {…} · {…} · {…} tone · {…} | web:components/profile/AssistantControlsSection.tsx:252 | — |  |
| `75fe96d638` | {…} approved memory lanes can be explained to you on demand. | web:components/profile/AssistantControlsSection.tsx:235 | — |  |
| `bb87c5e2cb` | A small panel may hide the memory chip, but what she remembers is unchanged. | web:components/profile/AssistantControlsSection.tsx:314 | — |  |
| `a6e77991c7` | Allow a synthetic avatar wherever Lilith can show one. | web:components/profile/AssistantControlsSection.tsx:359 | — |  |
| `53c216fe20` | Allow consented profile memory to shape responses across future sessions. | web:components/profile/AssistantControlsSection.tsx:39 | — |  |
| `de63b46b14` | Allow Lilith to reuse approved saved memory across future assistant sessions. | web:components/profile/AssistantControlsSection.tsx:459 | — |  |
| `81d986bee3` | Allow spoken assistant playback when voice output is available. | web:components/profile/AssistantControlsSection.tsx:345 | — |  |
| `3ae51226f4` | Approved memory | web:components/profile/AssistantControlsSection.tsx:38 | — |  |
| `a3109a229c` | Approved memory consent | web:components/profile/AssistantControlsSection.tsx:458 | — |  |
| `14c62bf8d5` | Approved memory consent {…} | web:components/profile/AssistantControlsSection.tsx:474 | — |  |
| `ef0a467ba5` | Approved memory summary cleared | web:components/profile/AssistantControlsSection.tsx:526 | — |  |
| `b4af3944e4` | Assistant delivery | web:components/profile/AssistantControlsSection.tsx:330 | — |  |
| `da98fa3953` | Assistant memory set to {…} | web:components/profile/AssistantControlsSection.tsx:425 | — |  |
| `17df996fe3` | Avatar presence | web:components/profile/AssistantControlsSection.tsx:358 | — |  |
| `c5f5fda747` | Avatar presence {…} | web:components/profile/AssistantControlsSection.tsx:366 | — |  |
| `dd1e209c0d` | Balanced | web:components/profile/AssistantControlsSection.tsx:130 | — |  |
| `dbe8e7440d` | Bias toward actionable coaching, accountability, and concrete next moves. | web:components/profile/AssistantControlsSection.tsx:94 | — |  |
| `8c0b2f976d` | Blend warmth, clarity, and directness depending on the current request. | web:components/profile/AssistantControlsSection.tsx:132 | — |  |
| `2574ecb37c` | Calm | web:components/profile/AssistantControlsSection.tsx:123 | — |  |
| `f7e9a53b61` | Care | web:components/profile/AssistantControlsSection.tsx:107 | — |  |
| `cc56dde6fa` | Carry notebook, grounding, and study continuity into future assistant turns. | web:components/profile/AssistantControlsSection.tsx:61 | — |  |
| `31cb4669e0` | Choose how much context the assistant can carry forward, then gate profile memory with explicit consent and category-level control. | web:components/profile/AssistantControlsSection.tsx:392 | — |  |
| `8a751836db` | Choose how the assistant should relate to you when explaining, coaching, or guiding across Lilith. | web:components/profile/AssistantControlsSection.tsx:1026 | — |  |
| `9d95f77054` | Clarity | web:components/profile/AssistantControlsSection.tsx:86 | — |  |
| `f16d8ec783` | Clear approved memory summary | web:components/profile/AssistantControlsSection.tsx:514 | — |  |
| `15fce41490` | Cleared | web:components/profile/AssistantControlsSection.tsx:516 | — |  |
| `c04bd26e7c` | color-mix(in srgb, {…} 12%, transparent) | web:components/profile/AssistantControlsSection.tsx:162 | — |  |
| `34661803ed` | Compare persona families without dropping the current disclosure strip or memory boundary. | web:components/profile/AssistantControlsSection.tsx:812 | — |  |
| `b0e7c02f62` | Content tone | web:components/profile/AssistantControlsSection.tsx:1097 | — |  |
| `741888367e` | Current thread | web:components/profile/AssistantControlsSection.tsx:33<br>web:components/profile/AssistantControlsSection.tsx:251 | — |  |
| `48b0fa998c` | Default | web:components/profile/AssistantControlsSection.tsx:131 | — |  |
| `0a3d546c17` | Depth | web:components/profile/AssistantControlsSection.tsx:100 | — |  |
| `a6fa3f263f` | Direct | web:components/profile/AssistantControlsSection.tsx:137 | — |  |
| `7d78bb039a` | Disclosure | web:components/profile/AssistantControlsSection.tsx:557 | — |  |
| `0040dc29ed` | Favor contemplative framing, synthesis, and deeper interpretive context. | web:components/profile/AssistantControlsSection.tsx:101 | — |  |
| `e6cbc33b67` | Gentle | web:components/profile/AssistantControlsSection.tsx:122 | — |  |
| `0dc07b6e56` | Grounding labels appear whenever evidence is used. | web:components/profile/AssistantControlsSection.tsx:232 | — |  |
| `bf2bf1deb6` | Grounding labels stay compact unless evidence detail is expanded. | web:components/profile/AssistantControlsSection.tsx:233 | — |  |
| `99ad6d2d01` | Grounding note | web:components/profile/AssistantControlsSection.tsx:604 | — |  |
| `7fa18f0edf` | Grounding note {…} | web:components/profile/AssistantControlsSection.tsx:614 | — |  |
| `71219f301b` | Guide across the app | web:components/profile/AssistantControlsSection.tsx:78 | — |  |
| `35a885d147` | Guide identity can collapse on compact assistant entry points. | web:components/profile/AssistantControlsSection.tsx:227 | — |  |
| `a9f0a1d481` | Guide identity label | web:components/profile/AssistantControlsSection.tsx:572 | — |  |
| `20742d7afa` | Guide identity label {…} | web:components/profile/AssistantControlsSection.tsx:582 | — |  |
| `2c81c75815` | Helps with: | web:components/profile/AssistantControlsSection.tsx:986 | — |  |
| `89ea16387e` | Hide options | web:components/profile/AssistantControlsSection.tsx:827 | — |  |
| `efdca67383` | Keep a user-accessible explanation of what is remembered and why. | web:components/profile/AssistantControlsSection.tsx:653 | — |  |
| `52d3c31845` | Keep context for this active assistant thread without saving durable memory. | web:components/profile/AssistantControlsSection.tsx:34 | — |  |
| `27d11ae10d` | Keep highly sensitive categories behind explicit opt-in and tighter review. | web:components/profile/AssistantControlsSection.tsx:65 | — |  |
| `a8a75805b4` | Keep responses concise, plainspoken, and decisive when the task is clear. | web:components/profile/AssistantControlsSection.tsx:139 | — |  |
| `657484b5f4` | Keep the posture softer, more relational, and reassuring without losing focus. | web:components/profile/AssistantControlsSection.tsx:108 | — |  |
| `ca726d72d0` | Last memory update: {…}. Cleared: {…}. | web:components/profile/AssistantControlsSection.tsx:313 | — |  |
| `99e0d4ce17` | Last refreshed {…}. Sensitive memory remains off unless separately consented. | web:components/profile/AssistantControlsSection.tsx:515 | — |  |
| `204fa2bd02` | Leads with where you are, what is next, and a calm hand between rooms. | web:components/profile/AssistantControlsSection.tsx:80 | — |  |
| `9d10cd7c5c` | Lean into evidence, provenance, nuance, and text-aware explanation. | web:components/profile/AssistantControlsSection.tsx:146 | — |  |
| `66583fc93d` | Memory boundary | web:components/profile/AssistantControlsSection.tsx:383 | — |  |
| `b3209de7bc` | Memory explanation | web:components/profile/AssistantControlsSection.tsx:652 | — |  |
| `08596e7cf3` | Memory explanation {…} | web:components/profile/AssistantControlsSection.tsx:662 | — |  |
| `1289dd3267` | Memory explanations stay behind a review step you choose to open. | web:components/profile/AssistantControlsSection.tsx:236 | — |  |
| `c5f73c3836` | Memory indicator | web:components/profile/AssistantControlsSection.tsx:588 | — |  |
| `0bd436e07c` | Memory indicator {…} | web:components/profile/AssistantControlsSection.tsx:598 | — |  |
| `44c081765d` | Memory status is shown with {…} scope. | web:components/profile/AssistantControlsSection.tsx:229 | — |  |
| `63ccb4a8fb` | Momentum | web:components/profile/AssistantControlsSection.tsx:93 | — |  |
| `f99530edfb` | not yet refreshed | web:components/profile/AssistantControlsSection.tsx:281 | — |  |
| `547ffa0a65` | Orientation | web:components/profile/AssistantControlsSection.tsx:79 | — |  |
| `5e9141a16c` | Persona options | web:components/profile/AssistantControlsSection.tsx:810 | — |  |
| `6c34b3574a` | Pick the guide Lilith should start with, then fine-tune how she sounds wherever you open her. | web:components/profile/AssistantControlsSection.tsx:688 | — |  |
| `812266e05c` | Practical mentor | web:components/profile/AssistantControlsSection.tsx:92 | — |  |
| `ac1ad6d355` | Prefer softer phrasing, lower-friction suggestions, and emotionally lighter copy. | web:components/profile/AssistantControlsSection.tsx:125 | — |  |
| `4c639eb2df` | Preferred content tone set to {…} | web:components/profile/AssistantControlsSection.tsx:1127 | — |  |
| `fd4be63713` | Preferred persona | web:components/profile/AssistantControlsSection.tsx:679 | — |  |
| `c97a45ae30` | Preferred persona set to {…} | web:components/profile/AssistantControlsSection.tsx:875 | — |  |
| `81087a2c47` | Preferred teacher style set to {…} | web:components/profile/AssistantControlsSection.tsx:1048 | — |  |
| `960def3109` | Prompt only | web:components/profile/AssistantControlsSection.tsx:28 | — |  |
| `bbedae7aa4` | Ready | web:components/profile/AssistantControlsSection.tsx:516 | — |  |
| `072c70867e` | Recall energy, mood, or check-in trends when you explicitly share them. | web:components/profile/AssistantControlsSection.tsx:57 | — |  |
| `af89495df6` | Reflective sage | web:components/profile/AssistantControlsSection.tsx:99 | — |  |
| `36dfc3b057` | Retain preferred rituals, timing, and recurring practice structures. | web:components/profile/AssistantControlsSection.tsx:49 | — |  |
| `b56a463997` | Routine cues | web:components/profile/AssistantControlsSection.tsx:48 | — |  |
| `92cbfc22d3` | Saved items | web:components/profile/AssistantControlsSection.tsx:52 | — |  |
| `0968408bd7` | Scholarly | web:components/profile/AssistantControlsSection.tsx:144 | — |  |
| `c779cd13dc` | Sensitive traits | web:components/profile/AssistantControlsSection.tsx:64 | — |  |
| `b2d7ed02f1` | Sensitive traits stay opt-in and are intended for governed escalation paths only. Support teams can inspect consent state and disclosure posture without broad memory access. | web:components/profile/AssistantControlsSection.tsx:542 | — |  |
| `0f0f0255ab` | Set the default tone for summaries, recommendations, and assistant replies when the task leaves room for stylistic choice. | web:components/profile/AssistantControlsSection.tsx:1105 | — |  |
| `00fdb063fd` | Sharp | web:components/profile/AssistantControlsSection.tsx:138 | — |  |
| `5e10811ba7` | Show options | web:components/profile/AssistantControlsSection.tsx:827 | — |  |
| `a696ebe447` | Show the active guide name and persona family where the assistant appears. | web:components/profile/AssistantControlsSection.tsx:573 | — |  |
| `3edd297668` | Show the synthetic avatar disclosure when avatar presence is active. | web:components/profile/AssistantControlsSection.tsx:637 | — |  |
| `8240ec3943` | Show the synthetic voice disclosure when voice replies are active. | web:components/profile/AssistantControlsSection.tsx:621 | — |  |
| `81e92c1ab0` | Show when a reply is grounded in evidence or retrieved sources. | web:components/profile/AssistantControlsSection.tsx:605 | — |  |
| `ae8a66d513` | Show whether the assistant is using prompt-only, session, or approved memory. | web:components/profile/AssistantControlsSection.tsx:589 | — |  |
| `cd1bc59a8a` | Source-led | web:components/profile/AssistantControlsSection.tsx:145 | — |  |
| `986e51e780` | Structured teacher | web:components/profile/AssistantControlsSection.tsx:85 | — |  |
| `fc94826e5e` | Study context | web:components/profile/AssistantControlsSection.tsx:60 | — |  |
| `cbac85ac05` | Supportive companion | web:components/profile/AssistantControlsSection.tsx:106 | — |  |
| `46e00c6436` | Synthetic avatar badge | web:components/profile/AssistantControlsSection.tsx:636 | — |  |
| `5af483851b` | Synthetic avatar badge {…} | web:components/profile/AssistantControlsSection.tsx:646 | — |  |
| `07f3ffa84b` | Synthetic voice badge | web:components/profile/AssistantControlsSection.tsx:620 | — |  |
| `48f7c3c2c6` | Synthetic voice badge {…} | web:components/profile/AssistantControlsSection.tsx:630 | — |  |
| `8f69b3e44e` | Teacher posture | web:components/profile/AssistantControlsSection.tsx:1018 | — |  |
| `719a427a5d` | The assistant uses only the current prompt and no retained thread context. | web:components/profile/AssistantControlsSection.tsx:29 | — |  |
| `3807dd2704` | These cues keep assistant behavior legible when personas, grounding, or synthetic output change the response posture. | web:components/profile/AssistantControlsSection.tsx:566 | — |  |
| `aaf035fe05` | Use more explicit explanation, sequencing, and concept-building when teaching. | web:components/profile/AssistantControlsSection.tsx:87 | — |  |
| `2669968483` | Use saved sessions, readings, and objects to personalize future guidance. | web:components/profile/AssistantControlsSection.tsx:53 | — |  |
| `08b7cf4fb8` | Voice replies | web:components/profile/AssistantControlsSection.tsx:344 | — |  |
| `f74ba7454a` | Voice replies {…} | web:components/profile/AssistantControlsSection.tsx:352 | — |  |
| `3b81e8210d` | Voice, avatar, and disclosure behave the same wherever you open Lilith. | web:components/profile/AssistantControlsSection.tsx:339 | — |  |
| `e933ec67de` | Wellbeing signals | web:components/profile/AssistantControlsSection.tsx:56 | — |  |
| `c4acff2eea` | What she remembers is unchanged; a small panel may simply hide the indicator. | web:components/profile/AssistantControlsSection.tsx:230 | — |  |
| `ffc3075bd9` | You can always see which guide you are talking to. | web:components/profile/AssistantControlsSection.tsx:226 | — |  |

## audit board — 52 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `73b95ddc04` | — they are not part of this walk, and the audit will not send you looking for them. | web:components/assistant/AuditCoverageBoard.tsx:278 | — |  |
| `e4f0b45c33` | — they had left the catalog and could not be walked. | web:components/assistant/AuditCoverageBoard.tsx:323 | — |  |
| `a902618c6c` | . They are outside this walk and outside the totals below. | web:components/assistant/AuditCoverageBoard.tsx:338 | — |  |
| `90d2aa0084` | · catalog | web:components/assistant/AuditCoverageBoard.tsx:305 | — |  |
| `8d1522f20e` | · started | web:components/assistant/AuditCoverageBoard.tsx:305 | — |  |
| `0f17cd3eb1` | {…} audit coverage | web:components/assistant/AuditCoverageBoard.tsx:98 | — |  |
| `9421b20e34` | {…} done and {…} skipped of {…} flows | web:components/assistant/AuditCoverageBoard.tsx:102 | — |  |
| `64fd047734` | {…} flows in this run have since been removed from the catalog. | web:components/assistant/AuditCoverageBoard.tsx:356 | — |  |
| `8a69ac7632` | 1 flow in this run has since been removed from the catalog. | web:components/assistant/AuditCoverageBoard.tsx:355 | — |  |
| `dd59c79bda` | Anything already recorded against them still counts in the totals below, and the walk will not send you to them. | web:components/assistant/AuditCoverageBoard.tsx:357 | — |  |
| `c3b6696e3d` | Audit complete — every flow visited or skipped with a note. | web:components/assistant/AuditCoverageBoard.tsx:318 | — |  |
| `08b231c147` | Audit coverage is unavailable: | web:components/assistant/AuditCoverageBoard.tsx:254 | — |  |
| `ca796e3955` | cannot be visited or skipped. Everything you did record is kept in the totals above. | web:components/assistant/AuditCoverageBoard.tsx:527 | — |  |
| `06e02128ee` | Close this run and start a new one | web:components/assistant/AuditCoverageBoard.tsx:537 | — |  |
| `9a8187d002` | Continue this flow in chat | web:components/assistant/AuditCoverageBoard.tsx:505 | — |  |
| `30238f9835` | done · | web:components/assistant/AuditCoverageBoard.tsx:93 | — |  |
| `05838aba39` | Every room | web:components/assistant/AuditCoverageBoard.tsx:388 | — |  |
| `afae565c72` | Expected outcome: | web:components/assistant/AuditCoverageBoard.tsx:496 | — |  |
| `c326114a97` | flows across | web:components/assistant/AuditCoverageBoard.tsx:273 | — |  |
| `70363487fa` | further flows belong to rooms arriving in | web:components/assistant/AuditCoverageBoard.tsx:337 | — |  |
| `0c07cbf3fe` | I started a feature audit from the coverage board. Walk me through the first pending flow. | web:components/assistant/AuditCoverageBoard.tsx:180 | — |  |
| `756c13c31f` | Loading audit coverage… | web:components/assistant/AuditCoverageBoard.tsx:233 | — |  |
| `44ac2a03b3` | Look for: | web:components/assistant/AuditCoverageBoard.tsx:57 | — |  |
| `f1a0de0a51` | more flows belong to rooms arriving in | web:components/assistant/AuditCoverageBoard.tsx:278 | — |  |
| `d024addf88` | most recent of | web:components/assistant/AuditCoverageBoard.tsx:443 | — |  |
| `a29172307d` | Next pending | web:components/assistant/AuditCoverageBoard.tsx:461 | — |  |
| `2ac4443ca1` | Next pending flow | web:components/assistant/AuditCoverageBoard.tsx:451 | — |  |
| `869566ad85` | No audit run is active. An audit walks every catalogued flow in canonical order — nothing is marked done without a visit, and skips require a note. | web:components/assistant/AuditCoverageBoard.tsx:268 | — |  |
| `9f88fe779e` | Nothing left in this run can be walked. The | web:components/assistant/AuditCoverageBoard.tsx:524 | — |  |
| `e19b55bc05` | of | web:components/assistant/AuditCoverageBoard.tsx:379 | — |  |
| `f22a843ba0` | pending | web:components/assistant/AuditCoverageBoard.tsx:93 | — |  |
| `ca52900e6f` | removed from the catalog after the run began, so | web:components/assistant/AuditCoverageBoard.tsx:526 | — |  |
| `88835e3361` | Resume my feature audit — continue with the next pending flow. | web:components/assistant/AuditCoverageBoard.tsx:215 | — |  |
| `9fd31d1074` | rooms | web:components/assistant/AuditCoverageBoard.tsx:273 | — |  |
| `72afaf96aa` | Run | web:components/assistant/AuditCoverageBoard.tsx:305 | — |  |
| `7a6da4a6e8` | Showing the | web:components/assistant/AuditCoverageBoard.tsx:443 | — |  |
| `ce34637e34` | Showing the first | web:components/assistant/AuditCoverageBoard.tsx:379 | — |  |
| `b359e5ab55` | Sign in | web:components/assistant/AuditCoverageBoard.tsx:243 | — |  |
| `461eb252fa` | Sign in to see your feature-audit coverage — an audit run belongs to one account. | web:components/assistant/AuditCoverageBoard.tsx:241 | — |  |
| `d9ed5a285f` | since this run started — flows added since are not counted here. Finish this run or start a new one to audit against the current catalog. | web:components/assistant/AuditCoverageBoard.tsx:330 | — |  |
| `0ca49c317e` | skipped · | web:components/assistant/AuditCoverageBoard.tsx:93 | — |  |
| `34444fb5d0` | Skipped flows | web:components/assistant/AuditCoverageBoard.tsx:418 | — |  |
| `782a48474e` | Skipped, and why | web:components/assistant/AuditCoverageBoard.tsx:419 | — |  |
| `53cb7c22e4` | Start the audit | web:components/assistant/AuditCoverageBoard.tsx:290 | — |  |
| `a3a75d8232` | Starting… | web:components/assistant/AuditCoverageBoard.tsx:290<br>web:components/assistant/AuditCoverageBoard.tsx:537 | — |  |
| `7fa5347de0` | still counted as pending | web:components/assistant/AuditCoverageBoard.tsx:525 | — |  |
| `f6fe5e7017` | The feature catalog has moved to | web:components/assistant/AuditCoverageBoard.tsx:330 | — |  |
| `c682489a7f` | This run was closed with | web:components/assistant/AuditCoverageBoard.tsx:322 | — |  |
| `80a4b3e459` | This walk: | web:components/assistant/AuditCoverageBoard.tsx:273 | — |  |
| `bbe5bb4711` | Try again | web:components/assistant/AuditCoverageBoard.tsx:257 | — |  |
| `01956a0a20` | unresolved | web:components/assistant/AuditCoverageBoard.tsx:322 | — |  |
| `e5113075d8` | Which ones? | web:components/assistant/AuditCoverageBoard.tsx:362 | — |  |

## audit coverage copy — 7 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `317483a361` | {…}/v1/assistant/audit-runs | web:lib/assistant/audit-coverage.ts:157 | — |  |
| `7607324554` | {…}/v1/assistant/audit-runs/current | web:lib/assistant/audit-coverage.ts:143 | — |  |
| `4d75380c06` | {…}/v1/assistant/audit-runs/current/close | web:lib/assistant/audit-coverage.ts:180 | — |  |
| `63054c6c97` | {…}/v1/assistant/audit-runs/scale | web:lib/assistant/audit-coverage.ts:198 | — |  |
| `c36cf2e230` | AssistantAuditApiError | web:lib/assistant/audit-coverage.ts:115 | — |  |
| `d4d20d31fa` | Audit request failed ({…}) | web:lib/assistant/audit-coverage.ts:129 | — |  |
| `ea9293020b` | Bearer {…} | web:lib/assistant/audit-coverage.ts:124 | — |  |

## audit tools — 18 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `950f084397` | audit_flow_not_in_run — "{…}" is not a flow in this run.{…} Recover silently: never mention ids, lookups, or this failure to the member. | apps/oshun/bff/src/assistant/audit-agent-tools.ts:212 | — |  |
| `2ec4336910` | audit_skip_requires_member_reason — a skip needs the member’s own reason. Ask the member, in one short sentence, why they want to skip it, and record what they answer. Do not tell them about notes, stores, tools or ids — just ask why. | apps/oshun/bff/src/assistant/audit-agent-tools.ts:192 | — |  |
| `2205ad275e` | Begin (or resume) the member’s feature audit: a structured walk through every flow in the feature catalog. Returns the run id and initial coverage. One active run per member — beginning again resumes it. | apps/oshun/bff/src/assistant/audit-agent-tools.ts:122 | — |  |
| `a31e63961f` | Call audit_status for the run’s flows. | apps/oshun/bff/src/assistant/audit-agent-tools.ts:210 | — |  |
| `db7462d7a4` | Catalog flow id being recorded (its exact title also resolves). | apps/oshun/bff/src/assistant/audit-agent-tools.ts:159 | — |  |
| `2fdd1671ad` | flowId and a status of "visited" or "skipped" are required | apps/oshun/bff/src/assistant/audit-agent-tools.ts:179 | — |  |
| `7fe9039eb1` | flowId is internal plumbing: pass it back to audit_mark, and never put it in a reply. Refer to this flow by its title. | apps/oshun/bff/src/assistant/audit-agent-tools.ts:105 | — |  |
| `6a29aba4e0` | For skips: the member’s own stated reason, required. For visits: optional context. | apps/oshun/bff/src/assistant/audit-agent-tools.ts:169 | — |  |
| `5b6b76e88a` | no active audit run — call audit_begin first | apps/oshun/bff/src/assistant/audit-agent-tools.ts:183 | — |  |
| `f8afcb0a61` | No audit run is active. Call audit_begin to start one. | apps/oshun/bff/src/assistant/audit-agent-tools.ts:143 | — |  |
| `4c8dc74e38` | Outcome for this flow. | apps/oshun/bff/src/assistant/audit-agent-tools.ts:164 | — |  |
| `ed06b059e8` | Read the member’s audit coverage: totals, per-domain done/pending/skipped rollups, and the next pending flow with its ordered steps (routes and highlightable anchors included). Call before continuing an audit so nothing is repeated or missed. | apps/oshun/bff/src/assistant/audit-agent-tools.ts:135 | — |  |
| `f767d0ea84` | Record the outcome of ONE flow in the active audit run. status "visited" only after actually walking the member through the flow and they confirmed it; status "skipped" requires the member’s OWN reason for skipping, in their words — if they have not given one, ask them instead of calling this. Never mark flows in bulk. flowId accepts the flow’s catalog id or its exact title. | apps/oshun/bff/src/assistant/audit-agent-tools.ts:153 | — |  |
| `018555708d` | Showing the {…} domains with the most pending flows of {…}; the full rollup lives at GET /v1/assistant/audit-runs/current. | apps/oshun/bff/src/assistant/audit-agent-tools.ts:66 | — |  |
| `96c309b0e2` | The list is the first {…} of {…}, not the whole list — do not present it as complete. | apps/oshun/bff/src/assistant/audit-agent-tools.ts:79 | — |  |
| `8b69ed350d` | The next pending flow is "{…}" — flowId "{…}". Retry with that exact id if it is the flow you mean. | apps/oshun/bff/src/assistant/audit-agent-tools.ts:209 | — |  |
| `c692898b62` | These flows belong to rooms this release does not ship (they arrive in {…}). They are not in the run and not in the totals. If the member asks why, say the rooms are not in this version yet — never offer to walk one. | apps/oshun/bff/src/assistant/audit-agent-tools.ts:92 | — |  |
| `d982820606` | These run flows no longer exist in the current catalog (it changed since the run began). Their marks still count; tell the member about the drift instead of re-walking them. | apps/oshun/bff/src/assistant/audit-agent-tools.ts:73 | — |  |

## avatar mode — 40 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `4e52e79d2e` | Available | lib:avatar-mode.ts:158 | — |  |
| `1037ce9221` | Avatar disclosure remains gated until avatar mode is active; {…} memory preserved. | lib:avatar-mode.ts:107 | — |  |
| `59ba2839b3` | Avatar mode active; {…} memory is preserved with synchronized synthetic voice and avatar disclosure. | lib:avatar-mode.ts:184 | — |  |
| `be72056724` | Avatar mode fell back to {…} ({…}); {…} memory is preserved. | lib:avatar-mode.ts:187 | — |  |
| `7be9f695b0` | Avatar mode is gated by Premium entitlement; {…} memory is preserved. | lib:avatar-mode.ts:195 | — |  |
| `3da16a736f` | Avatar mode is gated by reduced-motion preference; {…} memory is preserved. | lib:avatar-mode.ts:207 | — |  |
| `3635645409` | Avatar mode is gated until microphone input is available; {…} memory is preserved. | lib:avatar-mode.ts:201 | — |  |
| `37e57c9ef3` | Avatar mode is gated until synthetic voice output is available; {…} memory is preserved. | lib:avatar-mode.ts:204 | — |  |
| `f09fac7797` | Avatar mode is gated until the avatar renderer is available; {…} memory is preserved. | lib:avatar-mode.ts:198 | — |  |
| `0610802a26` | Avatar mode is not available in this shell; {…} memory is preserved. | lib:avatar-mode.ts:192 | — |  |
| `c71d10b7cf` | Avatar mode is ready when selected; {…} memory is preserved. | lib:avatar-mode.ts:209 | — |  |
| `6ef6944b72` | Avatar mode is unavailable in this shell. | lib:avatar-mode.ts:121 | — |  |
| `5acf196a95` | Avatar renderer is available. | lib:avatar-mode.ts:126 | — |  |
| `5e1bf06598` | Avatar renderer is unavailable. | lib:avatar-mode.ts:127 | — |  |
| `46e48aff85` | Customer shell supports avatar mode. | lib:avatar-mode.ts:120 | — |  |
| `25dc3331ca` | fallback required | lib:avatar-mode.ts:233 | — |  |
| `9e6a0168a3` | feature unavailable | lib:avatar-mode.ts:231 | — |  |
| `b92bd923b9` | Lilith avatar renderer | lib:avatar-mode.ts:98 | — |  |
| `d0e9676e4a` | Microphone input is available. | lib:avatar-mode.ts:129 | — |  |
| `2639643556` | Microphone input is unavailable. | lib:avatar-mode.ts:130 | — |  |
| `3a010f477b` | Missing | lib:avatar-mode.ts:162 | — |  |
| `7582fb208a` | missing avatar renderer | lib:avatar-mode.ts:219 | — |  |
| `d8ff97e021` | missing entitlement | lib:avatar-mode.ts:215 | — |  |
| `27972977ce` | missing microphone | lib:avatar-mode.ts:217 | — |  |
| `5d9a78bc3b` | missing synthetic voice | lib:avatar-mode.ts:221 | — |  |
| `54e67a40cc` | no supported fallback | lib:avatar-mode.ts:229 | — |  |
| `2969d117e7` | not allowed in this shell | lib:avatar-mode.ts:225 | — |  |
| `82bc0ef89f` | Premium avatar entitlement is present. | lib:avatar-mode.ts:123 | — |  |
| `4359e1b727` | Premium avatar entitlement is required. | lib:avatar-mode.ts:124 | — |  |
| `e3ceacfcf6` | Premium synthetic avatar entitlement | lib:avatar-mode.ts:99 | — |  |
| `c47a9913f2` | reduced motion | lib:avatar-mode.ts:223 | — |  |
| `7cbce89293` | Reduced motion disables animated avatar mode. | lib:avatar-mode.ts:135 | — |  |
| `421baaad76` | Reduced-motion preference allows avatar animation. | lib:avatar-mode.ts:136 | — |  |
| `52bf1f03a6` | Synthetic avatar pack | lib:avatar-mode.ts:97 | — |  |
| `1b3849afc6` | Synthetic voice and avatar disclosure visible; {…} memory preserved. | lib:avatar-mode.ts:106 | — |  |
| `9fcad54c0d` | Synthetic voice output is available. | lib:avatar-mode.ts:132 | — |  |
| `06591c9ce2` | Synthetic voice output is unavailable. | lib:avatar-mode.ts:133 | — |  |
| `8118e94522` | Synthetic voice pack | lib:avatar-mode.ts:96 | — |  |
| `771c960f54` | Unavailable | lib:avatar-mode.ts:166 | — |  |
| `3fb75a74a8` | unknown mode | lib:avatar-mode.ts:227 | — |  |

## avatar/voice identity — 33 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `0b04cc1e99` | 1080p | web:design-system/avatar-voice-identity.ts:91 | — |  |
| `1c2a8e1d57` | 60 fps | web:design-system/avatar-voice-identity.ts:91 | — |  |
| `85b087dd79` | Avatar identity blocked until policy and release approval clear the embodied pack. | web:design-system/avatar-voice-identity.ts:124 | — |  |
| `af8f7e40fa` | English | web:design-system/avatar-voice-identity.ts:47<br>web:design-system/avatar-voice-identity.ts:58 | — |  |
| `93a53f2f96` | Heart Wisdom Avatar Pack | web:design-system/avatar-voice-identity.ts:121 | — |  |
| `e59d9a8a1a` | Heart Wisdom Guide | web:design-system/avatar-voice-identity.ts:75<br>web:design-system/avatar-voice-identity.ts:120 | — |  |
| `5690cf0c3d` | Heart Wisdom Voice | web:design-system/avatar-voice-identity.ts:76 | — |  |
| `8791cfff2a` | Identity indicators name the linked asset in use and keep pack completeness, preview scope, or block reasons on the same surface as disclosure. | web:design-system/avatar-voice-identity.ts:198 | — |  |
| `4d5981875b` | limited release | web:design-system/avatar-voice-identity.ts:69 | — |  |
| `a6e06fd4b3` | measured cadence | web:design-system/avatar-voice-identity.ts:58 | — |  |
| `607bd3b1e5` | Measured synthetic voice profile tuned for grounded study and evidence review. | web:design-system/avatar-voice-identity.ts:57 | — |  |
| `f9966cd7c5` | Named avatar pack linked to Tara Guide for embodied preview and live session work. | web:design-system/avatar-voice-identity.ts:90 | — |  |
| `bcd9bd212a` | Named synthetic voice and avatar identities stay visible while readiness, preview state, and lineage remain adjacent. | web:design-system/avatar-voice-identity.ts:196 | — |  |
| `fdf04000e5` | operator sandbox | web:design-system/avatar-voice-identity.ts:102 | — |  |
| `94aab29e96` | Partial avatar pack with missing facial-rig recovery assets still visible to operators. | web:design-system/avatar-voice-identity.ts:113 | — |  |
| `a3aec5772b` | partial pack | web:design-system/avatar-voice-identity.ts:114 | — |  |
| `c3cdc371c9` | policy gate | web:design-system/avatar-voice-identity.ts:80<br>web:design-system/avatar-voice-identity.ts:125 | — |  |
| `dba34e8175` | Preview avatar identity for contemplative rehearsal before full embodied rollout. | web:design-system/avatar-voice-identity.ts:101 | — |  |
| `3501f2d2d4` | Preview synthetic voice for breath-led reflection and grief-support rehearsal. | web:design-system/avatar-voice-identity.ts:68 | — |  |
| `71229ad93e` | release approval pending | web:design-system/avatar-voice-identity.ts:125 | — |  |
| `1548df739a` | rig sync pending | web:design-system/avatar-voice-identity.ts:114 | — |  |
| `09cb6ae9dd` | Stoic Research Guide | web:design-system/avatar-voice-identity.ts:53 | — |  |
| `042462cd71` | Stoic Scholar Voice | web:design-system/avatar-voice-identity.ts:54 | — |  |
| `8436dfadc9` | Synthetic Tara voice profile linked for spoken guidance and assistant playback. | web:design-system/avatar-voice-identity.ts:46 | — |  |
| `a26bb290e3` | Tara Avatar Pack | web:design-system/avatar-voice-identity.ts:87 | — |  |
| `85a9cfc258` | Tara Avatar Recovery Pack | web:design-system/avatar-voice-identity.ts:109 | — |  |
| `645a3c8adb` | Tara Guide | web:design-system/avatar-voice-identity.ts:42<br>web:design-system/avatar-voice-identity.ts:86<br>web:design-system/avatar-voice-identity.ts:108 | — |  |
| `be9eb597a0` | Tara Voice | web:design-system/avatar-voice-identity.ts:43 | — |  |
| `211ae7025c` | Voice identity blocked until current safety and release gates are cleared. | web:design-system/avatar-voice-identity.ts:79 | — |  |
| `49ac7e81e7` | voice safety review | web:design-system/avatar-voice-identity.ts:80 | — |  |
| `802a300de5` | Zen River Avatar Preview | web:design-system/avatar-voice-identity.ts:98 | — |  |
| `dc3dadb0af` | Zen River Guide | web:design-system/avatar-voice-identity.ts:64<br>web:design-system/avatar-voice-identity.ts:97 | — |  |
| `63c698e8b1` | Zen River Voice Preview | web:design-system/avatar-voice-identity.ts:65 | — |  |

## confirm cards & tools — 106 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `4f370cd012` | "{…}" is not a destination {…} can open, so nothing was opened. | apps/oshun/bff/src/assistant/agent-tools.ts:731 | — |  |
| `2d39c6e3e9` | {…}… [truncated {…} characters] | apps/oshun/bff/src/assistant/agent-tools.ts:238 | — |  |
| `fd997e0389` | A registered or on-page anchor id. | apps/oshun/bff/src/assistant/agent-tools.ts:749 | — |  |
| `6f9bfdde56` | Add “{…}” to your Tara favourites. | apps/oshun/bff/src/assistant/agent-tools.ts:333 | — |  |
| `cf60a82bca` | Add this meditation to your Tara favourites. | apps/oshun/bff/src/assistant/agent-tools.ts:334 | — |  |
| `c22c61f33a` | An observation needs the sky the member saw. Ask them whether it was clear, partly cloudy, overcast, or washed out by city light, then call this again with conditions set to one of: {…}. | apps/oshun/bff/src/assistant/agent-tools.ts:220 | — |  |
| `33eb7f895a` | anchor "{…}" is neither in the anchor registry nor on the current page | apps/oshun/bff/src/assistant/agent-tools.ts:762 | — |  |
| `ed3c680b31` | Anything else is refused — ask the member rather than inventing a path. | apps/oshun/bff/src/assistant/agent-tools.ts:702 | — |  |
| `b53ec6e063` | Article id to save. | apps/oshun/bff/src/assistant/agent-tools.ts:403 | — |  |
| `acaf761e16` | Call for recommended structured-learning courses, optionally by topic. | apps/oshun/bff/src/assistant/agent-tools.ts:620 | — |  |
| `af61d040f1` | Call for today's contemplative reading passage. | apps/oshun/bff/src/assistant/agent-tools.ts:586 | — |  |
| `6afa66fc37` | Call for tonight's sky and the notable events coming up. The first result is tonight's actual sky (moon phase and illumination); the rest are UPCOMING events, each of whose summary begins with when it happens. Never describe an upcoming event as tonight — state its day. LOCATION IS OPTIONAL: call this with no latitude or longitude unless the member has already told you where they are, and never ask them for a city or coordinates first. Moon phase, illumination and event dates are the same worldwide; without a location the rise/set window is given in UTC for a default observer, so relay it as the UTC window it says it is. | apps/oshun/bff/src/assistant/agent-tools.ts:461 | — |  |
| `320d4018b6` | Call for top fact-checked claims. Optional verdict filter: true, false, misleading, unverified. | apps/oshun/bff/src/assistant/agent-tools.ts:360 | — |  |
| `751144f677` | Call for trending fact-checked news articles from Veritas. | apps/oshun/bff/src/assistant/agent-tools.ts:341 | — |  |
| `e49b6d9f75` | Call for trending news topics the member can follow. | apps/oshun/bff/src/assistant/agent-tools.ts:375 | — |  |
| `19e0c96638` | Call ONLY when the member explicitly asks to favorite/save a specific meditation. Requires the meditation id from a prior tool result. | apps/oshun/bff/src/assistant/agent-tools.ts:307 | — |  |
| `12ac5ec2ac` | Call ONLY when the member explicitly asks to follow a topic. Requires the topic id from a prior tool result. | apps/oshun/bff/src/assistant/agent-tools.ts:425 | — |  |
| `1b2022f259` | Call ONLY when the member explicitly asks to log an observation of a specific object. Requires the object id from a prior tool result AND the sky conditions the member described. If they have not said what the sky was like, ASK THEM FIRST — do not guess, and do not call this tool until they answer. | apps/oshun/bff/src/assistant/agent-tools.ts:521 | — |  |
| `a3b88a9507` | Call ONLY when the member explicitly asks to save a specific article. Requires the article id from a prior tool result. | apps/oshun/bff/src/assistant/agent-tools.ts:400 | — |  |
| `2de69ca081` | Call to find the article the member was reading so they can continue. | apps/oshun/bff/src/assistant/agent-tools.ts:383 | — |  |
| `c42197fab0` | Call to find the member's in-progress course and next lesson. | apps/oshun/bff/src/assistant/agent-tools.ts:639 | — |  |
| `7deea00ba3` | Call to find the member's in-progress development plan and next step. | apps/oshun/bff/src/assistant/agent-tools.ts:577 | — |  |
| `6e81f431dd` | Call to find the member's in-progress meditation session so they can continue where they left off. | apps/oshun/bff/src/assistant/agent-tools.ts:282 | — |  |
| `d0c9da4c27` | Call to list the member's active personal-development goals. | apps/oshun/bff/src/assistant/agent-tools.ts:563 | — |  |
| `10d91cc4cb` | Call to list the member's favorite meditations. | apps/oshun/bff/src/assistant/agent-tools.ts:298 | — |  |
| `20bda8089a` | Call to list the member's Nisaba notebooks and compare workspaces. | apps/oshun/bff/src/assistant/agent-tools.ts:611 | — |  |
| `304165cebd` | Call to list the member's saved articles. | apps/oshun/bff/src/assistant/agent-tools.ts:391 | — |  |
| `0dbef753ac` | Call to read the member's meditation course progress. | apps/oshun/bff/src/assistant/agent-tools.ts:290 | — |  |
| `f39a9c833c` | Call to read the member's recent observation log entries. | apps/oshun/bff/src/assistant/agent-tools.ts:505 | — |  |
| `7c7af256cf` | Call to search celestial objects (planets, stars, deep-sky objects) by name. | apps/oshun/bff/src/assistant/agent-tools.ts:489 | — |  |
| `c650b1f235` | Call to search the Metis course catalog. | apps/oshun/bff/src/assistant/agent-tools.ts:647 | — |  |
| `350dd1df11` | Call to search the Nisaba contemplative library (passages, sources, concepts). | apps/oshun/bff/src/assistant/agent-tools.ts:595 | — |  |
| `fb265e93a8` | Call when the member asks for meditation or practice recommendations. Lists recommended Tara meditation sessions. | apps/oshun/bff/src/assistant/agent-tools.ts:273 | — |  |
| `d339032d3d` | city-lit sky | apps/oshun/bff/src/assistant/agent-tools.ts:231 | — |  |
| `4a28d64e5e` | clear sky | apps/oshun/bff/src/assistant/agent-tools.ts:228 | — |  |
| `9f4e1b57f6` | Composed tour steps in order. | apps/oshun/bff/src/assistant/agent-tools.ts:907 | — |  |
| `e7893c22ab` | Destination domain. | apps/oshun/bff/src/assistant/agent-tools.ts:688 | — |  |
| `274e9b384b` | Destination path within the domain. Only these exist: | apps/oshun/bff/src/assistant/agent-tools.ts:698 | — |  |
| `dacae8a92b` | Do not tell the member you opened it. {…} opens: {…}. | apps/oshun/bff/src/assistant/agent-tools.ts:732 | — |  |
| `9d17e2e93b` | domain "{…}" is not authorized for this member | apps/oshun/bff/src/assistant/agent-tools.ts:717 | — |  |
| `f736358444` | Favorites to list. | apps/oshun/bff/src/assistant/agent-tools.ts:299 | — |  |
| `9bb235aa67` | Follow this topic in Veritas. | apps/oshun/bff/src/assistant/agent-tools.ts:438 | — |  |
| `74bb48dc3e` | Goals to list. | apps/oshun/bff/src/assistant/agent-tools.ts:564 | — |  |
| `6b3b7a9326` | Id of a curated tour from list_curated_tours. | apps/oshun/bff/src/assistant/agent-tools.ts:898 | — |  |
| `f0cc92602f` | Id of an operator-approved member tour from list_curated_tours. | apps/oshun/bff/src/assistant/agent-tools.ts:902 | — |  |
| `ba4afa38e8` | List the curated, human-reviewed tours available to start. Prefer a curated tour over composing your own when one matches the request. | apps/oshun/bff/src/assistant/agent-tools.ts:852 | — |  |
| `1d9ba9b3c2` | List the tours THIS member has submitted for review, with each one’s status (pending, approved, rejected), when it was submitted and decided, and the reviewer’s note when there is one. Use it whenever the member asks what happened to a tour they wrote — never answer that from memory. Read a rejection note back in the reviewer’s own words. | apps/oshun/bff/src/assistant/agent-tools.ts:1069 | — |  |
| `cb8f0080a8` | Log an observation of {…} in your Nyx journal, under a {…}. | apps/oshun/bff/src/assistant/agent-tools.ts:556 | — |  |
| `f4f25e9c4a` | Log entries to list. | apps/oshun/bff/src/assistant/agent-tools.ts:506 | — |  |
| `cfa60f2021` | Maximum articles (default 5). | apps/oshun/bff/src/assistant/agent-tools.ts:345 | — |  |
| `0cb2ec8b06` | Maximum claims (default 5). | apps/oshun/bff/src/assistant/agent-tools.ts:364 | — |  |
| `31c2586b30` | Maximum courses (default 5). | apps/oshun/bff/src/assistant/agent-tools.ts:624 | — |  |
| `196f444dfb` | Maximum excerpts to return (default 5, max 8). | apps/oshun/bff/src/assistant/agent-tools.ts:816 | — |  |
| `4a2074b763` | Maximum highlights (default 5). | apps/oshun/bff/src/assistant/agent-tools.ts:465 | — |  |
| `0d46ca7f4a` | Maximum number of results (default 5). {…} | apps/oshun/bff/src/assistant/agent-tools.ts:188 | — |  |
| `6777411300` | Maximum results (default 5). | apps/oshun/bff/src/assistant/agent-tools.ts:494<br>apps/oshun/bff/src/assistant/agent-tools.ts:600<br>apps/oshun/bff/src/assistant/agent-tools.ts:652 | — |  |
| `cf3738140b` | Meditation id to favorite. | apps/oshun/bff/src/assistant/agent-tools.ts:311 | — |  |
| `144b0896e4` | Member-authored tour, operator-approved. | apps/oshun/bff/src/assistant/agent-tools.ts:874 | — |  |
| `9136907fed` | missing required argument "{…}" | apps/oshun/bff/src/assistant/agent-tools.ts:205 | — |  |
| `40923576cc` | No documentation matched this query — tell the member the docs have no answer for it. | apps/oshun/bff/src/assistant/agent-tools.ts:830 | — |  |
| `03e4696e6f` | Object name or description to search. | apps/oshun/bff/src/assistant/agent-tools.ts:493 | — |  |
| `d946d9ea4d` | Observed object id. | apps/oshun/bff/src/assistant/agent-tools.ts:525 | — |  |
| `fd18e31dcf` | Optional category filter. | apps/oshun/bff/src/assistant/agent-tools.ts:346 | — |  |
| `abc088c028` | Optional in-app path to visit first. | apps/oshun/bff/src/assistant/agent-tools.ts:915<br>apps/oshun/bff/src/assistant/agent-tools.ts:1026 | — |  |
| `df95a597fe` | Optional observation notes. | apps/oshun/bff/src/assistant/agent-tools.ts:532 | — |  |
| `acfb52db2d` | OPTIONAL observer latitude. Omit it unless the member has already told you where they are — do not ask. | apps/oshun/bff/src/assistant/agent-tools.ts:469 | — |  |
| `31f1ab102d` | OPTIONAL observer longitude. Omit it unless the member has already told you where they are — do not ask. | apps/oshun/bff/src/assistant/agent-tools.ts:474 | — |  |
| `61c003f97a` | Optional short caption shown beside the spotlight. | apps/oshun/bff/src/assistant/agent-tools.ts:752 | — |  |
| `3b62196bf7` | Optional topic filter. | apps/oshun/bff/src/assistant/agent-tools.ts:625 | — |  |
| `1b4eda5190` | Optional verdict filter. | apps/oshun/bff/src/assistant/agent-tools.ts:365 | — |  |
| `914184d946` | overcast sky | apps/oshun/bff/src/assistant/agent-tools.ts:230 | — |  |
| `176ca659b0` | partly cloudy sky | apps/oshun/bff/src/assistant/agent-tools.ts:229 | — |  |
| `2881b3b3ce` | path must start with "/" | apps/oshun/bff/src/assistant/agent-tools.ts:721 | — |  |
| `c9f3afad03` | Pending operator review — not yet available to other members. | apps/oshun/bff/src/assistant/agent-tools.ts:1043 | — |  |
| `83d88df521` | Pick one of those, or ask the member what they meant. | apps/oshun/bff/src/assistant/agent-tools.ts:733 | — |  |
| `1dc48425ad` | Read what the member can DO on the page they are on: every interactive control the page is currently rendering, by role, accessible name and state (disabled, expanded, checked, current), alongside the current title, headings and anchors. Controls further down the page are included, so "it is on this page" is safe to say and "you can see it" is not. The title/headings/anchors are already given to you in the page-context block above — call this tool when the question is about controls ("what can I do here?", "where is the button for…?", "why is that greyed out?"), or when the member has just changed the page and the block may be stale. Content the member marked private is excluded, and control values are never read, so never claim to see what someone has typed. | apps/oshun/bff/src/assistant/agent-tools.ts:784 | — |  |
| `9b59f5afdc` | Registered anchor id. | apps/oshun/bff/src/assistant/agent-tools.ts:911<br>apps/oshun/bff/src/assistant/agent-tools.ts:1024 | — |  |
| `d4d64b41d6` | Run {…}. | apps/oshun/bff/src/assistant/agent-tools.ts:1134 | — |  |
| `d2881b52b6` | Save this article to your Veritas reading list. | apps/oshun/bff/src/assistant/agent-tools.ts:419 | — |  |
| `421e8ac31b` | Saved articles to list. | apps/oshun/bff/src/assistant/agent-tools.ts:392 | — |  |
| `6c88591eba` | Search query. | apps/oshun/bff/src/assistant/agent-tools.ts:599<br>apps/oshun/bff/src/assistant/agent-tools.ts:651 | — |  |
| `c75b341366` | Search the Lilith documentation for feature, how-to, and concept questions. Returns titled excerpts with reader links. Ground documentation answers in these excerpts and name the source page; if nothing matches, say the docs have no answer. | apps/oshun/bff/src/assistant/agent-tools.ts:806 | — |  |
| `34c81b451a` | Sessions to recommend. | apps/oshun/bff/src/assistant/agent-tools.ts:274 | — |  |
| `ef7efced6d` | Start a live guided tour on the member’s screen. Pass curatedTourId to run a reviewed tour, OR pass title + steps to compose one — every step anchorId MUST come from the anchor registry, narration is one to two short sentences, and an optional route ("/...") navigates first. Invalid plans are rejected with the reasons; fix and retry. At most one tour per turn. | apps/oshun/bff/src/assistant/agent-tools.ts:892 | — |  |
| `b72587393d` | Submit a composed tour so operators can review it for the shared catalog. The plan must validate against the anchor registry (same rules as start_tour). Tell the member the tour is pending human review — it is NOT available to others until approved. | apps/oshun/bff/src/assistant/agent-tools.ts:1013 | — |  |
| `bdec09bf90` | Suggest taking the member to a destination in the app. Use after answering, when a destination clearly helps (e.g. the session you recommended). The client decides whether to follow. | apps/oshun/bff/src/assistant/agent-tools.ts:677 | — |  |
| `2815ef3dd2` | That tour points at parts of the app that have since changed, so it can no longer be run. Tell the member it needs rewriting before anyone can take it, and offer a curated tour instead. | apps/oshun/bff/src/assistant/agent-tools.ts:972 | — |  |
| `b125e2f90a` | The sky AS THE MEMBER DESCRIBED IT: 'clear', 'partial' (some cloud), 'overcast', or 'lightDome' (washed out by city light). Only fill this from what they actually said. | apps/oshun/bff/src/assistant/agent-tools.ts:530 | — |  |
| `b4737df716` | There is no notification for this — do NOT promise to tell them when it is decided. Say instead that they can ask you about it any time and you will check (list_my_tour_submissions). | apps/oshun/bff/src/assistant/agent-tools.ts:1051 | — |  |
| `e453ecfa0f` | These are internal addresses. NEVER write a path or a domain id in your reply — say where you are taking them in their own words ("tonight's highlights in Nyx"). | apps/oshun/bff/src/assistant/agent-tools.ts:707 | — |  |
| `6fcf800f84` | This action is held for the member to confirm on screen. It has NOT happened yet — tell the member to use the confirmation card, and never claim it was done. | apps/oshun/bff/src/assistant/agent-tools.ts:1154 | — |  |
| `b6416c1206` | This tour points at parts of the app that have since changed, so it cannot be run. Do not offer it; if the member asks for it by name, say it needs rewriting and offer another. | apps/oshun/bff/src/assistant/agent-tools.ts:882 | — |  |
| `85cb20d065` | Tool "{…}" failed: {…} | apps/oshun/bff/src/assistant/agent-tools.ts:1171 | — |  |
| `c997ce6d52` | Tool "{…}" requires an on-screen confirmation, and this client cannot display confirmation cards. The action was NOT performed. Tell the member to retry from a surface that supports action confirmations. | apps/oshun/bff/src/assistant/agent-tools.ts:1163 | — |  |
| `8b556d575a` | Topic id to follow. | apps/oshun/bff/src/assistant/agent-tools.ts:428 | — |  |
| `af9fc2991e` | Topics to list. | apps/oshun/bff/src/assistant/agent-tools.ts:376 | — |  |
| `7ba894ade5` | tour plan rejected: {…} | apps/oshun/bff/src/assistant/agent-tools.ts:990 | — |  |
| `7ee2e757ce` | Tour steps in order. | apps/oshun/bff/src/assistant/agent-tools.ts:1020 | — |  |
| `446f99105b` | Tour title (composed tours). | apps/oshun/bff/src/assistant/agent-tools.ts:904 | — |  |
| `1e76fed491` | Tour title. | apps/oshun/bff/src/assistant/agent-tools.ts:1017 | — |  |
| `505fdd68fc` | Unknown tool "{…}". | apps/oshun/bff/src/assistant/agent-tools.ts:1121 | — |  |
| `19bf6d5fd8` | unknown tour id "{…}" — call list_curated_tours for valid ids | apps/oshun/bff/src/assistant/agent-tools.ts:947<br>apps/oshun/bff/src/assistant/agent-tools.ts:982 | — |  |
| `d622f61eea` | Visually point at an element on the page the member is looking at (spotlight + optional note). Use it while explaining UI — only with anchor ids from the registry or the current page context. | apps/oshun/bff/src/assistant/agent-tools.ts:745 | — |  |
| `fb1b43214b` | What to look up — plain feature or concept words work best. | apps/oshun/bff/src/assistant/agent-tools.ts:812 | — |  |
| `c70558b90e` | What to say at this step. | apps/oshun/bff/src/assistant/agent-tools.ts:912<br>apps/oshun/bff/src/assistant/agent-tools.ts:1025 | — |  |
| `5b792bfde6` | Workspace entries to list. | apps/oshun/bff/src/assistant/agent-tools.ts:612 | — |  |

## context handoff — 4 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `67f522331c` | artifact platformShell "{…}" does not match launch intent platformShell "{…}" | lib:context-handoff.ts:287 | — |  |
| `a3606d911c` | entity platformShell "{…}" does not match launch intent platformShell "{…}" | lib:context-handoff.ts:280 | — |  |
| `b045367271` | Lilith | lib:context-handoff.ts:242 | — |  |
| `ae0c836f41` | recent action "{…}" has invalid occurredAtMs | lib:context-handoff.ts:324 | — |  |

## continuity journeys (web) — 25 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `60571f27aa` | {…} surface | web:navigation/assistant-continuity-journey.ts:215 | — |  |
| `3add5d2f71` | {…} via {…} | web:navigation/assistant-continuity-journey.ts:226 | — |  |
| `195bbde994` | Activity | web:navigation/assistant-continuity-journey.ts:50 | — |  |
| `4a045c7b4f` | Ask assistant | web:navigation/assistant-continuity-journey.ts:173 | — |  |
| `105f26b16d` | Assistant active | web:navigation/assistant-continuity-journey.ts:110 | — |  |
| `2dff042339` | assistant-continuity-{…} | web:navigation/assistant-continuity-journey.ts:174 | — |  |
| `db4fe604a6` | Context inherited | web:navigation/assistant-continuity-journey.ts:116 | — |  |
| `b7573356d3` | Draft continuity brief | web:navigation/assistant-continuity-journey.ts:146 | — |  |
| `3b06a86076` | Explore | web:navigation/assistant-continuity-journey.ts:49 | — |  |
| `3c376540aa` | Find next move | web:navigation/assistant-continuity-journey.ts:128 | — |  |
| `b3dad5f4e0` | Get overview | web:navigation/assistant-continuity-journey.ts:122 | — |  |
| `bc491cdbba` | give me a short summary across my rooms with the best next move | web:navigation/assistant-continuity-journey.ts:148 | — |  |
| `f5ce9e14c5` | give me an overview of what matters now | web:navigation/assistant-continuity-journey.ts:124 | — |  |
| `f047b08af7` | Ground in sources | web:navigation/assistant-continuity-journey.ts:140 | — |  |
| `b6bede9743` | ground this in sources and tell me the best next step | web:navigation/assistant-continuity-journey.ts:142 | — |  |
| `7b94fa7126` | help me decide the next best move from here | web:navigation/assistant-continuity-journey.ts:130<br>web:navigation/assistant-continuity-journey.ts:175 | — |  |
| `4a3613379d` | Library | web:navigation/assistant-continuity-journey.ts:51 | — |  |
| `9dd4ffd5df` | Memory scope visible | web:navigation/assistant-continuity-journey.ts:134 | — |  |
| `a082534e4c` | Open assistant memory | web:navigation/assistant-continuity-journey.ts:158 | — |  |
| `723a4e2525` | Opened from {…} | web:navigation/assistant-continuity-journey.ts:112 | — |  |
| `263895d179` | Profile | web:navigation/assistant-continuity-journey.ts:52 | — |  |
| `9d465e84d5` | Return to {…} | web:navigation/assistant-continuity-journey.ts:152 | — |  |
| `c5bef22fc6` | Review follow-up | web:navigation/assistant-continuity-journey.ts:164 | — |  |
| `cdc1ef43df` | Session memory with opted-in continuity | web:navigation/assistant-continuity-journey.ts:136 | — |  |
| `239542c0fc` | Studio | web:navigation/assistant-continuity-journey.ts:53 | — |  |

## disclosure chips — 10 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `594fff1645` | Avatar motion, likeness, or voice is synthetic. | web:design-system/disclosure.ts:34 | — |  |
| `cb99e9630a` | No saved or session memory is used beyond the current prompt. | web:design-system/disclosure.ts:30 | — |  |
| `f2134cf305` | Nothing is remembered | web:design-system/disclosure.ts:23 | — |  |
| `a1f1104b0d` | Responses come from Lilith, an AI assistant — not a human operator. | web:design-system/disclosure.ts:29 | — |  |
| `c6facafb08` | Saved memory you approved | web:design-system/disclosure.ts:25 | — |  |
| `1f13590d7f` | The artifact itself is AI-generated media. | web:design-system/disclosure.ts:35 | — |  |
| `7f1baac15a` | The assistant can use approved saved memory alongside the current session. | web:design-system/disclosure.ts:32 | — |  |
| `621d4b7d96` | The assistant can use the current conversation while this session is open. | web:design-system/disclosure.ts:31 | — |  |
| `8a3b8d92db` | This conversation only | web:design-system/disclosure.ts:24 | — |  |
| `5e02a710ff` | Voice replies are synthetic when voice output is enabled. | web:design-system/disclosure.ts:33 | — |  |

## engine — 13 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `54c37d9057` | AssistantSessionPersistenceError | lib:assistant-engine.ts:65 | — |  |
| `8ab861ddf8` | AssistantSessionSubjectDeletedError | lib:assistant-engine.ts:72 | — |  |
| `9d45e5c93a` | AssistantSessionValidationError | lib:assistant-engine.ts:79 | — |  |
| `827f7dac62` | Help | lib:assistant-engine.ts:750 | — |  |
| `451192285b` | I understand you're asking about something{…}. Could you rephrase that? I work best with specific requests like "start a meditation" or "what's in the sky tonight". | lib:assistant-engine.ts:692 | — |  |
| `4437852936` | memory.bootstrapSession | lib:assistant-engine.ts:503 | — |  |
| `b24527962c` | memory.recordAssistantTurn | lib:assistant-engine.ts:794 | — |  |
| `8ace4e9514` | memory.recordUserTurn | lib:assistant-engine.ts:531 | — |  |
| `dd40f92407` | related to {…} | lib:assistant-engine.ts:692 | — |  |
| `612d24fbd4` | Something went wrong processing your request. Please try again. | lib:assistant-engine.ts:748 | — |  |
| `e0c8852142` | This session has expired. Please start a new one. | lib:assistant-engine.ts:474 | — |  |
| `7ca21f77e7` | Unknown error | lib:assistant-engine.ts:743 | — |  |
| `38d325d2a3` | We've been chatting a while! Start a fresh session for the best experience. | lib:assistant-engine.ts:463 | — |  |

## engine replies — 447 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `15c78c69d9` | - **Arete**: "Start my check-in", "Show my goals", "What's my next step?" | lib:response-formatter.ts:301 | — |  |
| `6e9839efd4` | - **Metis**: "Show me Metis courses", "Continue my lesson", "Open tutoring" | lib:response-formatter.ts:305 | — |  |
| `ec57a138d4` | - **Nisaba**: "Open Nisaba", "Take me to my library", "Continue my research workspace" | lib:response-formatter.ts:303 | — |  |
| `91f9650244` | - **Nyx**: "What's in the sky tonight?", "Find Mars", "Set a reminder for the eclipse" | lib:response-formatter.ts:299 | — |  |
| `f3210a0944` | - **Tara**: "Start a meditation", "Resume my session", "Show my favorites" | lib:response-formatter.ts:295 | — |  |
| `09365df76b` | - **Veritas**: "What's trending?", "Fact check this", "Show saved articles" | lib:response-formatter.ts:297 | — |  |
| `0e36c81b7f` | ({…} action(s) had issues) | lib:response-formatter.ts:2683 | — |  |
| `9df76a5706` | ({…} temporarily unavailable) | lib:response-formatter.ts:1481<br>lib:response-formatter.ts:2485 | — |  |
| `ebf58c2263` | (at risk!) | lib:response-formatter.ts:2088 | — |  |
| `9cc6b0a81b` | {…} — {…} (Score: {…}/100) | lib:response-formatter.ts:2208 | — |  |
| `a238b4be99` | {…} active goal{…} to review | lib:response-formatter.ts:1461 | — |  |
| `0104aa4994` | {…} complications · {…} reminders | lib:response-formatter.ts:2009 | — |  |
| `480572f12b` | {…} day streak{…} | lib:response-formatter.ts:2088 | — |  |
| `3d55bf750d` | {…} days | lib:response-formatter.ts:1793 | — |  |
| `e86b6a9699` | {…} event | lib:response-formatter.ts:878 | — |  |
| `e127c92017` | {…} from {…} | lib:response-formatter.ts:2599 | — |  |
| `7fe8c904b8` | {…} I can {…}. | lib:response-formatter.ts:267 | — |  |
| `d45b6f4cec` | {…} item | lib:response-formatter.ts:2477 | — |  |
| `d7bb7db225` | {…} min | lib:response-formatter.ts:580<br>lib:response-formatter.ts:694<br>lib:response-formatter.ts:1449<br>+1 more | — |  |
| `2e4174e413` | {…} min · {…} | lib:response-formatter.ts:1538 | — |  |
| `39d4663631` | {…} or {…} | lib:response-formatter.ts:130 | — |  |
| `acc00c89f2` | {…} points · Level {…} | lib:response-formatter.ts:1961 | — |  |
| `5002f693aa` | {…} room{…} | lib:response-formatter.ts:314 | — |  |
| `3107f224dd` | {…} shared achievements | lib:response-formatter.ts:1897 | — |  |
| `e9a377ad08` | {…} Your overall score is {…}/100. | lib:response-formatter.ts:2177 | — |  |
| `bc456a417d` | {…}-day streak | lib:response-formatter.ts:1007<br>lib:response-formatter.ts:1469 | — |  |
| `356e798353` | {…}-minute | lib:response-formatter.ts:1442 | — |  |
| `59708fa7c9` | {…}/{…} achievements unlocked | lib:response-formatter.ts:1655 | — |  |
| `752cb18861` | {…}/{…} lessons — {…}% | lib:response-formatter.ts:658 | — |  |
| `30f1ecf11e` | {…}% — Just unlocked! | lib:response-formatter.ts:1737 | — |  |
| `bb5a31a99d` | {…}% — Next: {…} | lib:response-formatter.ts:1055 | — |  |
| `9f811bf128` | {…}% complete | lib:response-formatter.ts:624<br>lib:response-formatter.ts:1133 | — |  |
| `e9fd17c8ef` | {…}% match | lib:response-formatter.ts:1601 | — |  |
| `1855e8ffab` | a {…} meditation "{…}" | lib:response-formatter.ts:1442 | — |  |
| `b350c5170b` | a session | lib:response-formatter.ts:585 | — |  |
| `289508b4c5` | Achievement | lib:response-formatter.ts:1670 | — |  |
| `d0024df88c` | achievement-new-{…} | lib:response-formatter.ts:1733 | — |  |
| `4ed3d1804a` | achievement-recent-{…} | lib:response-formatter.ts:1663 | — |  |
| `6c8788e50f` | Action completed successfully.{…} | lib:response-formatter.ts:2683 | — |  |
| `5bcc7d8cae` | Arete | lib:response-formatter.ts:122<br>lib:response-formatter.ts:2544 | — |  |
| `3661fae553` | Arete has {…} active goal{…} | lib:response-formatter.ts:2449 | — |  |
| `e99ba532ac` | arete-goal-{…} | lib:response-formatter.ts:1003 | — |  |
| `dc4f92e49f` | Article | lib:response-formatter.ts:728<br>lib:response-formatter.ts:806 | — |  |
| `8d435f0c49` | ask Nyx for tonight's highlights | lib:response-formatter.ts:72 | — |  |
| `0626902add` | ask Nyx what tonight's sky holds | lib:response-formatter.ts:64 | — |  |
| `6f0ce6fd0d` | ask Nyx what's overhead | lib:response-formatter.ts:80 | — |  |
| `e59cba70a5` | at {…}% complete | lib:response-formatter.ts:1320 | — |  |
| `fc070f0173` | bring in Veritas for what's worth reading | lib:response-formatter.ts:63 | — |  |
| `bcf63329c8` | bring you the news Veritas has checked | lib:response-formatter.ts:55 | — |  |
| `35317da5b9` | Browse courses | lib:response-formatter.ts:644 | — |  |
| `eb70b08a38` | Browse topics | lib:response-formatter.ts:715 | — |  |
| `16915c003a` | Browse trending | lib:response-formatter.ts:2576 | — |  |
| `b13fc600bf` | carry on where your lesson stopped | lib:response-formatter.ts:67 | — |  |
| `0124d40035` | Catalog result | lib:response-formatter.ts:1372 | — |  |
| `0658901d40` | catch you up on what you saved to read | lib:response-formatter.ts:71 | — |  |
| `66bf496447` | Challenge | lib:response-formatter.ts:1790<br>lib:response-formatter.ts:1839 | — |  |
| `84500eb1f2` | challenge-{…} | lib:response-formatter.ts:1787 | — |  |
| `0e563d9ed2` | check for new achievements | lib:response-formatter.ts:1634<br>lib:response-formatter.ts:1684 | — |  |
| `de726db28f` | Check for unlocks | lib:response-formatter.ts:1634<br>lib:response-formatter.ts:1684 | — |  |
| `115c546ffa` | Check progress | lib:response-formatter.ts:100 | — |  |
| `fb6894f09a` | check your progress with Arete | lib:response-formatter.ts:65 | — |  |
| `d7237e1cc5` | Claim | lib:response-formatter.ts:771 | — |  |
| `e3649d3d69` | compare this translation | lib:response-formatter.ts:1097<br>lib:response-formatter.ts:1138<br>lib:response-formatter.ts:1220 | — |  |
| `91b0e2fc20` | Compare translations | lib:response-formatter.ts:1097<br>lib:response-formatter.ts:1138<br>lib:response-formatter.ts:1220 | — |  |
| `813bb61bd9` | comparison workspace | lib:response-formatter.ts:1244 | — |  |
| `005faaa78f` | Complication | lib:response-formatter.ts:2045 | — |  |
| `8c6e8e0343` | complication-{…} | lib:response-formatter.ts:2042 | — |  |
| `450c1ff0c1` | Congratulations! You unlocked {…} new achievement{…}! | lib:response-formatter.ts:1743 | — |  |
| `ab8db6fbf5` | continue {…} | lib:response-formatter.ts:666 | — |  |
| `2ea848a7ca` | Continue course | lib:response-formatter.ts:666 | — |  |
| `e6040712e0` | Continue learning | lib:response-formatter.ts:40<br>lib:response-formatter.ts:95<br>lib:response-formatter.ts:1290<br>+3 more | — |  |
| `25cb739d01` | continue my lesson | lib:response-formatter.ts:40<br>lib:response-formatter.ts:95<br>lib:response-formatter.ts:1290<br>+2 more | — |  |
| `3fa4414ce4` | continue my passage | lib:response-formatter.ts:102<br>lib:response-formatter.ts:108 | — |  |
| `96ecebb9b2` | continue my plan | lib:response-formatter.ts:1059 | — |  |
| `26c0a655e8` | Continue plan | lib:response-formatter.ts:1059 | — |  |
| `92b34bbda4` | Continue reading | lib:response-formatter.ts:1096<br>lib:response-formatter.ts:1132 | — |  |
| `6d07667e45` | continue reading in Nisaba | lib:response-formatter.ts:1096 | — |  |
| `a5587a9da5` | Course | lib:response-formatter.ts:657<br>lib:response-formatter.ts:1279 | — |  |
| `63eef0d58c` | course catalog | lib:response-formatter.ts:1413 | — |  |
| `df4be74f1a` | Daily check-in | lib:response-formatter.ts:107<br>lib:response-formatter.ts:1021<br>lib:response-formatter.ts:1039<br>+1 more | — |  |
| `4605921f9f` | Daily passage | lib:response-formatter.ts:1083<br>lib:response-formatter.ts:1089<br>lib:response-formatter.ts:1116<br>+2 more | — |  |
| `9db8e28bb3` | Daily plan | lib:response-formatter.ts:1498 | — |  |
| `7e34814dac` | Daily Summary | lib:response-formatter.ts:2161 | — |  |
| `227452944e` | Desktop status: {…}. Tray state: {…}. | lib:response-formatter.ts:2286 | — |  |
| `08616c4394` | disable focus mode | lib:response-formatter.ts:2260 | — |  |
| `06223744e3` | Disable focus mode | lib:response-formatter.ts:2260 | — |  |
| `3603e64f76` | Done! | lib:response-formatter.ts:2673 | — |  |
| `950a8cc6b6` | enable focus mode | lib:response-formatter.ts:2261 | — |  |
| `5efd0deef2` | Enable focus mode | lib:response-formatter.ts:2261 | — |  |
| `f2af9d3df4` | Evening meditation | lib:response-formatter.ts:1501 | — |  |
| `61b2f67de6` | Evening reading | lib:response-formatter.ts:108 | — |  |
| `c9257ec2af` | Evening routine | lib:response-formatter.ts:1522<br>lib:response-formatter.ts:1565<br>lib:response-formatter.ts:1581 | — |  |
| `4437cbef2d` | Event | lib:response-formatter.ts:963 | — |  |
| `57060b9434` | Fact check claims | lib:response-formatter.ts:743 | — |  |
| `eeb8960195` | find Mars | lib:response-formatter.ts:863 | — |  |
| `4a993fcedd` | find you a few minutes with Tara | lib:response-formatter.ts:62 | — |  |
| `4f5b8a74de` | Focus mode | lib:response-formatter.ts:2242 | — |  |
| `896b5009bd` | Focus mode is now on. Notifications are paused. | lib:response-formatter.ts:2256 | — |  |
| `04df2f008f` | Focus mode is off. Notifications are active again. | lib:response-formatter.ts:2257 | — |  |
| `d6ee787049` | Follow {…} | lib:response-formatter.ts:844 | — |  |
| `2b4a5f6e6e` | follow {…} topic | lib:response-formatter.ts:845 | — |  |
| `a267ea1a2b` | Found {…} result{…} for "{…}". {…}{…}.{…} | lib:response-formatter.ts:931 | — |  |
| `6981e9789e` | Found {…} results for "{…}": {…}. | lib:response-formatter.ts:2603 | — |  |
| `4afe9a23ac` | Full summary | lib:response-formatter.ts:2220 | — |  |
| `e464b3a15c` | Get overview | lib:response-formatter.ts:2703 | — |  |
| `2b8117ce3f` | Get recommendation | lib:response-formatter.ts:1548 | — |  |
| `3a41619d29` | Get recommendations | lib:response-formatter.ts:680 | — |  |
| `c798503c59` | give me an overview | lib:response-formatter.ts:320<br>lib:response-formatter.ts:2703 | — |  |
| `854270a3ee` | Give me an overview | lib:response-formatter.ts:320<br>lib:response-formatter.ts:511 | — |  |
| `33fac9ab83` | give me an overview of my day | lib:response-formatter.ts:511 | — |  |
| `b0926610c9` | Glanceable view | lib:response-formatter.ts:2180 | — |  |
| `f2a92dd8bf` | Goal | lib:response-formatter.ts:1006<br>lib:response-formatter.ts:1468 | — |  |
| `35e4694281` | Good afternoon — Lilith here. | lib:response-formatter.ts:46 | — |  |
| `747635cbe3` | Good evening — Lilith here. | lib:response-formatter.ts:47 | — |  |
| `eab3c6d726` | Good morning — Lilith here. | lib:response-formatter.ts:45 | — |  |
| `117dc937f2` | Guided learning path | lib:response-formatter.ts:1280 | — |  |
| `4a6732b745` | have Tara ease you toward sleep | lib:response-formatter.ts:78 | — |  |
| `bb081bbc4b` | have Tara wind you down | lib:response-formatter.ts:70 | — |  |
| `ab2d920954` | Hello — I'm Lilith. This is my house; how can I help you today? | lib:response-formatter.ts:268 | — |  |
| `c45e3d5270` | Help | lib:response-formatter.ts:512<br>lib:response-formatter.ts:541<br>lib:response-formatter.ts:2704<br>+1 more | — |  |
| `95fa9ce7e5` | Here are {…} meditation sessions for you. "{…}" looks like a great choice. | lib:response-formatter.ts:590 | — |  |
| `814e63ad36` | Here are {…} recently fact-checked claims. | lib:response-formatter.ts:777 | — |  |
| `d6bfc2a193` | Here are the top {…} trending stories. "{…}" is leading right now. | lib:response-formatter.ts:739 | — |  |
| `e0eaacb11e` | Here are your {…} watch complications. | lib:response-formatter.ts:2051 | — |  |
| `b0b354cf9f` | Here are your streaks across {…} rooms. | lib:response-formatter.ts:2093 | — |  |
| `19b96cd11c` | Here's the leaderboard! {…} user{…} ranked. | lib:response-formatter.ts:1966 | — |  |
| `9f06e6f2bc` | Here's your overview: {…}. | lib:response-formatter.ts:2490 | — |  |
| `360a1ca552` | Here's your overview. Everything looks quiet right now. | lib:response-formatter.ts:2491 | — |  |
| `2c23a4e59a` | hold your nightly reflection | lib:response-formatter.ts:81 | — |  |
| `479e0808b5` | how are my goals | lib:response-formatter.ts:38<br>lib:response-formatter.ts:93<br>lib:response-formatter.ts:100 | — |  |
| `c321fe0da5` | I also have {…} other option{…}. | lib:response-formatter.ts:1615 | — |  |
| `e79499bdd9` | I can help you find the right routine. Would you like a morning or evening routine? | lib:response-formatter.ts:1561 | — |  |
| `6f6025468e` | I couldn't check for updates right now. Try again later. | lib:response-formatter.ts:2351 | — |  |
| `894b94345e` | I couldn't evaluate your achievements right now. Try again in a moment. | lib:response-formatter.ts:1699 | — |  |
| `5891c90cfe` | I couldn't find any celestial objects matching "{…}". Try a different name or check tonight's sky. | lib:response-formatter.ts:909 | — |  |
| `fbd1fd170b` | I couldn't find any Metis catalog results for "{…}". Try a broader subject, course topic, or tutoring need. | lib:response-formatter.ts:1357 | — |  |
| `d9c26dbfff` | I couldn't find any Nisaba library results for "{…}". Try a broader concept, source, or passage reference. | lib:response-formatter.ts:1196 | — |  |
| `8597f6dc5c` | I couldn't generate a summary right now. Try syncing your watch first. | lib:response-formatter.ts:2152 | — |  |
| `f3396a1bb4` | I couldn't get the desktop status right now. | lib:response-formatter.ts:2273 | — |  |
| `1cfc787f23` | I couldn't join that challenge. It may not exist or may have already ended. | lib:response-formatter.ts:1822 | — |  |
| `e2b8b2280a` | I couldn't load challenges right now. Try again in a moment. | lib:response-formatter.ts:1760 | — |  |
| `5c2621c15b` | I couldn't load the leaderboard right now. Try again in a moment. | lib:response-formatter.ts:1927 | — |  |
| `14fbf2a623` | I couldn't load today's passage right now. You can still open Nisaba and browse the library. | lib:response-formatter.ts:1073 | — |  |
| `e73d6a6789` | I couldn't load your achievement summary right now. Try again in a moment. | lib:response-formatter.ts:1632 | — |  |
| `f15a8b4d88` | I couldn't load your partnerships right now. Try again in a moment. | lib:response-formatter.ts:1859 | — |  |
| `83b73ee8cb` | I couldn't open Metis from here. Try saying open Metis, open tutoring, or open my assessments. | lib:response-formatter.ts:1396 | — |  |
| `a634a51413` | I couldn't open Nisaba from here. Try saying open my library or show my daily passage. | lib:response-formatter.ts:1232 | — |  |
| `d3ab8e93a5` | I couldn't sync your wearable data right now. Please try again in a moment. | lib:response-formatter.ts:1987 | — |  |
| `3c6e49ae24` | I don't have any meditation recommendations right now. Would you like to browse Tara directly? | lib:response-formatter.ts:561 | — |  |
| `ba95467273` | I don't have any Metis course recommendations right now. I can still open the course catalog or tutoring. | lib:response-formatter.ts:1261 | — |  |
| `a71931d234` | I don't have any routine recommendations right now. Try asking for a morning or evening routine. | lib:response-formatter.ts:1577 | — |  |
| `6095015718` | I found {…} Metis course{…}. "{…}" looks like the strongest next step. | lib:response-formatter.ts:1287 | — |  |
| `85ef71fc2b` | I found {…} Metis result{…} for "{…}". | lib:response-formatter.ts:1379 | — |  |
| `b129467183` | I found {…} Nisaba result{…} for "{…}". | lib:response-formatter.ts:1218 | — |  |
| `6105dc334e` | I found {…} Nisaba workspace{…}. "{…}" is the most recently updated. | lib:response-formatter.ts:1177 | — |  |
| `1df5e6625f` | I found a meditation for you: "{…}". Ready to start? | lib:response-formatter.ts:589 | — |  |
| `5b37d32358` | I keep {…} here, and each one answers to me. Here are some things you can ask: {…} You can also ask me for an overview of every room, search across everything, or have me walk you to any screen. | lib:response-formatter.ts:317 | — |  |
| `2653bcafc4` | I recommend "{…}" for you right now.{…}{…} | lib:response-formatter.ts:1615 | — |  |
| `8e3f77763f` | I saw {…} | lib:response-formatter.ts:934 | — |  |
| `f6b4f1e947` | I'm not sure what you're looking for. Say "help" for a full list of what I can do. | lib:response-formatter.ts:539 | — |  |
| `a93e84ec4c` | I'm not sure what you're looking for. You can ask me about {…}. Say "help" for a full list of what I can do. | lib:response-formatter.ts:538 | — |  |
| `8195ead4a5` | I'm not sure which room you mean. Try saying its name: {…}. | lib:response-formatter.ts:2519 | — |  |
| `ead5443287` | I'm not sure which room you mean. Try saying its name. | lib:response-formatter.ts:2520 | — |  |
| `4c0a1eb11e` | I've prepared {…}. | lib:response-formatter.ts:1489 | — |  |
| `724de3293f` | is a {…} | lib:response-formatter.ts:931 | — |  |
| `35c25a6f0b` | It's late — Lilith here, keeping the lights low. | lib:response-formatter.ts:48 | — |  |
| `b8ff558dee` | Join "{…}" | lib:response-formatter.ts:1806 | — |  |
| `5d5f8f3127` | Join a challenge | lib:response-formatter.ts:1878<br>lib:response-formatter.ts:1946 | — |  |
| `1c6a4a74b6` | join the {…} challenge | lib:response-formatter.ts:1807 | — |  |
| `3ed4c5ced3` | leaderboard-{…} | lib:response-formatter.ts:1957 | — |  |
| `60e4ce8a7e` | leave the reading for morning | lib:response-formatter.ts:79 | — |  |
| `e08b2f88a1` | Let's start your morning routine! | lib:response-formatter.ts:1486 | — |  |
| `48dc40a43b` | Level {…} — {…} points | lib:response-formatter.ts:1654 | — |  |
| `3e01ee854a` | Library result | lib:response-formatter.ts:1211 | — |  |
| `1b8510d045` | Lilith | lib:response-formatter.ts:2283 | — |  |
| `950434cad8` | Log observation | lib:response-formatter.ts:934 | — |  |
| `f8910a3d17` | look over your goals with Arete | lib:response-formatter.ts:57 | — |  |
| `9ac197dcf7` | Meditation | lib:response-formatter.ts:693<br>lib:response-formatter.ts:1448 | — |  |
| `350a43783f` | Meditation Session | lib:response-formatter.ts:579 | — |  |
| `3ec5bda6cf` | Metis | lib:response-formatter.ts:124<br>lib:response-formatter.ts:1373<br>lib:response-formatter.ts:2546 | — |  |
| `19661b3339` | Metis can resume {…} | lib:response-formatter.ts:2464 | — |  |
| `cc9101deb8` | Metis has {…} learning item{…} ready | lib:response-formatter.ts:2465 | — |  |
| `be5992fe0e` | metis-course-{…} | lib:response-formatter.ts:1276 | — |  |
| `960b5368b5` | metis-search-{…} | lib:response-formatter.ts:1369 | — |  |
| `776dcc87a2` | More details | lib:response-formatter.ts:888 | — |  |
| `576529d8ac` | More options | lib:response-formatter.ts:594 | — |  |
| `352a74c011` | Morning meditation | lib:response-formatter.ts:91 | — |  |
| `2a51508bef` | Morning routine | lib:response-formatter.ts:1521<br>lib:response-formatter.ts:1564<br>lib:response-formatter.ts:1580 | — |  |
| `8248476de3` | My achievements | lib:response-formatter.ts:1809<br>lib:response-formatter.ts:1969 | — |  |
| `70083249ce` | My favorites | lib:response-formatter.ts:565 | — |  |
| `eeb4955986` | my routine | lib:response-formatter.ts:1547 | — |  |
| `d5ac3cd841` | New Achievement | lib:response-formatter.ts:1736 | — |  |
| `b914260f26` | Nightly reflection | lib:response-formatter.ts:113 | — |  |
| `dba964a5e2` | Nisaba | lib:response-formatter.ts:123<br>lib:response-formatter.ts:2545 | — |  |
| `a85ece9517` | Nisaba has {…} study item{…} ready | lib:response-formatter.ts:2456 | — |  |
| `20655aaf0c` | Nisaba has today's passage ready: {…} | lib:response-formatter.ts:2455 | — |  |
| `e18cfe67e1` | nisaba-search-{…} | lib:response-formatter.ts:1208 | — |  |
| `4398b18216` | nisaba-workspace-{…} | lib:response-formatter.ts:1166 | — |  |
| `e5efea33ea` | No active wearable reminders right now. Reminders are generated based on your activity and preferences. | lib:response-formatter.ts:2113 | — |  |
| `56b19ab8c5` | No challenges available right now. Check back later for new community challenges! | lib:response-formatter.ts:1775 | — |  |
| `3e3c32c441` | No complication data available yet. Sync your watch first to populate the data. | lib:response-formatter.ts:2032 | — |  |
| `fdac1cb80a` | No glanceable data available yet. Sync your watch to get started. | lib:response-formatter.ts:2194 | — |  |
| `6cfdde5538` | No keyboard shortcuts configured. | lib:response-formatter.ts:2390 | — |  |
| `40a8d9acae` | No major sky highlights for tonight. Still, the stars are always worth a look! | lib:response-formatter.ts:859 | — |  |
| `9946f692b7` | No new achievements unlocked yet.{…} Keep going! | lib:response-formatter.ts:1719 | — |  |
| `6195936411` | No recent fact-checked claims to show. Check the trending stories instead. | lib:response-formatter.ts:756 | — |  |
| `2fdf6f88cf` | No results found for "{…}" in any of your rooms. Try a different search term. | lib:response-formatter.ts:2574 | — |  |
| `d762207698` | No sidebar widgets active. You can add widgets for streaks, headlines, habits, and more. | lib:response-formatter.ts:2315 | — |  |
| `4aecfe46f4` | No streak data available yet. Start a meditation or complete a habit to build your streaks! | lib:response-formatter.ts:2071 | — |  |
| `087494079b` | No trending stories right now. Check back later or browse topics. | lib:response-formatter.ts:713 | — |  |
| `4e8f633b37` | No trending topics available right now. | lib:response-formatter.ts:826 | — |  |
| `f95da08699` | Nyx | lib:response-formatter.ts:121<br>lib:response-formatter.ts:2543 | — |  |
| `327311643c` | Nyx shows {…} sky highlight{…} tonight | lib:response-formatter.ts:2445 | — |  |
| `0bc50b4bbc` | nyx-object-{…} | lib:response-formatter.ts:921 | — |  |
| `7625882a45` | nyx-reminder-{…} | lib:response-formatter.ts:960 | — |  |
| `d9326cc934` | nyx-tonight-{…} | lib:response-formatter.ts:874 | — |  |
| `c317de5a9b` | one room | lib:response-formatter.ts:314 | — |  |
| `5f04816022` | open {…} | lib:response-formatter.ts:2533 | — |  |
| `2f38149def` | Open {…} | lib:response-formatter.ts:2533 | — |  |
| `a7c4128ec1` | open Arete | lib:response-formatter.ts:993 | — |  |
| `01933e9f4b` | Open Arete | lib:response-formatter.ts:993 | — |  |
| `c58e39e2f0` | Open assessments | lib:response-formatter.ts:1338 | — |  |
| `8af387fcaf` | Open courses | lib:response-formatter.ts:1264<br>lib:response-formatter.ts:1310<br>lib:response-formatter.ts:1359<br>+1 more | — |  |
| `886388b1f8` | Open latest | lib:response-formatter.ts:1179 | — |  |
| `1e681b4290` | Open library | lib:response-formatter.ts:1075<br>lib:response-formatter.ts:1117<br>lib:response-formatter.ts:1154<br>+2 more | — |  |
| `cfacccaafc` | open Metis | lib:response-formatter.ts:1264<br>lib:response-formatter.ts:1310<br>lib:response-formatter.ts:1359<br>+1 more | — |  |
| `236f1b4090` | open my assessments | lib:response-formatter.ts:1338 | — |  |
| `662ccea932` | open my Nisaba library | lib:response-formatter.ts:1075<br>lib:response-formatter.ts:1117<br>lib:response-formatter.ts:1154<br>+2 more | — |  |
| `8148adb425` | open my research workspace | lib:response-formatter.ts:1179 | — |  |
| `e0fd9ceee7` | open Tara | lib:response-formatter.ts:564 | — |  |
| `aa9ffa7fb7` | Open Tara | lib:response-formatter.ts:564 | — |  |
| `745fc6401a` | open Tara for a morning sit | lib:response-formatter.ts:54 | — |  |
| `f6654fbc25` | open today's passage | lib:response-formatter.ts:39<br>lib:response-formatter.ts:94 | — |  |
| `55a8597049` | open today's passage in Nisaba | lib:response-formatter.ts:58 | — |  |
| `cbcf1083bb` | open tutoring | lib:response-formatter.ts:1265<br>lib:response-formatter.ts:1291<br>lib:response-formatter.ts:1311<br>+3 more | — |  |
| `a6f4c2bd65` | Open tutoring | lib:response-formatter.ts:1265<br>lib:response-formatter.ts:1291<br>lib:response-formatter.ts:1311<br>+3 more | — |  |
| `0ab6dde8f9` | open your reading again | lib:response-formatter.ts:74 | — |  |
| `98d42436b4` | Opening {…}. | lib:response-formatter.ts:2550 | — |  |
| `499406a78f` | Opening Metis {…}. | lib:response-formatter.ts:1416 | — |  |
| `b2e7f9738c` | Opening your daily check-in. Let's see how your day is going! | lib:response-formatter.ts:976 | — |  |
| `2cdf785ad9` | Opening your Nisaba {…}. | lib:response-formatter.ts:1246 | — |  |
| `dd310c7564` | overview-{…}-{…} | lib:response-formatter.ts:2474 | — |  |
| `dfd6d45b9b` | Partner: {…} | lib:response-formatter.ts:1892 | — |  |
| `ecb4fedd1f` | partnership-{…} | lib:response-formatter.ts:1889 | — |  |
| `47483c2e3a` | pick your lesson back up in Metis | lib:response-formatter.ts:59 | — |  |
| `5baec7bf76` | queue tomorrow's lesson | lib:response-formatter.ts:83 | — |  |
| `5613622659` | Quick meditation | lib:response-formatter.ts:98 | — |  |
| `d8d2eed22e` | quick watch glance | lib:response-formatter.ts:2180 | — |  |
| `43dab5ad76` | Read | lib:response-formatter.ts:807 | — |  |
| `69f9b9de65` | read you something quiet | lib:response-formatter.ts:82 | — |  |
| `d7933f6eed` | Ready to resume | lib:response-formatter.ts:1332 | — |  |
| `3d71f3e396` | Ready to study | lib:response-formatter.ts:1090 | — |  |
| `f32f001d7f` | Recently unlocked | lib:response-formatter.ts:1673 | — |  |
| `6cbcf7c091` | recommend a meditation | lib:response-formatter.ts:680 | — |  |
| `b74f388681` | Recommend a routine | lib:response-formatter.ts:1520 | — |  |
| `d3d28b1436` | recommend a routine for me | lib:response-formatter.ts:1520<br>lib:response-formatter.ts:1548 | — |  |
| `f1f2251750` | Reflect on day | lib:response-formatter.ts:1503 | — |  |
| `2cf301abea` | refresh my widgets | lib:response-formatter.ts:2338 | — |  |
| `8a08002bcb` | Refresh widgets | lib:response-formatter.ts:2338 | — |  |
| `8041aeca8e` | remind me about {…} | lib:response-formatter.ts:887 | — |  |
| `d04e0762c8` | Reminder | lib:response-formatter.ts:2129 | — |  |
| `6a3994e1c2` | reminder-{…} | lib:response-formatter.ts:2126 | — |  |
| `8a9206d26d` | Reminder: {…} | lib:response-formatter.ts:964 | — |  |
| `424a5dece7` | Result | lib:response-formatter.ts:2591 | — |  |
| `ff1e90d6b2` | Resume my reading | lib:response-formatter.ts:102 | — |  |
| `e3ede03695` | Resuming "{…}" — you were {…}% through. | lib:response-formatter.ts:617 | — |  |
| `07a0eb0f99` | Resuming "{…}"{…} at {…}% complete. | lib:response-formatter.ts:1126 | — |  |
| `78e87503d2` | Resuming "{…}"{…}. | lib:response-formatter.ts:1320 | — |  |
| `f8b066ee09` | Review goals | lib:response-formatter.ts:1497 | — |  |
| `b07cd4d860` | review my day | lib:response-formatter.ts:1503 | — |  |
| `ccf7d3242b` | Review my goals | lib:response-formatter.ts:38<br>lib:response-formatter.ts:93 | — |  |
| `b0acaceba8` | Routine | lib:response-formatter.ts:1536<br>lib:response-formatter.ts:1597 | — |  |
| `b73c9df47d` | routine-arete-{…} | lib:response-formatter.ts:1465 | — |  |
| `c6c5c0c9c6` | routine-list-{…} | lib:response-formatter.ts:1533 | — |  |
| `d61b796fdb` | routine-rec-{…} | lib:response-formatter.ts:1594 | — |  |
| `96acce8da8` | run your mastery check | lib:response-formatter.ts:75 | — |  |
| `2afa981154` | save {…} | lib:response-formatter.ts:935 | — |  |
| `536fbdb52c` | Save first article | lib:response-formatter.ts:742 | — |  |
| `c8b839787d` | Save object | lib:response-formatter.ts:935 | — |  |
| `028aaa9962` | save this article | lib:response-formatter.ts:742 | — |  |
| `2c1e20237e` | Search everything | lib:response-formatter.ts:321 | — |  |
| `c420f928f2` | search for | lib:response-formatter.ts:321 | — |  |
| `28e573b3aa` | Search objects | lib:response-formatter.ts:863 | — |  |
| `fc2af873e0` | search-{…}-{…} | lib:response-formatter.ts:2588 | — |  |
| `248e9fe8e2` | Section | lib:response-formatter.ts:2171 | — |  |
| `e93810ad52` | See all routines | lib:response-formatter.ts:1619 | — |  |
| `e2b2230b98` | See evidence | lib:response-formatter.ts:779 | — |  |
| `71c63aad43` | See leaderboard | lib:response-formatter.ts:1686<br>lib:response-formatter.ts:1846 | — |  |
| `1d411daa4d` | Set reminder | lib:response-formatter.ts:887 | — |  |
| `b290571ea8` | Share with partner | lib:response-formatter.ts:1747 | — |  |
| `c41e42eedc` | Shortcut | lib:response-formatter.ts:2403 | — |  |
| `275e3c6be2` | shortcut-{…} | lib:response-formatter.ts:2400 | — |  |
| `e30a05e550` | show challenges | lib:response-formatter.ts:1685<br>lib:response-formatter.ts:1723<br>lib:response-formatter.ts:1824<br>+4 more | — |  |
| `84d3a37b1b` | show evidence for the first claim | lib:response-formatter.ts:779 | — |  |
| `74f6070b2d` | show fact checks | lib:response-formatter.ts:743 | — |  |
| `980829006f` | show meditation courses | lib:response-formatter.ts:644 | — |  |
| `7b11f717c8` | show more meditation options | lib:response-formatter.ts:594 | — |  |
| `6ead2a3953` | show my accountability partners | lib:response-formatter.ts:1747 | — |  |
| `1511083e2d` | show my achievements | lib:response-formatter.ts:1701<br>lib:response-formatter.ts:1722<br>lib:response-formatter.ts:1746<br>+6 more | — |  |
| `498435b5f4` | show my challenges | lib:response-formatter.ts:1845 | — |  |
| `75d3762d5f` | show my daily passage | lib:response-formatter.ts:1116<br>lib:response-formatter.ts:1155<br>lib:response-formatter.ts:1236 | — |  |
| `7a4415905c` | show my favorite meditations | lib:response-formatter.ts:565 | — |  |
| `eb68f0034a` | show my goals | lib:response-formatter.ts:1038<br>lib:response-formatter.ts:1497 | — |  |
| `ec26a5a5c3` | show my habits | lib:response-formatter.ts:2075 | — |  |
| `20245cc481` | show my routines | lib:response-formatter.ts:1619 | — |  |
| `cbcab16d96` | show my watch complications | lib:response-formatter.ts:2015<br>lib:response-formatter.ts:2221 | — |  |
| `7e6e3726de` | show my watch preferences | lib:response-formatter.ts:2116 | — |  |
| `1b78d9a300` | show my watch streaks | lib:response-formatter.ts:2016<br>lib:response-formatter.ts:2055<br>lib:response-formatter.ts:2181 | — |  |
| `5344c26f75` | show my watch summary | lib:response-formatter.ts:2097<br>lib:response-formatter.ts:2139<br>lib:response-formatter.ts:2220 | — |  |
| `47109d500d` | show my widgets | lib:response-formatter.ts:2299 | — |  |
| `b0dd1dc323` | show the leaderboard | lib:response-formatter.ts:1686<br>lib:response-formatter.ts:1846 | — |  |
| `8d59207857` | show trending topics | lib:response-formatter.ts:715 | — |  |
| `2a6aab7694` | sit with a passage in Nisaba | lib:response-formatter.ts:66 | — |  |
| `bcefbb4203` | sit with you through your Arete check-in | lib:response-formatter.ts:73 | — |  |
| `c03fb1f9c6` | Sky Event | lib:response-formatter.ts:877 | — |  |
| `436d03fcd4` | Sky object | lib:response-formatter.ts:924 | — |  |
| `f5a13767bd` | Sleep meditation | lib:response-formatter.ts:112 | — |  |
| `d67319c962` | Sorry, I'm having trouble reaching {…} right now. Please try again in a moment. | lib:response-formatter.ts:2656 | — |  |
| `9f4dd9df8e` | Start "{…}" | lib:response-formatter.ts:593<br>lib:response-formatter.ts:1618 | — |  |
| `429a422a06` | start {…} | lib:response-formatter.ts:593<br>lib:response-formatter.ts:701<br>lib:response-formatter.ts:1547<br>+1 more | — |  |
| `850521f199` | start a 5 minute meditation | lib:response-formatter.ts:98 | — |  |
| `dccbfc70bf` | start a calming meditation | lib:response-formatter.ts:105<br>lib:response-formatter.ts:1501 | — |  |
| `fce944e5d9` | start a meditation | lib:response-formatter.ts:35<br>lib:response-formatter.ts:609<br>lib:response-formatter.ts:2074<br>+1 more | — |  |
| `78f2fe1681` | start a morning meditation | lib:response-formatter.ts:91<br>lib:response-formatter.ts:1496 | — |  |
| `31db86be63` | start a morning routine | lib:response-formatter.ts:1521<br>lib:response-formatter.ts:1564<br>lib:response-formatter.ts:1580 | — |  |
| `b617cc2c99` | start a sleep meditation | lib:response-formatter.ts:112 | — |  |
| `57c7e90e36` | start an evening routine | lib:response-formatter.ts:1522<br>lib:response-formatter.ts:1565<br>lib:response-formatter.ts:1581 | — |  |
| `78fe1d3d85` | Start first | lib:response-formatter.ts:701<br>lib:response-formatter.ts:1547 | — |  |
| `6682321c74` | Start meditation | lib:response-formatter.ts:35<br>lib:response-formatter.ts:1496<br>lib:response-formatter.ts:2074<br>+1 more | — |  |
| `a5f64dbb0d` | start my check-in | lib:response-formatter.ts:107<br>lib:response-formatter.ts:113<br>lib:response-formatter.ts:1021<br>+2 more | — |  |
| `68b9ea262f` | Start new | lib:response-formatter.ts:609 | — |  |
| `2ffae900a1` | State: {…} | lib:response-formatter.ts:2293 | — |  |
| `706b55cdf6` | Status: {…} | lib:response-formatter.ts:1840 | — |  |
| `8ff480b3c2` | Streak | lib:response-formatter.ts:2087 | — |  |
| `e2f4c743ef` | Streak comparison | lib:response-formatter.ts:2096 | — |  |
| `113ba7b7d5` | streak comparison across rooms | lib:response-formatter.ts:2096 | — |  |
| `3fc4f6ebea` | streak-widget-{…} | lib:response-formatter.ts:2084 | — |  |
| `da6ceb677f` | summary-section-{…} | lib:response-formatter.ts:2168 | — |  |
| `a05a68f52e` | sync my watch | lib:response-formatter.ts:2034<br>lib:response-formatter.ts:2054<br>lib:response-formatter.ts:2117<br>+3 more | — |  |
| `d01fb26f6d` | Sync watch | lib:response-formatter.ts:2034<br>lib:response-formatter.ts:2054<br>lib:response-formatter.ts:2117<br>+3 more | — |  |
| `e4ee7d50f0` | Take care! Open Lilith anytime — I'll be here, and I'll check in on you. | lib:response-formatter.ts:282 | — |  |
| `a1701610bd` | Tara | lib:response-formatter.ts:119<br>lib:response-formatter.ts:2541 | — |  |
| `7915084de3` | Tara has {…} meditation{…} ready for you | lib:response-formatter.ts:2435 | — |  |
| `022340e5ba` | tara-course-{…} | lib:response-formatter.ts:654 | — |  |
| `c17aa5fc83` | tara-fav-{…} | lib:response-formatter.ts:690 | — |  |
| `0824658113` | tara-rec-{…} | lib:response-formatter.ts:576 | — |  |
| `fe0fed14ca` | tell me more about {…} | lib:response-formatter.ts:888 | — |  |
| `ba9a164896` | tell you what was overhead last night | lib:response-formatter.ts:56 | — |  |
| `d8767458cf` | The leaderboard is empty. Be the first to earn achievements and climb the ranks! | lib:response-formatter.ts:1942 | — |  |
| `c464fd3b66` | the news | lib:response-formatter.ts:27 | — |  |
| `4179e4427f` | the night sky | lib:response-formatter.ts:28 | — |  |
| `e9ee65d419` | There are {…} challenge{…} available. Ready to take one on? | lib:response-formatter.ts:1802 | — |  |
| `d3423cda90` | Time to wind down with your evening routine. | lib:response-formatter.ts:1487 | — |  |
| `ae8e20ef0e` | Today's news | lib:response-formatter.ts:92 | — |  |
| `2b127ae2bc` | Today's Nisaba passage is "{…}"{…}. | lib:response-formatter.ts:1083 | — |  |
| `d326801abe` | Today's passage | lib:response-formatter.ts:39<br>lib:response-formatter.ts:94 | — |  |
| `2827e88b0c` | toggle focus mode | lib:response-formatter.ts:2242<br>lib:response-formatter.ts:2298 | — |  |
| `b640d8505d` | Toggle focus mode | lib:response-formatter.ts:2298 | — |  |
| `b932b484ae` | Toggle mini player | lib:response-formatter.ts:2241 | — |  |
| `c3f9dde3f3` | Toggle sidebar | lib:response-formatter.ts:2317<br>lib:response-formatter.ts:2337 | — |  |
| `5d524cb596` | toggle the mini player | lib:response-formatter.ts:2241 | — |  |
| `fb1bc3ea8f` | toggle the sidebar | lib:response-formatter.ts:2317<br>lib:response-formatter.ts:2337 | — |  |
| `e529de035e` | Toggled the {…} window. | lib:response-formatter.ts:2238 | — |  |
| `ab0b7e3ce0` | Tonight's sky | lib:response-formatter.ts:37<br>lib:response-formatter.ts:101<br>lib:response-formatter.ts:106<br>+3 more | — |  |
| `80488cb023` | Tonight's sky has {…} highlight{…}. "{…}" is the main feature tonight. | lib:response-formatter.ts:884 | — |  |
| `f3b4e88b3d` | Topic | lib:response-formatter.ts:837 | — |  |
| `969abf2914` | Trending stories | lib:response-formatter.ts:758<br>lib:response-formatter.ts:793 | — |  |
| `5ecf39afc7` | Trending topics: {…}. Want to follow any of them? | lib:response-formatter.ts:841 | — |  |
| `d1b6c8aef2` | Try again | lib:response-formatter.ts:2659 | — |  |
| `4a3d7169d8` | Unknown | lib:response-formatter.ts:1892<br>lib:response-formatter.ts:2360<br>lib:response-formatter.ts:2361 | — |  |
| `c6fd6ed22c` | Unlocked {…} | lib:response-formatter.ts:1672 | — |  |
| `b2cbfee8ea` | Unread | lib:response-formatter.ts:807 | — |  |
| `9031c7ac1b` | upcoming astronomical events | lib:response-formatter.ts:862<br>lib:response-formatter.ts:950 | — |  |
| `f7fc621cec` | Upcoming events | lib:response-formatter.ts:862<br>lib:response-formatter.ts:950 | — |  |
| `026b0d859d` | User | lib:response-formatter.ts:1960 | — |  |
| `bf19d88e68` | Verdict: {…} ({…}% confidence) | lib:response-formatter.ts:772 | — |  |
| `07f8477808` | Veritas | lib:response-formatter.ts:120<br>lib:response-formatter.ts:2542 | — |  |
| `48d4f667c3` | Veritas has {…} trending {…} | lib:response-formatter.ts:2440 | — |  |
| `d6531722e0` | veritas-claim-{…} | lib:response-formatter.ts:768 | — |  |
| `d4c165d5bb` | veritas-saved-{…} | lib:response-formatter.ts:803 | — |  |
| `23f3c7d3dc` | veritas-trending-{…} | lib:response-formatter.ts:725 | — |  |
| `412f236ba1` | Version {…} | lib:response-formatter.ts:2370 | — |  |
| `5cde9f9b30` | View achievements | lib:response-formatter.ts:1701<br>lib:response-formatter.ts:1722<br>lib:response-formatter.ts:1777<br>+3 more | — |  |
| `5e441b75fa` | View all achievements | lib:response-formatter.ts:1746 | — |  |
| `b03469b918` | View challenges | lib:response-formatter.ts:1685<br>lib:response-formatter.ts:1723<br>lib:response-formatter.ts:1824<br>+2 more | — |  |
| `fece35f0ba` | View complications | lib:response-formatter.ts:2015<br>lib:response-formatter.ts:2221 | — |  |
| `2967fe561a` | View goals | lib:response-formatter.ts:1038 | — |  |
| `7bf21c7305` | View habits | lib:response-formatter.ts:2075 | — |  |
| `e8db135cd6` | View my challenges | lib:response-formatter.ts:1845 | — |  |
| `7c298a3abe` | View plan | lib:response-formatter.ts:1022 | — |  |
| `1453eb3c3f` | View preferences | lib:response-formatter.ts:2116 | — |  |
| `88dd201eb6` | View streaks | lib:response-formatter.ts:2016<br>lib:response-formatter.ts:2055<br>lib:response-formatter.ts:2181 | — |  |
| `f2c90be9d3` | View summary | lib:response-formatter.ts:2097<br>lib:response-formatter.ts:2139 | — |  |
| `2300d087ad` | View widgets | lib:response-formatter.ts:2299 | — |  |
| `2165c57550` | Watch data synced! Updated {…} complications and {…} reminders. | lib:response-formatter.ts:2001 | — |  |
| `a3988630b5` | Wearable Sync Complete | lib:response-formatter.ts:2008 | — |  |
| `42abb54987` | Welcome | lib:response-formatter.ts:2203 | — |  |
| `f9111e64b7` | what can you do | lib:response-formatter.ts:512<br>lib:response-formatter.ts:2704<br>lib:response-formatter.ts:2711 | — |  |
| `fd9a15a0e4` | what's in the sky tonight | lib:response-formatter.ts:37<br>lib:response-formatter.ts:101<br>lib:response-formatter.ts:106<br>+3 more | — |  |
| `0c74fb4662` | what's my next step | lib:response-formatter.ts:1022 | — |  |
| `be9e535a4e` | what's my plan for today | lib:response-formatter.ts:1498 | — |  |
| `b662c883bd` | What's new? | lib:response-formatter.ts:322 | — |  |
| `83c6d97b2c` | what's trending | lib:response-formatter.ts:36<br>lib:response-formatter.ts:92<br>lib:response-formatter.ts:99<br>+5 more | — |  |
| `87767932cf` | What's trending | lib:response-formatter.ts:99 | — |  |
| `51bd71426d` | What's trending? | lib:response-formatter.ts:36<br>lib:response-formatter.ts:2498 | — |  |
| `15501c127a` | Widget | lib:response-formatter.ts:2328 | — |  |
| `171304aee4` | widget-{…} | lib:response-formatter.ts:2325 | — |  |
| `32a2fa2b69` | Wind down | lib:response-formatter.ts:105 | — |  |
| `e7a6d9367a` | Workspace | lib:response-formatter.ts:1169 | — |  |
| `00b9feeb0f` | You also have {…} other course(s) in progress. | lib:response-formatter.ts:664 | — |  |
| `160bf2b742` | You don't have an active growth plan. Check your goals or start a check-in to get personalized recommendations. | lib:response-formatter.ts:1035 | — |  |
| `5ec71ba0ce` | You don't have an active Metis learning thread right now. I can open your courses, tutoring, or assessments. | lib:response-formatter.ts:1307 | — |  |
| `9d7d7c8e69` | You don't have an active session to resume. Want to start a new meditation? | lib:response-formatter.ts:607 | — |  |
| `45a7b3eeab` | You don't have an in-progress Nisaba passage right now. I can open today's passage or your library instead. | lib:response-formatter.ts:1113 | — |  |
| `862af16aa6` | You don't have any accountability partners yet. Invite a friend to keep each other motivated! | lib:response-formatter.ts:1874 | — |  |
| `c4b5e648cf` | You don't have any active goals yet. Start your growth journey by setting one! | lib:response-formatter.ts:991 | — |  |
| `958c8d07b7` | You don't have any active Nisaba workspaces yet. I can open your library or today's passage instead. | lib:response-formatter.ts:1151 | — |  |
| `9593bfeb95` | You don't have any event reminders set. Want to check upcoming events? | lib:response-formatter.ts:948 | — |  |
| `3f3b3957fa` | You don't have any routines yet. I can recommend one based on the time of day, or you can create a custom routine. | lib:response-formatter.ts:1517 | — |  |
| `1b83559459` | You have {…} active accountability partner{…}. | lib:response-formatter.ts:1910 | — |  |
| `0b566c18a8` | You have {…} active goal{…}.{…} | lib:response-formatter.ts:1018 | — |  |
| `d288bd4344` | You have {…} active sidebar widget{…}. | lib:response-formatter.ts:2334 | — |  |
| `23b268ebe9` | You have {…} active wearable reminder{…}. | lib:response-formatter.ts:2135 | — |  |
| `818f5e9ed3` | You have {…} event reminder{…} set. | lib:response-formatter.ts:958 | — |  |
| `89c890a884` | You have {…} favorite meditation{…}. Here they are. | lib:response-formatter.ts:699 | — |  |
| `f76a8bf150` | You have {…} keyboard shortcut{…} configured. | lib:response-formatter.ts:2409 | — |  |
| `4e74dedf2d` | You have {…} routine{…}. Here they are. | lib:response-formatter.ts:1544 | — |  |
| `79eb36c799` | You have {…} saved article{…} in your reading list. | lib:response-formatter.ts:812 | — |  |
| `84999c8532` | You haven't favorited any meditations yet. Try a session and save your favorites! | lib:response-formatter.ts:678 | — |  |
| `64e21e3e34` | You haven't started any meditation courses yet. Want to see what's available? | lib:response-formatter.ts:642 | — |  |
| `19831fd073` | You're {…}% through "{…}" — {…} of {…} lessons done.{…} | lib:response-formatter.ts:664 | — |  |
| `6497562f01` | You're closest to "{…}". | lib:response-formatter.ts:1715 | — |  |
| `78aad76ae6` | You're Level {…} with {…} points. {…} of {…} achievements unlocked.{…} | lib:response-formatter.ts:1681 | — |  |
| `fa3c12561f` | You're on a {…}-day streak! | lib:response-formatter.ts:1678 | — |  |
| `a647aefeb1` | You're on version {…}. Status: {…}. | lib:response-formatter.ts:2364 | — |  |
| `b6eafca1d7` | You've joined the challenge! Your progress starts now. Good luck! | lib:response-formatter.ts:1833 | — |  |
| `d9bf3a6857` | Your current plan "{…}" is {…}% complete. Next step: {…} | lib:response-formatter.ts:1048 | — |  |
| `e83eb91032` | your goals | lib:response-formatter.ts:29 | — |  |
| `7d0c3eae4f` | Your latest workspace | lib:response-formatter.ts:1177 | — |  |
| `c56d131e19` | your lessons | lib:response-formatter.ts:31 | — |  |
| `bae76b39db` | Your longest streak is {…} days — keep it up! | lib:response-formatter.ts:1018 | — |  |
| `91fac54454` | your Metis path | lib:response-formatter.ts:1320 | — |  |
| `ba490fd2b5` | Your next course | lib:response-formatter.ts:1287 | — |  |
| `50f26f1486` | your passage | lib:response-formatter.ts:1126 | — |  |
| `195254e7f4` | your reading | lib:response-formatter.ts:30 | — |  |
| `1f4014a26e` | Your reading list is empty. Save articles from trending stories to read later. | lib:response-formatter.ts:791 | — |  |
| `2bfb0fbdbd` | your search | lib:response-formatter.ts:1192<br>lib:response-formatter.ts:1353 | — |  |

## entry copy — 31 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `1ef134d2c7` | a keyboard shortcut | web:components/assistant/member-entry-copy.ts:29 | — |  |
| `ff1822da2d` | a link | web:components/assistant/member-entry-copy.ts:32<br>web:components/assistant/member-entry-copy.ts:38 | — |  |
| `ae83082ae5` | a notification | web:components/assistant/member-entry-copy.ts:39 | — |  |
| `7cfe6f7646` | a question on this page | web:components/assistant/member-entry-copy.ts:31 | — |  |
| `79687386d8` | a suggestion I offered | web:components/assistant/member-entry-copy.ts:34 | — |  |
| `a34fce0aa7` | Active persona | web:components/assistant/member-entry-copy.ts:92 | — |  |
| `76251ac001` | Activity | web:components/assistant/member-entry-copy.ts:66 | — |  |
| `6570e9cf2f` | Available | web:components/assistant/member-entry-copy.ts:94 | — |  |
| `605dcc3d29` | Available now | web:components/assistant/member-entry-copy.ts:94 | — |  |
| `7c7a3b4865` | Explore | web:components/assistant/member-entry-copy.ts:65 | — |  |
| `6e644a82ec` | Guiding now | web:components/assistant/member-entry-copy.ts:92 | — |  |
| `9252acf4ca` | I'll keep your place while we talk, so you can pick up where you left off. | web:components/assistant/member-entry-copy.ts:123 | — |  |
| `f0041da629` | I've kept your place in {…}, so you can pick up where you left off. | web:components/assistant/member-entry-copy.ts:118 | — |  |
| `8f7e764486` | Library | web:components/assistant/member-entry-copy.ts:67 | — |  |
| `e2d369cb29` | Not available here | web:components/assistant/member-entry-copy.ts:96 | — |  |
| `c430a8ed00` | Preview | web:components/assistant/member-entry-copy.ts:95 | — |  |
| `8fc35f5c6b` | Preview persona | web:components/assistant/member-entry-copy.ts:95 | — |  |
| `d9e279500a` | Profile | web:components/assistant/member-entry-copy.ts:68 | — |  |
| `b88b283ef5` | Recommended for context | web:components/assistant/member-entry-copy.ts:93 | — |  |
| `282944dc76` | Restricted persona | web:components/assistant/member-entry-copy.ts:96 | — |  |
| `8e57f7909c` | something you highlighted | web:components/assistant/member-entry-copy.ts:33 | — |  |
| `38770a1394` | Studio | web:components/assistant/member-entry-copy.ts:69 | — |  |
| `3f3cf8c01f` | Suggested here | web:components/assistant/member-entry-copy.ts:93 | — |  |
| `6b1b967acc` | the assistant button | web:components/assistant/member-entry-copy.ts:26<br>web:components/assistant/member-entry-copy.ts:28 | — |  |
| `065015141e` | the assistant sheet | web:components/assistant/member-entry-copy.ts:36 | — |  |
| `a932630d63` | the command palette | web:components/assistant/member-entry-copy.ts:27 | — |  |
| `2efd63444d` | the tab bar | web:components/assistant/member-entry-copy.ts:37 | — |  |
| `0f7b680819` | this page | web:components/assistant/member-entry-copy.ts:30 | — |  |
| `4d16fb8d99` | You opened me from {…}, and I've kept your place in {…}. | web:components/assistant/member-entry-copy.ts:115 | — |  |
| `de2beb3268` | You opened me from {…}. I'll keep your place while we talk. | web:components/assistant/member-entry-copy.ts:121 | — |  |
| `aafedbe97a` | your coverage board | web:components/assistant/member-entry-copy.ts:35 | — |  |

## evidence overlay — 15 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `eea6c6f917` | · {…}d fresh | web:components/domains/veritas/VeritasInspectionOverlay.tsx:80 | — |  |
| `7155448789` | {…} across {…} corroborating and {…} contradicting citations. {…}. | web:components/domains/veritas/VeritasInspectionOverlay.tsx:86 | — |  |
| `4a87e989b7` | {…}% relevance after citation inspection. | web:components/domains/veritas/VeritasInspectionOverlay.tsx:194 | — |  |
| `937668d288` | Composed of {…} corroborating and {…} contradicting citations. | web:components/domains/veritas/VeritasInspectionOverlay.tsx:87 | — |  |
| `623b331345` | Context | web:components/domains/veritas/VeritasInspectionOverlay.tsx:36<br>web:components/domains/veritas/VeritasInspectionOverlay.tsx:148 | — |  |
| `7b8780aee2` | Contradicts | web:components/domains/veritas/VeritasInspectionOverlay.tsx:34<br>web:components/domains/veritas/VeritasInspectionOverlay.tsx:130 | — |  |
| `cf67656b83` | Done | web:components/domains/veritas/VeritasInspectionOverlay.tsx:246 | — |  |
| `0ec2d4cb5a` | Evidence backing | web:components/domains/veritas/VeritasInspectionOverlay.tsx:69 | — |  |
| `618cab1d78` | Evidence summary | web:components/domains/veritas/VeritasInspectionOverlay.tsx:68 | — |  |
| `c765a4fce9` | How to read this without specialist jargon | web:components/domains/veritas/VeritasInspectionOverlay.tsx:377 | — |  |
| `aae90d4952` | Keep in mind | web:components/domains/veritas/VeritasInspectionOverlay.tsx:409 | — |  |
| `ac9a3742d3` | Next move | web:components/domains/veritas/VeritasInspectionOverlay.tsx:425 | — |  |
| `f5007dbcfa` | Source evidence | web:components/domains/veritas/VeritasInspectionOverlay.tsx:69 | — |  |
| `036ac20d54` | Supports | web:components/domains/veritas/VeritasInspectionOverlay.tsx:31<br>web:components/domains/veritas/VeritasInspectionOverlay.tsx:113 | — |  |
| `fb9fe13275` | What you are looking at | web:components/domains/veritas/VeritasInspectionOverlay.tsx:325 | — |  |

## feature catalog — 369 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `53ff3540d8` | {…} "{…}" has no children — every container must be walkable | lib:feature-catalog.ts:1452 | — |  |
| `78579a68cc` | A content pipeline surface was exercised with a real item. | lib:feature-catalog.ts:1158 | — |  |
| `dde5b58e86` | A daily contemplative reading with annotations. | lib:feature-catalog.ts:696 | — |  |
| `4fe1259ced` | A draft exists in a studio workspace and its governance checks ran. | lib:feature-catalog.ts:828 | — |  |
| `7b0810594b` | A mobile session signed in, visited every tab, and recovered from an interruption. | lib:feature-catalog.ts:1279 | — |  |
| `cf70bc0272` | A real conversation with visible grounding, persona, and memory disclosure. | lib:feature-catalog.ts:996 | — |  |
| `5b380e9b48` | Accessibility (WCAG/AAA), offline/PWA behavior, error surfaces, safety interception, and visual integrity. | lib:feature-catalog.ts:945 | — |  |
| `5d54c4c16f` | Account & membership | lib:feature-catalog.ts:862 | — |  |
| `061394d6c7` | Act on one item | lib:feature-catalog.ts:1168 | — |  |
| `8c48aa804e` | Active goals with structured next steps. | lib:feature-catalog.ts:631 | — |  |
| `3ea4a0db0b` | Admin console | lib:feature-catalog.ts:1061 | — |  |
| `167c7317fa` | Administer tenant identity | lib:feature-catalog.ts:1192 | — |  |
| `4e79647c4f` | Advance one real item through the pipeline. | lib:feature-catalog.ts:1169 | — |  |
| `29bca8490b` | An operator triaged the inbox, reviewed a queue item, and checked incidents. | lib:feature-catalog.ts:1078 | — |  |
| `3c292c8292` | Answer the prompts and submit. | lib:feature-catalog.ts:673 | — |  |
| `6543a3c7bd` | Arete — growth & habits | lib:feature-catalog.ts:625 | — |  |
| `91041e143d` | Articles & briefs | lib:feature-catalog.ts:448 | — |  |
| `19242282d4` | Ask a data question | lib:feature-catalog.ts:296 | — |  |
| `09ae83c078` | Ask about sessions, claims, goals, or courses and watch the streamed, tool-grounded reply. | lib:feature-catalog.ts:297 | — |  |
| `52d35a4ee5` | Ask for a tour of the shell and follow the spotlight steps. | lib:feature-catalog.ts:335 | — |  |
| `3399462731` | Ask something domain-real | lib:feature-catalog.ts:1006 | — |  |
| `f3825ca3c6` | Ask the assistant (or browse Home) for recommended sessions. | lib:feature-catalog.ts:368 | — |  |
| `65e9c05268` | Ask the assistant for tonight’s sky highlights. | lib:feature-catalog.ts:550 | — |  |
| `da2204f336` | Ask the assistant for top claims or browse the claims surface. | lib:feature-catalog.ts:491 | — |  |
| `a16a60c5c2` | Ask the assistant to continue learning, or use the Home rail. | lib:feature-catalog.ts:797 | — |  |
| `d26b4e8582` | Ask to be taken somewhere and confirm the client-side navigation. | lib:feature-catalog.ts:303 | — |  |
| `c088af0780` | Assistant | lib:feature-catalog.ts:280 | — |  |
| `a148cd0649` | Assistant & intelligence platform | lib:feature-catalog.ts:983 | — |  |
| `8787e43fb0` | Authenticate on the device. | lib:feature-catalog.ts:1284 | — |  |
| `3d4b4d89bc` | Author and govern creative work | lib:feature-catalog.ts:822 | — |  |
| `f9b85f6ba6` | Background and resume; state survives. | lib:feature-catalog.ts:1296 | — |  |
| `6f1ac805a9` | Browse recommendations | lib:feature-catalog.ts:367 | — |  |
| `5b1327be4c` | Browse trending | lib:feature-catalog.ts:458 | — |  |
| `26ceb47edc` | Browse trending articles and briefs in Explore or via the assistant. | lib:feature-catalog.ts:459 | — |  |
| `82cf8b7415` | Check a claim | lib:feature-catalog.ts:485 | — |  |
| `62bb280096` | Check course progress in Activity or by asking the assistant. | lib:feature-catalog.ts:400 | — |  |
| `66e4e44685` | Check incidents | lib:feature-catalog.ts:1094 | — |  |
| `455a0b05bb` | Check the plan | lib:feature-catalog.ts:884 | — |  |
| `061d807389` | Choose an upcoming event worth catching. | lib:feature-catalog.ts:608 | — |  |
| `ba3989dd72` | Claims & verdicts | lib:feature-catalog.ts:480 | — |  |
| `c3ef4092bd` | Command palette | lib:feature-catalog.ts:193 | — |  |
| `d1360defe0` | Complete a daily check-in | lib:feature-catalog.ts:661 | — |  |
| `5493c60081` | Complete it | lib:feature-catalog.ts:672 | — |  |
| `87c8dae38c` | Complete one interaction | lib:feature-catalog.ts:1248 | — |  |
| `543c071f4d` | Complete the queued lesson and its retrieval quiz. | lib:feature-catalog.ts:803 | — |  |
| `65f17bb5b8` | Confirm crisis language is intercepted with real resources. | lib:feature-catalog.ts:972 | — |  |
| `423866b2bd` | Confirm persona, memory scope, and grounding chips are visible. | lib:feature-catalog.ts:1013 | — |  |
| `e21ebda770` | Confirm the streak updated in Activity. | lib:feature-catalog.ts:679 | — |  |
| `899b983fe6` | Content operations | lib:feature-catalog.ts:1146 | — |  |
| `bbddac10cf` | Continue later | lib:feature-catalog.ts:379 | — |  |
| `99714632fa` | Continue learning | lib:feature-catalog.ts:786 | — |  |
| `279424bb5d` | Continue reading | lib:feature-catalog.ts:470 | — |  |
| `79b5627fb1` | Continue the plan | lib:feature-catalog.ts:646 | — |  |
| `cd8048b1bf` | Conversation, grounding, personas, and memory boundaries. | lib:feature-catalog.ts:990 | — |  |
| `8464583e1a` | Course catalog | lib:feature-catalog.ts:760 | — |  |
| `c28e5450b7` | Courses & progress | lib:feature-catalog.ts:389 | — |  |
| `29cedcb1d9` | Courses, tutoring, mastery checks, and continue-learning. | lib:feature-catalog.ts:756 | — |  |
| `f205719450` | Create a draft and run governance | lib:feature-catalog.ts:827 | — |  |
| `8571c92dcc` | Create a small piece of work and save it. | lib:feature-catalog.ts:845 | — |  |
| `c31699c228` | Creative & cross-product content | lib:feature-catalog.ts:1024 | — |  |
| `5def5952e0` | Creator studio | lib:feature-catalog.ts:816 | — |  |
| `6d3f5aa336` | Cross-domain chrome: tabs, switching, command palette, notifications, assistant. | lib:feature-catalog.ts:120 | — |  |
| `b2dd77d3a5` | Cross-domain search with recent queries. | lib:feature-catalog.ts:226 | — |  |
| `9d471aafb9` | Cross-domain services: search, library, activity, messages, calendar, workspaces, and the home rails. | lib:feature-catalog.ts:904 | — |  |
| `4f588d5d3a` | Customer mobile | lib:feature-catalog.ts:1262 | — |  |
| `c6fb797ece` | Customer web shell | lib:feature-catalog.ts:114 | — |  |
| `bc2231b269` | Cut the network and confirm the shell degrades honestly. | lib:feature-catalog.ts:960 | — |  |
| `ecaa17ea2c` | Daily check-in | lib:feature-catalog.ts:656 | — |  |
| `e781533118` | Daily passage | lib:feature-catalog.ts:695 | — |  |
| `dd659b1b35` | Decide one item in a review queue. | lib:feature-catalog.ts:1089 | — |  |
| `8429f1cf8f` | Domain content operations end to end. | lib:feature-catalog.ts:1153 | — |  |
| `8ca9457b8d` | duplicate node id "{…}" | lib:feature-catalog.ts:1420 | — |  |
| `b614ff4633` | edge {…} {…} → {…} references an unknown node | lib:feature-catalog.ts:1439 | — |  |
| `bada3f8cc8` | Enable spoken replies and note the synthetic-voice disclosure. | lib:feature-catalog.ts:322 | — |  |
| `1e6e370ec5` | Enter a domain | lib:feature-catalog.ts:177 | — |  |
| `cdf3a80d8b` | Enter a workspace | lib:feature-catalog.ts:838 | — |  |
| `899a0087a8` | Event reminders | lib:feature-catalog.ts:597 | — |  |
| `dbe5f5f369` | Execute one | lib:feature-catalog.ts:215 | — |  |
| `8c193164ed` | Exercise one interaction and confirm it responds. | lib:feature-catalog.ts:1047 | — |  |
| `dfe10b6619` | Exercise one product action inside the embed. | lib:feature-catalog.ts:1249 | — |  |
| `570b5f5b14` | Exercise the governance controls | lib:feature-catalog.ts:1112 | — |  |
| `a67edf4927` | Exercise the resilience guarantees | lib:feature-catalog.ts:949 | — |  |
| `ffe1873726` | Experience the creative surfaces | lib:feature-catalog.ts:1030 | — |  |
| `bad24575c0` | Fact-checked news, claims with verdicts, topics, and saved reading. | lib:feature-catalog.ts:444 | — |  |
| `7ec81554de` | Favorite a meditation from its detail view or via the assistant. | lib:feature-catalog.ts:426 | — |  |
| `a58100c58c` | Favorite a session | lib:feature-catalog.ts:425 | — |  |
| `190db6312a` | Favorites | lib:feature-catalog.ts:415 | — |  |
| `efc960599c` | Find a course and start it | lib:feature-catalog.ts:765 | — |  |
| `7720e741db` | Find an object and log it | lib:feature-catalog.ts:570 | — |  |
| `c652401d26` | Find it in Library | lib:feature-catalog.ts:431 | — |  |
| `99a6b34576` | Find the resume point | lib:feature-catalog.ts:796 | — |  |
| `e17659697b` | Finding and starting structured courses. | lib:feature-catalog.ts:761 | — |  |
| `12be3a2044` | Finding, starting, and continuing guided sessions. | lib:feature-catalog.ts:358 | — |  |
| `189cc59022` | Follow a topic | lib:feature-catalog.ts:516 | — |  |
| `3cc5055856` | Follow a topic and save an article | lib:feature-catalog.ts:511 | — |  |
| `9c0e26aa86` | Follow a trending topic (directly or via the assistant). | lib:feature-catalog.ts:517 | — |  |
| `5136a9a5b2` | Following topics and saving articles. | lib:feature-catalog.ts:507 | — |  |
| `a7f293c125` | From recommendation to practice | lib:feature-catalog.ts:362 | — |  |
| `8da3c43410` | Get an answer that uses real member state. | lib:feature-catalog.ts:1007 | — |  |
| `58baae7c42` | Global search | lib:feature-catalog.ts:225 | — |  |
| `d0382f480f` | Go offline | lib:feature-catalog.ts:959 | — |  |
| `46f65d9e6d` | Go to Activity and review recorded sessions and streaks. | lib:feature-catalog.ts:147 | — |  |
| `bac5c09d4d` | Go to Explore and scan the cross-domain discovery feed. | lib:feature-catalog.ts:141 | — |  |
| `59582828dc` | Go to Library and review saved items. | lib:feature-catalog.ts:153 | — |  |
| `964d89e3ad` | Go to Profile and review account, preferences, and consent settings. | lib:feature-catalog.ts:159 | — |  |
| `8bad8d411c` | Go to the daily check-in (Home rail, or ask the assistant to take you). | lib:feature-catalog.ts:667 | — |  |
| `d4a71b3a44` | Go to the Home tab and observe the daily rail. | lib:feature-catalog.ts:135 | — |  |
| `92bf19881c` | Go to the search surface. | lib:feature-catalog.ts:233 | — |  |
| `67066d8451` | Goals & plans | lib:feature-catalog.ts:630 | — |  |
| `c4c603d702` | Goals, plans, daily check-ins, and journaling. | lib:feature-catalog.ts:626 | — |  |
| `314627bab3` | Governance | lib:feature-catalog.ts:1106 | — |  |
| `d475e683f4` | Guided meditation, breathwork, courses, and favorites. | lib:feature-catalog.ts:353 | — |  |
| `1b0beed96b` | Guided tours | lib:feature-catalog.ts:329 | — |  |
| `6a160665a8` | Hear the reply | lib:feature-catalog.ts:321 | — |  |
| `adfa345385` | Highlights and events for the member’s location. | lib:feature-catalog.ts:540 | — |  |
| `b20111f9fb` | Hold a grounded assistant session | lib:feature-catalog.ts:994 | — |  |
| `f4fe1c8d49` | Hold a grounded conversation | lib:feature-catalog.ts:285 | — |  |
| `bae27ff377` | Identity, profile, billing, subscription, entitlements, privacy/data rights, and onboarding. | lib:feature-catalog.ts:864 | — |  |
| `53dc7da152` | Incidents, review queues, support, moderation, and release operations. | lib:feature-catalog.ts:1067 | — |  |
| `4f9186f1f6` | Inspect evidence | lib:feature-catalog.ts:496 | — |  |
| `a245b86a1d` | Interact with it | lib:feature-catalog.ts:1046 | — |  |
| `3192d840e4` | Keyboard-first navigation, search, and quick actions. | lib:feature-catalog.ts:194 | — |  |
| `308cb61db1` | Keyboard-only pass | lib:feature-catalog.ts:965 | — |  |
| `8d7b077e14` | Launch from any invocation point. | lib:feature-catalog.ts:1001 | — |  |
| `3e1bbc2225` | Launch from the Telegram entry point. | lib:feature-catalog.ts:1243 | — |  |
| `b7df4d3bba` | Let it navigate | lib:feature-catalog.ts:302 | — |  |
| `c30ae4f1e8` | Library & notebooks | lib:feature-catalog.ts:721 | — |  |
| `424dfc5951` | List active goals | lib:feature-catalog.ts:640 | — |  |
| `01d103fb2b` | List highlights | lib:feature-catalog.ts:549 | — |  |
| `643d96e09c` | List top claims | lib:feature-catalog.ts:490 | — |  |
| `88e1ac52bb` | Live with the assistant | lib:feature-catalog.ts:989 | — |  |
| `2ba5cf4a90` | Living scenes, stories, cross-product embeds (V2/V3/V6), and the creative companion surfaces. | lib:feature-catalog.ts:1026 | — |  |
| `431f66c8b2` | Locate the favorite in the Library. | lib:feature-catalog.ts:432 | — |  |
| `b53e25fb02` | Log the observation | lib:feature-catalog.ts:581 | — |  |
| `60140cd85d` | Manage tenant identity | lib:feature-catalog.ts:1197 | — |  |
| `3e800072e4` | Manage the membership lifecycle | lib:feature-catalog.ts:868 | — |  |
| `df3be00034` | Meditation sessions | lib:feature-catalog.ts:357 | — |  |
| `5fffa1d7a4` | Metis — structured learning | lib:feature-catalog.ts:755 | — |  |
| `b5e86e3210` | Mini-app shell | lib:feature-catalog.ts:1227 | — |  |
| `214e312df4` | Mobile shell | lib:feature-catalog.ts:1267 | — |  |
| `c956a6f0fd` | Moving between the main shell destinations. | lib:feature-catalog.ts:125 | — |  |
| `1aef31daa0` | Navigate to the studio estate. | lib:feature-catalog.ts:833 | — |  |
| `4096772cda` | Nisaba — contemplative study | lib:feature-catalog.ts:690 | — |  |
| `0c24efb235` | node "{…}" appears before its parent "{…}" | lib:feature-catalog.ts:1433 | — |  |
| `9fb1eb48d7` | node "{…}" is missing a title or detail | lib:feature-catalog.ts:1424 | — |  |
| `a90983589a` | node "{…}" references unregistered anchor "{…}" | lib:feature-catalog.ts:1430 | — |  |
| `65d13791e9` | node "{…}" route "{…}" must start with "/" | lib:feature-catalog.ts:1427 | — |  |
| `e81e23a202` | Notifications & messages | lib:feature-catalog.ts:254 | — |  |
| `43bd1f86ad` | Nyx — the night sky | lib:feature-catalog.ts:534 | — |  |
| `55953e6b62` | Observing & logs | lib:feature-catalog.ts:565 | — |  |
| `fdd553d355` | Offline, accessibility, and safety behaviors held up under a hand check. | lib:feature-catalog.ts:955 | — |  |
| `2b7bb72e42` | One living/creative surface rendered with real content. | lib:feature-catalog.ts:1036 | — |  |
| `66e6239620` | Open a claim and review its supporting and contradicting sources. | lib:feature-catalog.ts:497 | — |  |
| `44fd6ced2a` | Open a creative surface | lib:feature-catalog.ts:1040 | — |  |
| `f34a996afa` | Open a pipeline workspace | lib:feature-catalog.ts:1162 | — |  |
| `af66fb595e` | Open a session player and begin practice. | lib:feature-catalog.ts:374 | — |  |
| `a6e30d2134` | Open a studio workspace, produce a draft, and take it through governance. | lib:feature-catalog.ts:823 | — |  |
| `b677b093b3` | Open Activity | lib:feature-catalog.ts:146 | — |  |
| `245bd82e97` | Open an article and use the read-aloud affordance if desired. | lib:feature-catalog.ts:465 | — |  |
| `387853be8a` | Open an event | lib:feature-catalog.ts:555 | — |  |
| `6df986c8ec` | Open billing and confirm the current subscription tier. | lib:feature-catalog.ts:885 | — |  |
| `72d335ae86` | Open Explore | lib:feature-catalog.ts:140 | — |  |
| `aab1ba8bc3` | Open Home | lib:feature-catalog.ts:134 | — |  |
| `f4f2b9700c` | Open incidents and acknowledge state. | lib:feature-catalog.ts:1095 | — |  |
| `dc381a360f` | Open Library | lib:feature-catalog.ts:152 | — |  |
| `afc527f601` | Open messages | lib:feature-catalog.ts:270 | — |  |
| `46db92c9c0` | Open notifications | lib:feature-catalog.ts:264 | — |  |
| `f13cb48a17` | Open one | lib:feature-catalog.ts:464 | — |  |
| `c5ac1e96ef` | Open one event’s detail and timing. | lib:feature-catalog.ts:556 | — |  |
| `51680b3412` | Open policy controls | lib:feature-catalog.ts:1128 | — |  |
| `e2439a4d8f` | Open privacy operations | lib:feature-catalog.ts:1122 | — |  |
| `dd31582aab` | Open privacy/data controls (export, deletion). | lib:feature-catalog.ts:891 | — |  |
| `68a998ab10` | Open Profile | lib:feature-catalog.ts:158 | — |  |
| `781c9199d4` | Open provenance | lib:feature-catalog.ts:1134 | — |  |
| `26380c9bb7` | Open search | lib:feature-catalog.ts:233 | — |  |
| `56dd1f7d1d` | Open SSO configuration and confirm state. | lib:feature-catalog.ts:1209 | — |  |
| `085c14bfe4` | Open the activity timeline and follow one entry back. | lib:feature-catalog.ts:932 | — |  |
| `23eafaf870` | Open the assistant | lib:feature-catalog.ts:290<br>lib:feature-catalog.ts:1000 | — |  |
| `5b887d8b7d` | Open the assistant from the header trigger or Alt+A. | lib:feature-catalog.ts:291 | — |  |
| `2fed6b3332` | Open the check-in | lib:feature-catalog.ts:666 | — |  |
| `74e9ea5f72` | Open the course and begin the first lesson. | lib:feature-catalog.ts:777 | — |  |
| `2a8e42db1d` | Open the domain switcher | lib:feature-catalog.ts:171 | — |  |
| `47785e8041` | Open the domain switcher from the shell chrome. | lib:feature-catalog.ts:172 | — |  |
| `caadbe3eb5` | Open the in-progress plan and its next step. | lib:feature-catalog.ts:647 | — |  |
| `0c12932173` | Open the library | lib:feature-catalog.ts:925 | — |  |
| `7cd9661913` | Open the mini-app | lib:feature-catalog.ts:1242 | — |  |
| `6212bad234` | Open the mini-app and complete one loop | lib:feature-catalog.ts:1237 | — |  |
| `b13c6a0efd` | Open the next uncompleted lesson. | lib:feature-catalog.ts:406 | — |  |
| `b5ddd664e2` | Open the notebook or compare workspace. | lib:feature-catalog.ts:744 | — |  |
| `45c58c624c` | Open the operator inbox and clear one item. | lib:feature-catalog.ts:1083 | — |  |
| `3ccd6fbeeb` | Open the palette | lib:feature-catalog.ts:203 | — |  |
| `e6a2bd5d21` | Open the passage | lib:feature-catalog.ts:705 | — |  |
| `a651103995` | Open the profile | lib:feature-catalog.ts:878 | — |  |
| `5d45d9d924` | Open the studio | lib:feature-catalog.ts:832 | — |  |
| `a3bc33a36d` | Open the tenant console | lib:feature-catalog.ts:1202 | — |  |
| `fa09c7163a` | Open the workspace | lib:feature-catalog.ts:743 | — |  |
| `17b74f8c59` | Open today’s passage (Home, or ask the assistant). | lib:feature-catalog.ts:706 | — |  |
| `5e54dd802c` | Operate the content pipelines | lib:feature-catalog.ts:1152 | — |  |
| `2bbf3a647b` | Operations | lib:feature-catalog.ts:1066 | — |  |
| `e197490e31` | Organization identity and SSO administration. | lib:feature-catalog.ts:1188 | — |  |
| `510283bfa6` | Pick a domain and land on its default surface. | lib:feature-catalog.ts:178 | — |  |
| `911db33a04` | Pick an event | lib:feature-catalog.ts:607 | — |  |
| `b78bd1d4a7` | Pick any authoring workspace and open it. | lib:feature-catalog.ts:839 | — |  |
| `4ed8d74843` | Pick one content-ops workspace. | lib:feature-catalog.ts:1163 | — |  |
| `49fbd8ae1e` | Press Cmd+K (Ctrl+K) to open the command palette. | lib:feature-catalog.ts:204 | — |  |
| `91f1917728` | Primary navigation | lib:feature-catalog.ts:124 | — |  |
| `3d7692715d` | Primary texts, daily passages, comparison workspaces, and notebooks. | lib:feature-catalog.ts:691 | — |  |
| `a3c2e24290` | Privacy, policy, and provenance surfaces were each opened and read. | lib:feature-catalog.ts:1118 | — |  |
| `606f045293` | Privacy, policy, rights, provenance, audit, identity, and model/provider governance. | lib:feature-catalog.ts:1108 | — |  |
| `216884207c` | Produce and save a draft | lib:feature-catalog.ts:844 | — |  |
| `29357f88ec` | Profile, plan, and data controls end to end. | lib:feature-catalog.ts:869 | — |  |
| `35dd127357` | Quality, access & resilience | lib:feature-catalog.ts:943 | — |  |
| `72f33b60a4` | Re-run one of the recent queries. | lib:feature-catalog.ts:245 | — |  |
| `ce840eeee8` | Read a fact-checked article | lib:feature-catalog.ts:453 | — |  |
| `922acf0dd0` | Read the daily passage | lib:feature-catalog.ts:700 | — |  |
| `39d314a493` | Read the disclosures | lib:feature-catalog.ts:1012 | — |  |
| `d93d7b5c59` | Record a prompt | lib:feature-catalog.ts:315 | — |  |
| `e89cf3e373` | Record an observation with notes. | lib:feature-catalog.ts:582 | — |  |
| `b46931f97e` | Recover | lib:feature-catalog.ts:1295 | — |  |
| `b1175c2314` | Reminders for upcoming celestial events. | lib:feature-catalog.ts:598 | — |  |
| `0548528382` | Resume an unfinished article from the continue rail. | lib:feature-catalog.ts:471 | — |  |
| `6eb3027c29` | Resume where learning stopped | lib:feature-catalog.ts:791 | — |  |
| `011d859432` | Resuming in-progress courses with the next step queued. | lib:feature-catalog.ts:787 | — |  |
| `0a4fcc54dd` | Return to the shell | lib:feature-catalog.ts:183 | — |  |
| `02b95de0a2` | Return via the continue affordance and pick up where practice stopped. | lib:feature-catalog.ts:380 | — |  |
| `89930dc3d4` | Reuse a recent query | lib:feature-catalog.ts:244 | — |  |
| `8cb67370ab` | Review a queue item | lib:feature-catalog.ts:1088 | — |  |
| `b6bd79ff20` | Review active goals (directly or via the assistant). | lib:feature-catalog.ts:641 | — |  |
| `d11696b952` | Review active policies and grants. | lib:feature-catalog.ts:1129 | — |  |
| `afd05a76b1` | Review activity | lib:feature-catalog.ts:931 | — |  |
| `d03c01686e` | Review annotations | lib:feature-catalog.ts:711 | — |  |
| `de0c72f411` | Review annotations and comparison targets. | lib:feature-catalog.ts:712 | — |  |
| `87f2947ee9` | Review data controls | lib:feature-catalog.ts:890 | — |  |
| `7674a9546c` | Review DSAR/erasure state. | lib:feature-catalog.ts:1123 | — |  |
| `22e2d69b0e` | Review goals and continue the plan | lib:feature-catalog.ts:635 | — |  |
| `a5bee834ed` | Review identity and preferences. | lib:feature-catalog.ts:879 | — |  |
| `9fe7b137ed` | Review message threads and in-product help. | lib:feature-catalog.ts:271 | — |  |
| `55472c2475` | Review notifications and messages | lib:feature-catalog.ts:259 | — |  |
| `5ac32f34e7` | Review profile, plan, and data controls | lib:feature-catalog.ts:873 | — |  |
| `ac8241eea8` | Review progress | lib:feature-catalog.ts:399 | — |  |
| `57d80b042a` | Review recent observation log entries. | lib:feature-catalog.ts:588 | — |  |
| `3cd3b1c062` | Review saved items across domains. | lib:feature-catalog.ts:926 | — |  |
| `89ff5a4bd9` | Review SSO | lib:feature-catalog.ts:1208 | — |  |
| `dd9242181c` | Review the governance controls | lib:feature-catalog.ts:1117 | — |  |
| `efb64df7a8` | Review the log | lib:feature-catalog.ts:587 | — |  |
| `9cbfcecc89` | Review the notifications list and mark items read. | lib:feature-catalog.ts:265 | — |  |
| `7155a63279` | Review tonight’s highlights | lib:feature-catalog.ts:544 | — |  |
| `b8233ba198` | Run a command | lib:feature-catalog.ts:198 | — |  |
| `50051fb7ea` | Run a navigation command and land on its destination. | lib:feature-catalog.ts:216 | — |  |
| `7ebd61c00a` | Run a query | lib:feature-catalog.ts:238 | — |  |
| `e632e77725` | Run a query and open a result. | lib:feature-catalog.ts:920 | — |  |
| `b44c1828d9` | Run one content pipeline | lib:feature-catalog.ts:1157 | — |  |
| `dfe00a7f4a` | Run the governance checks | lib:feature-catalog.ts:850 | — |  |
| `2d277f9ef5` | Run the mobile shell loop | lib:feature-catalog.ts:1272 | — |  |
| `3a9a69089c` | Run the operations desk | lib:feature-catalog.ts:1071 | — |  |
| `8c028f5483` | Safety interception | lib:feature-catalog.ts:971 | — |  |
| `303167f691` | Save an article | lib:feature-catalog.ts:522 | — |  |
| `00a488c50e` | Save an article and find it in the Library. | lib:feature-catalog.ts:523 | — |  |
| `5a25e2e531` | Save an excerpt | lib:feature-catalog.ts:737 | — |  |
| `57ef761ade` | Save an excerpt to a notebook (the assistant can do this from any grounded answer). | lib:feature-catalog.ts:738 | — |  |
| `f0ca7293bc` | Save and revisit favorites | lib:feature-catalog.ts:420 | — |  |
| `e5644b05c1` | Saving meditations for quick access. | lib:feature-catalog.ts:416 | — |  |
| `fa2408e205` | Search a planet, star, or deep-sky object. | lib:feature-catalog.ts:576 | — |  |
| `8909b7a374` | Search a term and review grouped cross-domain results. | lib:feature-catalog.ts:239 | — |  |
| `fa029c801b` | Search across domains | lib:feature-catalog.ts:230<br>lib:feature-catalog.ts:919 | — |  |
| `ab8d8c0337` | Search an object | lib:feature-catalog.ts:575 | — |  |
| `d959929d2c` | Search commands | lib:feature-catalog.ts:209 | — |  |
| `2cecb19359` | Search or ask for recommended courses by topic. | lib:feature-catalog.ts:771 | — |  |
| `619f200c7e` | Search passages, sources, and concepts. | lib:feature-catalog.ts:732 | — |  |
| `60504e5dea` | Search the catalog | lib:feature-catalog.ts:770 | — |  |
| `354d084e1e` | Search the library | lib:feature-catalog.ts:731 | — |  |
| `4dac8bbb4e` | Search the library and save to a notebook | lib:feature-catalog.ts:726 | — |  |
| `19d5bc12b1` | Search, library, and activity all responded with the member’s real state. | lib:feature-catalog.ts:915 | — |  |
| `e98399cd11` | Searching objects and logging observations. | lib:feature-catalog.ts:566 | — |  |
| `825f7d1b9d` | Searching sources and keeping study notebooks. | lib:feature-catalog.ts:722 | — |  |
| `7cfad55191` | See the streak | lib:feature-catalog.ts:678 | — |  |
| `aec48cd115` | Set an event reminder | lib:feature-catalog.ts:602 | — |  |
| `ea97539afe` | Set the reminder | lib:feature-catalog.ts:613 | — |  |
| `411e485e58` | Set the reminder and verify it in notifications. | lib:feature-catalog.ts:614 | — |  |
| `1ce5a92112` | Shell & navigation | lib:feature-catalog.ts:119 | — |  |
| `f7918df5dc` | Shell platform services | lib:feature-catalog.ts:902 | — |  |
| `7d94c21afb` | Sign in | lib:feature-catalog.ts:1283 | — |  |
| `c72a7de559` | Sign in and traverse the tabs | lib:feature-catalog.ts:1277 | — |  |
| `ef7f6ffaf0` | Sign in to the tenant console. | lib:feature-catalog.ts:1203 | — |  |
| `bde6699ea3` | Sign-in, onboarding, tab navigation, and recovery paths. | lib:feature-catalog.ts:1268 | — |  |
| `f49b63e02b` | SSO and identity configuration for an organization. | lib:feature-catalog.ts:1193 | — |  |
| `9cbc7c8634` | Start a session | lib:feature-catalog.ts:373 | — |  |
| `75b072a499` | Start a tour | lib:feature-catalog.ts:334 | — |  |
| `68f043d9d4` | Start the course | lib:feature-catalog.ts:776 | — |  |
| `1c490b628f` | Start the next lesson | lib:feature-catalog.ts:405 | — |  |
| `221e039bc6` | Structured meditation courses with tracked progress. | lib:feature-catalog.ts:390 | — |  |
| `e3055e8e13` | Submit the draft to review and read the verdicts. | lib:feature-catalog.ts:851 | — |  |
| `25681a87f9` | Sweep the shared services | lib:feature-catalog.ts:913 | — |  |
| `906b123533` | Switch between domains | lib:feature-catalog.ts:166 | — |  |
| `f9cb4eb961` | Take the next lesson | lib:feature-catalog.ts:802 | — |  |
| `b45b9a5ccb` | Tara — meditation & practice | lib:feature-catalog.ts:352 | — |  |
| `40bd25f6f0` | Telegram mini-app | lib:feature-catalog.ts:1222 | — |  |
| `bc5f29993d` | Tenant admin | lib:feature-catalog.ts:1182 | — |  |
| `84d31c0f24` | Tenant console | lib:feature-catalog.ts:1187 | — |  |
| `497d7518f1` | Tenant identity/SSO state was reviewed in the console. | lib:feature-catalog.ts:1198 | — |  |
| `43f7d2ca80` | The authoring estate under /studio: workspaces, drafts, review, and publish governance across the creative domains. | lib:feature-catalog.ts:818 | — |  |
| `0f19d6fb43` | The compliance-facing operator surface. | lib:feature-catalog.ts:1113 | — |  |
| `56acc4a85b` | The content experiences layered over the six practice domains. | lib:feature-catalog.ts:1031 | — |  |
| `28f59cf5aa` | The core mobile session. | lib:feature-catalog.ts:1273 | — |  |
| `6d659fbbe4` | The creative/content pipelines operated from the console (Egbe, Isis, Maya, Saraswati, Lilith, personas). | lib:feature-catalog.ts:1148 | — |  |
| `e437d860a2` | The daily operator loop. | lib:feature-catalog.ts:1072 | — |  |
| `a493fcc369` | The daily reflection and habit check-in. | lib:feature-catalog.ts:657 | — |  |
| `394c26c314` | The embedded product loop. | lib:feature-catalog.ts:1233 | — |  |
| `eb35f8dbe7` | The embedded shell inside Telegram. | lib:feature-catalog.ts:1228 | — |  |
| `73bb8da809` | The inbox surfaces: notifications and direct messages. | lib:feature-catalog.ts:255 | — |  |
| `060b41a01c` | The member can ask about their real data and get streamed answers. | lib:feature-catalog.ts:286 | — |  |
| `faf269dd26` | The member can favorite a meditation and find it again. | lib:feature-catalog.ts:421 | — |  |
| `9fe02325f0` | The member can find content from any domain in one place. | lib:feature-catalog.ts:231 | — |  |
| `08cef3c6c1` | The member can inspect a claim, its verdict, and its evidence. | lib:feature-catalog.ts:486 | — |  |
| `ae0ee5d5b0` | The member can open the palette and execute a navigation command. | lib:feature-catalog.ts:199 | — |  |
| `f287796ca6` | The member can reach any open room from anywhere. | lib:feature-catalog.ts:167 | — |  |
| `7fe00ba784` | The member can read an article and see its verification context. | lib:feature-catalog.ts:454 | — |  |
| `e84eb02938` | The member can request live tours of any feature. | lib:feature-catalog.ts:330 | — |  |
| `a9aa1fba66` | The member can research and retain findings. | lib:feature-catalog.ts:727 | — |  |
| `c41f63cf7f` | The member can search an object and record an observation. | lib:feature-catalog.ts:571 | — |  |
| `223adb7183` | The member can search the catalog and begin a course. | lib:feature-catalog.ts:766 | — |  |
| `76ad7f60a9` | The member can see where they are in a course. | lib:feature-catalog.ts:395 | — |  |
| `e04a2b7b5e` | The member can speak to the assistant and hear replies. | lib:feature-catalog.ts:311 | — |  |
| `66eb6174c1` | The member can start a recommended session and resume it later. | lib:feature-catalog.ts:363 | — |  |
| `2e499cb912` | The member curates their information diet. | lib:feature-catalog.ts:512 | — |  |
| `6fba785aac` | The member engages with today’s passage. | lib:feature-catalog.ts:701 | — |  |
| `156cc7e598` | The member gets notified before an event. | lib:feature-catalog.ts:603 | — |  |
| `020ee895d9` | The member has seen Home, Explore, Activity, Library, and Profile. | lib:feature-catalog.ts:130 | — |  |
| `2852b8186f` | The member has seen their profile, plan state, and privacy controls. | lib:feature-catalog.ts:874 | — |  |
| `e6e53b2111` | The member knows their active goals and next step. | lib:feature-catalog.ts:636 | — |  |
| `47fecf3008` | The member knows what is visible tonight. | lib:feature-catalog.ts:545 | — |  |
| `742115cf6f` | The member knows where alerts and conversations live. | lib:feature-catalog.ts:260 | — |  |
| `f85a95a20f` | The member picks up the next lesson without hunting. | lib:feature-catalog.ts:792 | — |  |
| `deccbe874c` | The member records today’s reflection. | lib:feature-catalog.ts:662 | — |  |
| `1332611025` | The mini-app rendered inside Telegram and one interaction completed. | lib:feature-catalog.ts:1238 | — |  |
| `ed3337357f` | The native mobile app: auth, onboarding, tabs, and recovery. | lib:feature-catalog.ts:1263 | — |  |
| `7cf86390d4` | The omnipresent assistant, grounding/citations, personas, memory, and the model-facing seams. | lib:feature-catalog.ts:985 | — |  |
| `f79b2bf00a` | The omnipresent assistant: chat, voice, highlights, and tours. | lib:feature-catalog.ts:281 | — |  |
| `ee9310729a` | The operator console: operations, governance, and content operations. | lib:feature-catalog.ts:1062 | — |  |
| `ed5e75ec9d` | The product stays usable, safe, and accessible under stress. | lib:feature-catalog.ts:950 | — |  |
| `d057a7a2d3` | The services every domain shares. | lib:feature-catalog.ts:909 | — |  |
| `4f48557ca2` | The Telegram-embedded surface. | lib:feature-catalog.ts:1223 | — |  |
| `49b9c3a520` | The tenant console: identity, SSO, and organization controls. | lib:feature-catalog.ts:1183 | — |  |
| `f214247206` | The unified shell: navigation, search, library, assistant, and six practice domains. | lib:feature-catalog.ts:115 | — |  |
| `723fdbb631` | Tonight’s highlights, object search, observation logs, and reminders. | lib:feature-catalog.ts:535 | — |  |
| `c6aec72d2a` | Tonight’s sky | lib:feature-catalog.ts:539 | — |  |
| `b07e8ae0b0` | Top claims with supported/misleading/unverified verdicts. | lib:feature-catalog.ts:481 | — |  |
| `529653ca1e` | Topics & saves | lib:feature-catalog.ts:506 | — |  |
| `eba1314c66` | Track course progress | lib:feature-catalog.ts:394 | — |  |
| `c475fbcd5e` | Traverse a core journey with the keyboard alone. | lib:feature-catalog.ts:966 | — |  |
| `1bc9e3b22d` | Traverse the primary tabs. | lib:feature-catalog.ts:1290 | — |  |
| `2501be562d` | Trending fact-checked reading with continue-where-you-left-off. | lib:feature-catalog.ts:449 | — |  |
| `1f66f7967b` | Triage the inbox | lib:feature-catalog.ts:1082 | — |  |
| `1258deb562` | Type to filter navigation, search, and create commands. | lib:feature-catalog.ts:210 | — |  |
| `4aa579293b` | Use Back, Next, and End (or arrow keys and Escape) during the tour. | lib:feature-catalog.ts:341 | — |  |
| `53e1c65e71` | Use push-to-talk, watch the live level meter, and send the transcript. | lib:feature-catalog.ts:316 | — |  |
| `89e648b6b3` | Use the back affordance to return to the originating shell tab. | lib:feature-catalog.ts:184 | — |  |
| `5defa6a5fc` | Use the cross-domain services | lib:feature-catalog.ts:908 | — |  |
| `d6c6b9a908` | Use the mini-app | lib:feature-catalog.ts:1232 | — |  |
| `f783642a52` | Use tour controls | lib:feature-catalog.ts:340 | — |  |
| `43a34af880` | Verify content provenance and signing state. | lib:feature-catalog.ts:1135 | — |  |
| `8d76f5bb69` | Veritas — verified information | lib:feature-catalog.ts:443 | — |  |
| `6bbef61ac9` | Visit a creative experience | lib:feature-catalog.ts:1035 | — |  |
| `96300339d6` | Visit a living scene, story, or cross-product embed. | lib:feature-catalog.ts:1041 | — |  |
| `56891f2cec` | Visit every primary tab | lib:feature-catalog.ts:129 | — |  |
| `7669ed01f7` | Visit every tab | lib:feature-catalog.ts:1289 | — |  |
| `0ddf19d501` | Voice in and out | lib:feature-catalog.ts:310 | — |  |
| `c4c4c1464a` | Walk the resilience guarantees | lib:feature-catalog.ts:954 | — |  |
| `920ffa2e96` | Work the operations loop | lib:feature-catalog.ts:1076 | — |  |

## feedback — 5 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `cd5afb5d25` | {…}/v1/assistant/sessions/{…}/feedback | web:lib/assistant/feedback.ts:74 | — |  |
| `3b5a1fc02e` | {…}/v1/assistant/sessions/{…}/turns/{…}/feedback | web:lib/assistant/feedback.ts:31 | — |  |
| `e378b74432` | AssistantFeedbackError | web:lib/assistant/feedback.ts:18 | — |  |
| `2a7a28f3dd` | Bearer {…} | web:lib/assistant/feedback.ts:36<br>web:lib/assistant/feedback.ts:75 | — |  |
| `7d60fc6498` | Feedback failed ({…}) | web:lib/assistant/feedback.ts:42 | — |  |

## graph explorer — 51 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `462ea74eec` | . Paste a previous manifest (‘product-graph.json‘ from git history) to diff section hashes and counts — promotion history made visible. Node-level adds/removes live in the artifact's git diff itself. | web:components/assistant/GraphExplorerBoard.tsx:907 | — |  |
| `c033d84d6d` | · ⚠ orphaned refs | web:components/assistant/GraphExplorerBoard.tsx:734 | — |  |
| `58206b9211` | {…} is missing {…} — the diff needs the hash and both counts. | web:components/assistant/GraphExplorerBoard.tsx:859 | — |  |
| `67203e32f1` | {"version":"pg1.…","sections":[…]} | web:components/assistant/GraphExplorerBoard.tsx:916 | — |  |
| `786cb86f67` | a {…} | web:components/assistant/GraphExplorerBoard.tsx:838 | — |  |
| `91811f311c` | all domains | web:components/assistant/GraphExplorerBoard.tsx:416 | — |  |
| `7bc216d9ad` | all flows | web:components/assistant/GraphExplorerBoard.tsx:397 | — |  |
| `89d1794399` | an array | web:components/assistant/GraphExplorerBoard.tsx:838 | — |  |
| `a7114e8241` | Builder scope required | web:components/assistant/GraphExplorerBoard.tsx:171 | — |  |
| `9122c97bfa` | changed ({…}{…} nodes, {…}{…} edges) | web:components/assistant/GraphExplorerBoard.tsx:975 | — |  |
| `fe84d88e38` | Check again | web:components/assistant/GraphExplorerBoard.tsx:194 | — |  |
| `3280ce4366` | Coverage filter | web:components/assistant/GraphExplorerBoard.tsx:384 | — |  |
| `11db84e927` | coverage: | web:components/assistant/GraphExplorerBoard.tsx:628 | — |  |
| `714620144b` | Current artifact | web:components/assistant/GraphExplorerBoard.tsx:903 | — |  |
| `a55d842800` | decides: | web:components/assistant/GraphExplorerBoard.tsx:800 | — |  |
| `d51c1a921b` | decisions | web:components/assistant/GraphExplorerBoard.tsx:674 | — |  |
| `e9d8923bc8` | domains verified · | web:components/assistant/GraphExplorerBoard.tsx:265 | — |  |
| `137e0650eb` | edges: | web:components/assistant/GraphExplorerBoard.tsx:632 | — |  |
| `e3a7da8267` | flows verified · | web:components/assistant/GraphExplorerBoard.tsx:266 | — |  |
| `f056197ad8` | Focus domain | web:components/assistant/GraphExplorerBoard.tsx:403 | — |  |
| `2ccf35c8c1` | Graph explorer is unavailable: {…} | web:components/assistant/GraphExplorerBoard.tsx:173 | — |  |
| `0c8817681a` | Inspector | web:components/assistant/GraphExplorerBoard.tsx:584 | — |  |
| `10ad19b81a` | journeys mapped · artifact | web:components/assistant/GraphExplorerBoard.tsx:267 | — |  |
| `2cc63a395a` | Loading the product graph… | web:components/assistant/GraphExplorerBoard.tsx:155 | — |  |
| `dbfd812b1c` | new section | web:components/assistant/GraphExplorerBoard.tsx:973 | — |  |
| `d29dc2a6b4` | No decisions recorded yet. | web:components/assistant/GraphExplorerBoard.tsx:755 | — |  |
| `d732f9e2cd` | Not a manifest: | web:components/assistant/GraphExplorerBoard.tsx:929 | — |  |
| `d77e9b9adb` | open route | web:components/assistant/GraphExplorerBoard.tsx:637 | — |  |
| `d2e1f1bded` | open work | web:components/assistant/GraphExplorerBoard.tsx:662 | — |  |
| `14f6bc404c` | Previous manifest JSON | web:components/assistant/GraphExplorerBoard.tsx:912 | — |  |
| `11b6624c8a` | Product graph containment tree | web:components/assistant/GraphExplorerBoard.tsx:446 | — |  |
| `38d190dc75` | section {…} | web:components/assistant/GraphExplorerBoard.tsx:858 | — |  |
| `2e734b9bf2` | section {…} is not an object. | web:components/assistant/GraphExplorerBoard.tsx:846 | — |  |
| `26fcec7637` | Select any node in the tree. | web:components/assistant/GraphExplorerBoard.tsx:585 | — |  |
| `7188f64ac8` | steps | web:components/assistant/GraphExplorerBoard.tsx:652 | — |  |
| `e7813cd077` | supersedes → | web:components/assistant/GraphExplorerBoard.tsx:795 | — |  |
| `ff3eecf70b` | that JSON is {…}, not a manifest object. Paste the whole product-graph.json. | web:components/assistant/GraphExplorerBoard.tsx:838 | — |  |
| `8052f57eb8` | that JSON parsed, but it has no "sections" array — it is not a product-graph manifest. | web:components/assistant/GraphExplorerBoard.tsx:842 | — |  |
| `6ae7287600` | The graph explorer is builder/operator-scoped. Sign in with an operator account to see the product graph and the workbench. | web:components/assistant/GraphExplorerBoard.tsx:112<br>web:components/assistant/GraphExplorerBoard.tsx:139 | — |  |
| `c1fd59138b` | threads | web:components/assistant/GraphExplorerBoard.tsx:686 | — |  |
| `c2c4b1c419` | Unavailable | web:components/assistant/GraphExplorerBoard.tsx:171 | — |  |
| `04d065965f` | unverified — no journey proves this flow yet | web:components/assistant/GraphExplorerBoard.tsx:556 | — |  |
| `38bf000b06` | unverified — this domain has no verifying journey | web:components/assistant/GraphExplorerBoard.tsx:561 | — |  |
| `aac9160491` | unverified (unwaived) | web:components/assistant/GraphExplorerBoard.tsx:398 | — |  |
| `91f0b4ab15` | verified by | web:components/assistant/GraphExplorerBoard.tsx:642 | — |  |
| `9825b683d6` | verified by a mapped journey | web:components/assistant/GraphExplorerBoard.tsx:558 | — |  |
| `1e148ade5e` | vs previous | web:components/assistant/GraphExplorerBoard.tsx:938 | — |  |
| `1a4b674403` | waived | web:components/assistant/GraphExplorerBoard.tsx:399 | — |  |
| `0ee1037aa9` | waived — and the waiver is stale (the flow is verified again) | web:components/assistant/GraphExplorerBoard.tsx:552 | — |  |
| `992fdc1c95` | waived — deliberately unverified for now | web:components/assistant/GraphExplorerBoard.tsx:553 | — |  |
| `4f336ead89` | with open work | web:components/assistant/GraphExplorerBoard.tsx:400 | — |  |

## graph explorer copy — 3 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `89d8337a62` | Bearer {…} | web:lib/assistant/graph-explorer.ts:125 | — |  |
| `7d8187f6bc` | GraphExplorerApiError | web:lib/assistant/graph-explorer.ts:116 | — |  |
| `8635ea3165` | Request failed ({…}) | web:lib/assistant/graph-explorer.ts:134 | — |  |

## grounding badge — 26 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `e8d8c17091` | A source behind this answer has been retracted or invalidated. | web:design-system/components/GroundingStateBadge.tsx:65 | — |  |
| `d932c1598a` | Abstained | web:design-system/components/GroundingStateBadge.tsx:54<br>web:design-system/components/GroundingStateBadge.tsx:55 | — |  |
| `b69831cc5b` | Evidence is sparse or low-credibility. Treat with caution. | web:design-system/components/GroundingLevelBadge.tsx:63 | — |  |
| `430a9adb35` | Fully supported by cited sources with verified excerpts. | web:design-system/components/GroundingLevelBadge.tsx:45 | — |  |
| `e9f9c522af` | Grounded | web:design-system/components/GroundingLevelBadge.tsx:43<br>web:design-system/components/GroundingLevelBadge.tsx:44<br>web:design-system/components/GroundingStateBadge.tsx:27<br>+1 more | — |  |
| `42c0205d8b` | Grounding could not be evaluated for this reply. | web:design-system/components/GroundingLevelBadge.tsx:90 | — |  |
| `0072c2d2c3` | Grounding level: {…}. {…} | web:design-system/components/GroundingLevelBadge.tsx:160 | — |  |
| `111930fff4` | Grounding state: {…}. {…} | web:design-system/components/GroundingStateBadge.tsx:122 | — |  |
| `7d2b996eb7` | Grounding unknown | web:design-system/components/GroundingLevelBadge.tsx:88 | — |  |
| `a28eabffb6` | No cited sources — synthesis-only reply. | web:design-system/components/GroundingLevelBadge.tsx:72 | — |  |
| `a060dbdf0f` | No sources | web:design-system/components/GroundingLevelBadge.tsx:71 | — |  |
| `a57650db4b` | Partial | web:design-system/components/GroundingLevelBadge.tsx:53<br>web:design-system/components/GroundingStateBadge.tsx:36<br>web:design-system/components/GroundingStateBadge.tsx:37 | — |  |
| `6d9f7fe828` | Partially grounded | web:design-system/components/GroundingLevelBadge.tsx:52 | — |  |
| `0a5a69dd5b` | Retracted | web:design-system/components/GroundingStateBadge.tsx:64 | — |  |
| `4e6f7b2fb1` | Retracted source | web:design-system/components/GroundingStateBadge.tsx:63 | — |  |
| `a02f544c17` | Retrieval failed — not backed by cited evidence. | web:design-system/components/GroundingLevelBadge.tsx:81 | — |  |
| `6e9aa74f46` | Some claims are cited; others rely on synthesis. | web:design-system/components/GroundingLevelBadge.tsx:54 | — |  |
| `84393b4dee` | Synthesis only | web:design-system/components/GroundingLevelBadge.tsx:70 | — |  |
| `c45e08e454` | The answer is authorized by cited evidence. | web:design-system/components/GroundingStateBadge.tsx:29 | — |  |
| `dec551f79d` | The answer is not backed by authorized cited evidence. | web:design-system/components/GroundingStateBadge.tsx:47 | — |  |
| `35303ecf50` | The answer is partly supported and should be read with evidence limits. | web:design-system/components/GroundingStateBadge.tsx:38 | — |  |
| `72377d3814` | The system declined to answer and should render fallback copy only. | web:design-system/components/GroundingStateBadge.tsx:56 | — |  |
| `0ccafbafbd` | Ungrounded | web:design-system/components/GroundingLevelBadge.tsx:79<br>web:design-system/components/GroundingLevelBadge.tsx:80<br>web:design-system/components/GroundingStateBadge.tsx:45<br>+1 more | — |  |
| `e12ef19794` | Unknown | web:design-system/components/GroundingLevelBadge.tsx:89 | — |  |
| `1826c64444` | Weak | web:design-system/components/GroundingLevelBadge.tsx:62 | — |  |
| `66d809eeda` | Weakly grounded | web:design-system/components/GroundingLevelBadge.tsx:61 | — |  |

## indicators — 32 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `4d14ff0724` | Admin cockpit sessions do not persist memory by default. This copilot forgets the conversation when the panel closes. | lib:indicators.ts:56 | — |  |
| `d95d3f8e1d` | Grounded · {…} | lib:indicators.ts:115<br>lib:indicators.ts:126 | — |  |
| `4159a59aac` | Grounding is recommended — the copilot cites sources when it can, but may answer without a citation if the question is conversational. | lib:indicators.ts:131 | — |  |
| `fbb5cb221f` | Grounding recommended | lib:indicators.ts:127 | — |  |
| `ab9851e891` | Grounding required | lib:indicators.ts:115 | — |  |
| `eba79d6885` | Identity hidden | lib:indicators.ts:174 | — |  |
| `0fd801ae6b` | ies are | lib:indicators.ts:93 | — |  |
| `b699f87b98` | Lilith | lib:indicators.ts:191 | — |  |
| `9358fefc59` | Lilith is answering without one of her named guides. | lib:indicators.ts:196 | — |  |
| `2cb79bff20` | Memory is off — nothing from this conversation is saved between sessions. | lib:indicators.ts:57 | — |  |
| `5cb096336b` | Memory off | lib:indicators.ts:52 | — |  |
| `f9db7a4eff` | No grounding | lib:indicators.ts:138 | — |  |
| `4ac6cf4847` | OSHUN Copilot | lib:indicators.ts:191 | — |  |
| `9d14db45a1` | Persona identity is hidden for this session. The assistant speaks generically without a named guide. | lib:indicators.ts:179 | — |  |
| `13701001b3` | Profile memory | lib:indicators.ts:89 | — |  |
| `ec86c2989c` | Profile memory · {…} categor{…} | lib:indicators.ts:88 | — |  |
| `450dd2fee4` | Profile memory · consent needed | lib:indicators.ts:76 | — |  |
| `f511156cdf` | Profile memory is on. {…} categor{…} enabled; the assistant writes durable memory only into those. | lib:indicators.ts:93 | — |  |
| `b9d2424a72` | Profile memory is on. No categories are enabled yet — the assistant will ask before it writes anything durable. | lib:indicators.ts:94 | — |  |
| `f361659ad4` | Profile memory is selected but consent has not been granted. The assistant is behaving as if memory were session-scoped. | lib:indicators.ts:79 | — |  |
| `b1015747eb` | Session memory | lib:indicators.ts:65 | — |  |
| `7ecce938b3` | Speaking as {…}. | lib:indicators.ts:214 | — |  |
| `c33f91a6ba` | Speaking as {…}. This persona uses a {…}; the voice and avatar are synthesized, not a human recording. | lib:indicators.ts:213 | — |  |
| `c1f54e4341` | synthetic avatar | lib:indicators.ts:201 | — |  |
| `1e3eeac2a8` | synthetic voice | lib:indicators.ts:200 | — |  |
| `fdfb83eb21` | The assistant cites its sources when it can. Responses without a grounded citation are conversational, not authoritative. | lib:indicators.ts:132 | — |  |
| `3d8b68ac91` | The assistant is running without a grounding contract. Treat its replies as conversational, not as verified facts. | lib:indicators.ts:141 | — |  |
| `428076bbec` | The assistant remembers this conversation until you end the session. Nothing is written to your profile. | lib:indicators.ts:68 | — |  |
| `947671bf56` | The assistant will only answer claims from verified sources. Answers without a grounded citation are blocked. | lib:indicators.ts:118 | — |  |
| `4f66540412` | The copilot is answering without a named persona. | lib:indicators.ts:195 | — |  |
| `03579a29b2` | The copilot is running as a tool, not a persona. Persona identity is intentionally hidden in the admin cockpit. | lib:indicators.ts:178 | — |  |
| `fb54537eb2` | y is | lib:indicators.ts:93 | — |  |

## interaction modes — 62 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `110bd9f480` | {…} domain{…} carried into this thread. | lib:interaction-modes.ts:589 | — |  |
| `7516cebb78` | {…} is unavailable ({…}). Continuing in {…}. | lib:interaction-modes.ts:443 | — |  |
| `4e9e657926` | {…} mode is fully available. | lib:interaction-modes.ts:466 | — |  |
| `7cbbb584ae` | {…}. Continuing in {…}. | lib:interaction-modes.ts:390 | — |  |
| `b1b8d22389` | Assistant turns can stream while the transcript stays live. | lib:interaction-modes.ts:525 | — |  |
| `e67ee2f0e8` | Avatar | lib:interaction-modes.ts:163 | — |  |
| `ae5c33485e` | Avatar mode renders a stylized synthetic avatar. Both the voice and the avatar are synthesized; disclosure is always visible during the session. | lib:interaction-modes.ts:184 | — |  |
| `a2073b4e7d` | Avatar mode requires a premium entitlement that covers the synthetic-avatar renderer and licensed voice packs. | lib:interaction-modes.ts:178 | — |  |
| `fdd613c98f` | Cross-domain carry-over | lib:interaction-modes.ts:585 | — |  |
| `14b2b0e25f` | Enter to send | lib:interaction-modes.ts:95<br>lib:interaction-modes.ts:144 | — |  |
| `c9b9eff78f` | fallback required | lib:interaction-modes.ts:622 | — |  |
| `ae1a89e560` | Feature fallback | lib:interaction-modes.ts:455 | — |  |
| `ccd64afe50` | feature unavailable | lib:interaction-modes.ts:620 | — |  |
| `da6b0a05d8` | Hold space to speak | lib:interaction-modes.ts:166 | — |  |
| `4dc18a400f` | Hold space to speak, release to send | lib:interaction-modes.ts:119 | — |  |
| `7abb7075c7` | Interruption-aware | lib:interaction-modes.ts:535 | — |  |
| `0ee3386f78` | Microphone input and synthetic voice output are available. | lib:interaction-modes.ts:511 | — |  |
| `f87a725d1b` | missing avatar renderer | lib:interaction-modes.ts:608 | — |  |
| `5f3f398b75` | missing entitlement | lib:interaction-modes.ts:604 | — |  |
| `a6831f501a` | missing microphone | lib:interaction-modes.ts:606 | — |  |
| `1de3414f51` | missing synthetic voice | lib:interaction-modes.ts:610 | — |  |
| `4299d81c89` | mode "{…}" blocked by {…} and has no fallback | lib:interaction-modes.ts:336 | — |  |
| `fb020a6c03` | mode "{…}" is not available in the "{…}" shell | lib:interaction-modes.ts:324 | — |  |
| `f7e8226d7e` | Mode fallback | lib:interaction-modes.ts:389<br>lib:interaction-modes.ts:442 | — |  |
| `605969f67b` | No cross-domain carry-over payload is active for this thread. | lib:interaction-modes.ts:590 | — |  |
| `c1f489353f` | No fallback | lib:interaction-modes.ts:465 | — |  |
| `476e1e1d84` | no mode in the fallback chain matched the input | lib:interaction-modes.ts:354 | — |  |
| `140c32ccbe` | no supported fallback | lib:interaction-modes.ts:618 | — |  |
| `00cf4eb784` | not allowed in this shell | lib:interaction-modes.ts:614 | — |  |
| `f7178039c7` | Persona switches are allowed inside the current memory scope. | lib:interaction-modes.ts:575 | — |  |
| `84d939f54a` | Persona switching | lib:interaction-modes.ts:567 | — |  |
| `13dbd5b82b` | Persona switching is available in a compatible mode. | lib:interaction-modes.ts:577 | — |  |
| `e0467f0cd1` | Persona switching is locked for this shell or consent boundary. | lib:interaction-modes.ts:578 | — |  |
| `ab54c85a15` | Proactive follow-up | lib:interaction-modes.ts:549 | — |  |
| `a63351965a` | Proactive follow-ups are disabled; no unattended prompts will appear. | lib:interaction-modes.ts:560 | — |  |
| `fe118b60c1` | reduced motion | lib:interaction-modes.ts:612 | — |  |
| `45c931385d` | Request streaming text to enable token-level progress. | lib:interaction-modes.ts:528 | — |  |
| `a586be1258` | Shift + Enter for newline | lib:interaction-modes.ts:96 | — |  |
| `25f2ecc96e` | Streaming | lib:interaction-modes.ts:521 | — |  |
| `72217e8b20` | Streaming + interruption + proactive prompts are free. | lib:interaction-modes.ts:153 | — |  |
| `cbdaa936d1` | Streaming mode delivers assistant responses token-by-token, supports mid-response interruption, and may show a proactive follow-up prompt when the conversation stalls. | lib:interaction-modes.ts:158 | — |  |
| `baab747fd3` | Streaming text | lib:interaction-modes.ts:141 | — |  |
| `fd51ed6557` | Streaming transport is unavailable; replies continue as complete turns. | lib:interaction-modes.ts:527 | — |  |
| `622a3d63e0` | Switch to a streaming-capable mode to interrupt mid-response. | lib:interaction-modes.ts:542 | — |  |
| `749ba5b395` | Text | lib:interaction-modes.ts:91 | — |  |
| `ffe1a7fd0c` | Text composer is the primary input. | lib:interaction-modes.ts:492 | — |  |
| `fdbbf57f4c` | Text composer remains available as the fallback path. | lib:interaction-modes.ts:493 | — |  |
| `7cea766c4a` | Text mode is available to every signed-in member. | lib:interaction-modes.ts:106 | — |  |
| `4c5a945c51` | Text mode is the default. Type to send; Enter submits, Shift+Enter adds a new line. Responses stream token-by-token. | lib:interaction-modes.ts:111 | — |  |
| `cc72b26672` | Text-first | lib:interaction-modes.ts:487 | — |  |
| `0c47daef38` | The assistant can surface idle-time follow-up prompts. | lib:interaction-modes.ts:557 | — |  |
| `8def97605c` | The current response can be interrupted without losing transcript continuity. | lib:interaction-modes.ts:539 | — |  |
| `bf016b9eba` | The interruption controller is unavailable; the transcript remains readable. | lib:interaction-modes.ts:541 | — |  |
| `d8352ac375` | unknown mode | lib:interaction-modes.ts:616 | — |  |
| `8a02ab3c87` | unknown mode id: {…} | lib:interaction-modes.ts:309 | — |  |
| `5b5cc0d709` | Use streaming text to allow proactive follow-up prompts. | lib:interaction-modes.ts:559 | — |  |
| `156f471d4c` | Voice | lib:interaction-modes.ts:116 | — |  |
| `f44bffa711` | Voice can be requested from this shell. | lib:interaction-modes.ts:513 | — |  |
| `1e3ef88120` | Voice mode falls back to text until microphone and synthetic voice are both available. | lib:interaction-modes.ts:514 | — |  |
| `a142c7eac8` | Voice mode requires microphone permission but no paid entitlement. | lib:interaction-modes.ts:130 | — |  |
| `ba124e8de1` | Voice mode transcribes your speech. Responses are spoken back with a synthetic voice and always disclose that it is synthesized. | lib:interaction-modes.ts:136 | — |  |
| `21679263a1` | Voice-first | lib:interaction-modes.ts:501 | — |  |

## invocation points — 63 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `e878b406f8` | ⌘ K | lib:invocation-points.ts:187 | — |  |
| `5c0bff1fa5` | Accept the proactive help offer | lib:invocation-points.ts:274 | — |  |
| `cb1d93dd61` | Ask | lib:invocation-points.ts:309 | — |  |
| `09cb5759fe` | Ask about selection | lib:invocation-points.ts:262 | — |  |
| `11c08a67bf` | Ask about this | lib:invocation-points.ts:240 | — |  |
| `6d6d29d197` | Ask assistant | lib:invocation-points.ts:179 | — |  |
| `41bf797f4d` | Ask Lilith about this empty state | lib:invocation-points.ts:230 | — |  |
| `20243ab518` | Ask Lilith from the command palette | lib:invocation-points.ts:180 | — |  |
| `4a345a945b` | Ask Studio copilot | lib:invocation-points.ts:427 | — |  |
| `ee706351f3` | Ask the assistant | lib:invocation-points.ts:229 | — |  |
| `e0fbe1ef53` | Ask the assistant about the selected text | lib:invocation-points.ts:263 | — |  |
| `867ee3785c` | Ask the assistant about this section | lib:invocation-points.ts:241 | — |  |
| `2a21e24821` | Ask the copilot to draft review rationale | lib:invocation-points.ts:361 | — |  |
| `8a4d3aed66` | Ask the copilot to draft the next incident status update | lib:invocation-points.ts:382 | — |  |
| `ca7b318730` | Ask the copilot to summarize the selected inbox item | lib:invocation-points.ts:372 | — |  |
| `a40f95705e` | Ask the Studio copilot about this workspace | lib:invocation-points.ts:428 | — |  |
| `8c11b21d33` | Assistant | lib:invocation-points.ts:163<br>lib:invocation-points.ts:202<br>lib:invocation-points.ts:298 | — |  |
| `52891cbdbb` | Assistant deep link | lib:invocation-points.ts:251<br>lib:invocation-points.ts:319 | — |  |
| `eb418efb3d` | Assistant push | lib:invocation-points.ts:330 | — |  |
| `dee2c83247` | Audit board handoff | lib:invocation-points.ts:284 | — |  |
| `1d136a7090` | Bottom-sheet launcher mounted once at the mobile shell root. Reachable from any tab. | lib:invocation-points.ts:301 | — |  |
| `b50fbfa648` | Command-palette entry that seeds the assistant with the palette query text. Keeps keyboard users reachable without leaving the palette. | lib:invocation-points.ts:182 | — |  |
| `0ba7942e6e` | Contextual empty-state button rendered on surfaces that have no content for the member yet (first Tara session, empty Nisaba library). | lib:invocation-points.ts:232 | — |  |
| `b698612697` | Continue the feature audit in chat | lib:invocation-points.ts:285 | — |  |
| `0aa65a8e0d` | Copilot | lib:invocation-points.ts:344<br>lib:invocation-points.ts:411 | — |  |
| `c6c754a59c` | Deep-link handler that resolves ‘/assistant?intent=…‘ and hands a seeded ‘AssistantLaunchIntent‘ to the launcher. | lib:invocation-points.ts:254 | — |  |
| `7bca4456d7` | Deep-link handler that resolves ‘oshun://assistant?intent=…‘ and hands a seeded launch intent to the sheet. | lib:invocation-points.ts:322 | — |  |
| `156ee660fa` | Dismissible offer chip raised by the client-side struggle detectors (rage-click, navigation thrash, error dwell). Never auto-opens the panel; accepting seeds the assistant with the detected struggle. | lib:invocation-points.ts:276 | — |  |
| `e5d1ea4be2` | Docked copilot panel on the right side of the admin shell. Persistent across workspaces so operators can keep a conversation open while they triage. | lib:invocation-points.ts:347 | — |  |
| `4ebe400f4f` | Draft rationale | lib:invocation-points.ts:360 | — |  |
| `7054d11087` | Draft status update | lib:invocation-points.ts:381 | — |  |
| `dead058bb2` | Feature-audit coverage board actions at /assistant/audit that begin or resume the audit run in the assistant. | lib:invocation-points.ts:287 | — |  |
| `f8c71c6fbf` | Floating launcher mounted at the app root for surfaces the shell does not own (the reading surface, deep domain workspaces, utility pages). Suppressed wherever a shell declares its own assistant. | lib:invocation-points.ts:205 | — |  |
| `3067a06a41` | Incident-detail copilot entry that pulls the current timeline + impact summary into the copilot for drafting comms. | lib:invocation-points.ts:384 | — |  |
| `f3f0f36ff6` | Inline "ask about this" link attached to complex surfaces (e.g., translation compare). Seeds the assistant with the surrounding section as context. | lib:invocation-points.ts:243 | — |  |
| `98d0e88abb` | Inline copilot entry inside the review detail surface. Seeds the copilot with the active review package. | lib:invocation-points.ts:363 | — |  |
| `df77f7c336` | Inline Studio launcher for complex workspace surfaces where the copilot should receive the active artifact and policy context. | lib:invocation-points.ts:430 | — |  |
| `0642afd37a` | Keyboard shortcut that opens Lilith | lib:invocation-points.ts:214 | — |  |
| `addb5d4d55` | Keyboard shortcut that opens the admin copilot | lib:invocation-points.ts:393 | — |  |
| `e4400c81b7` | Keyboard shortcut that opens the Studio copilot | lib:invocation-points.ts:439 | — |  |
| `10a2f1e99d` | Keyboard-only opener (⌘ + .) that works from any focused element and surfaces the assistant without the mouse. | lib:invocation-points.ts:216 | — |  |
| `545e6ed7ab` | Keyboard-only opener for the copilot panel (⌘ + .) — matches the customer-web binding for muscle memory. | lib:invocation-points.ts:395 | — |  |
| `01e3898763` | Keyboard-only Studio opener (⌘ + .) that mirrors the customer and admin shortcut contract. | lib:invocation-points.ts:441 | — |  |
| `d209dc07c8` | Need a hand? | lib:invocation-points.ts:273 | — |  |
| `4132799f95` | Open assistant | lib:invocation-points.ts:213 | — |  |
| `afdf28ee8f` | Open copilot | lib:invocation-points.ts:392 | — |  |
| `81e379a569` | Open Lilith | lib:invocation-points.ts:164<br>lib:invocation-points.ts:203 | — |  |
| `b5fcd0c8a3` | Open Studio copilot | lib:invocation-points.ts:438 | — |  |
| `77e18216bb` | Open the admin copilot panel | lib:invocation-points.ts:345 | — |  |
| `43ed0551dc` | Open the assistant from a push notification | lib:invocation-points.ts:331 | — |  |
| `cbabd0b0b4` | Open the assistant from a shared link | lib:invocation-points.ts:252 | — |  |
| `a949ab78f1` | Open the assistant from the tab bar | lib:invocation-points.ts:310 | — |  |
| `7debcf7a3b` | Open the assistant sheet | lib:invocation-points.ts:299 | — |  |
| `c1a56a4e27` | Open the mobile assistant from a shared link | lib:invocation-points.ts:320 | — |  |
| `92757c2f57` | Open the Studio copilot | lib:invocation-points.ts:412 | — |  |
| `6e25808c8b` | Persistent launcher that sits in the shell chrome on every customer web surface. Tappable with mouse and reachable with keyboard via the command-palette shortcut. | lib:invocation-points.ts:166 | — |  |
| `730b9e4981` | Push-notification handler that routes through the assistant sheet when the payload carries an ‘assistant‘ kind. | lib:invocation-points.ts:333 | — |  |
| `fca5fa6efb` | Row-level context-menu entry that hands a compact item summary to the copilot. | lib:invocation-points.ts:373 | — |  |
| `9c935db107` | Selection-to-ask chip that appears when the member selects text outside assistant-private subtrees and opens the assistant with the excerpt prefilled. | lib:invocation-points.ts:265 | — |  |
| `5d758c8829` | Studio-wide copilot launcher mounted in the Studio shell chrome. Opens with the current workspace path and operator-scoped policy guard. | lib:invocation-points.ts:414 | — |  |
| `52bcf85260` | Summarize item | lib:invocation-points.ts:371 | — |  |
| `a23bdf2db5` | Tab-bar-adjacent launcher button rendered on home and activity tabs. | lib:invocation-points.ts:311 | — |  |
| `f48484996e` | Unknown assistant invocation point: {…} | lib:invocation-points.ts:609 | — |  |

## iris bridge — 11 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `e708a40850` | {…}-assistant | lib:iris-memory-bridge.ts:814<br>lib:iris-memory-bridge.ts:1017 | — |  |
| `bf8141671c` | {…}-assistant.promotion | lib:iris-memory-bridge.ts:947 | — |  |
| `02e3087496` | assistant:{…} | lib:iris-memory-bridge.ts:753 | — |  |
| `c401365c78` | Call bootstrapSession before recording turns. | lib:iris-memory-bridge.ts:1140 | — |  |
| `0dd869af21` | Iris denied the write. | lib:iris-memory-bridge.ts:1092 | — |  |
| `e3e85283aa` | IrisMemoryBridge (shellMode="{…}") expected an identity with the matching platformShell, got "{…}". | lib:iris-memory-bridge.ts:1174 | — |  |
| `6e7ea77f4b` | IrisMemoryBridge (shellMode="{…}") refusing to attach to platformShell="{…}". | lib:iris-memory-bridge.ts:1165 | — |  |
| `9c5d0f92bb` | IrisMemoryBridge requires a resolveIdentity callback. | lib:iris-memory-bridge.ts:360 | — |  |
| `13a1ccba21` | IrisMemoryBridge requires an IrisMemoryAdapter instance. | lib:iris-memory-bridge.ts:357 | — |  |
| `a367ec16ac` | IrisMemoryBridge: session "{…}" has not been bootstrapped. | lib:iris-memory-bridge.ts:1139 | — |  |
| `e348a4ff06` | user:{…} | lib:iris-memory-bridge.ts:614 | — |  |

## member dock — 8 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `3fd5d2f104` | Dock | web:components/assistant-dock/AssistantDock.tsx:181 | — |  |
| `30d6ca736b` | Entry | web:components/assistant-dock/AssistantDock.tsx:267 | — |  |
| `2bbb35c96b` | Expand assistant | web:components/assistant-dock/AssistantDock.tsx:300 | — |  |
| `cc2e06e5e7` | Hide assistant dock | web:components/assistant-dock/AssistantDock.tsx:188 | — |  |
| `b33a4ed595` | Memory | web:components/assistant-dock/AssistantDock.tsx:278 | — |  |
| `352f6b5aee` | Persistent context | web:components/assistant-dock/AssistantDock.tsx:237 | — |  |
| `32f3152a5d` | Stage | web:components/assistant-dock/AssistantDock.tsx:260 | — |  |
| `4580873413` | Thread | web:components/assistant-dock/AssistantDock.tsx:241 | — |  |

## member panel — 273 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `1114d629d4` | (route {…}) | web:components/assistant/AssistantPanel.tsx:4244 | — |  |
| `8b5e4e9c2a` | [tour-player] While running "{…}", these steps could not be shown: {…}. I am on {…} now — adjust or replan the remaining tour from here. | web:components/assistant/AssistantPanel.tsx:4262 | — |  |
| `c4de6fb354` | {…} — which did not hear what you just said. The microphone is open again: say it once more, or tap the mic to stop it and type instead. | web:components/assistant/AssistantPanel.tsx:3495 | — |  |
| `2195ed2488` | {…} {…} could not be shown. | web:components/assistant/AssistantPanel.tsx:4205 | — |  |
| `cbe049fc74` | {…} thread | web:components/assistant/AssistantPanel.tsx:2168 | — |  |
| `b64684b180` | {…} Type your question here and I will answer the same way. | web:components/assistant/AssistantPanel.tsx:3482 | — |  |
| `bdbcdfd9b3` | {…}{…}path={…} | web:components/assistant/AssistantPanel.tsx:1544 | — |  |
| `d3f44493ff` | {…}px | web:components/assistant/AssistantPanel.tsx:2497 | — |  |
| `5d2026fed8` | + domain relevance | web:components/assistant/AssistantPanel.tsx:1434 | — |  |
| `a6060a7505` | 0.35rem 0.7rem | web:components/assistant/AssistantPanel.tsx:5074 | — |  |
| `654a8f2449` | action discarded. | web:components/assistant/AssistantPanel.tsx:1686 | — |  |
| `72f32c9aa7` | action executed. | web:components/assistant/AssistantPanel.tsx:1685 | — |  |
| `b7aeb95cac` | action-outcome-{…} | web:components/assistant/AssistantPanel.tsx:1699 | — |  |
| `d661d44553` | active | web:components/assistant/AssistantPanel.tsx:6694 | — |  |
| `ae642f17ed` | Active | web:components/assistant/AssistantPanel.tsx:6562 | — |  |
| `b0e03cbe03` | Add to reading queue | web:components/assistant/AssistantPanel.tsx:954 | — |  |
| `545c5ea143` | Anchor | web:components/assistant/AssistantPanel.tsx:6293 | — |  |
| `64558926b1` | Arete (Growth) | web:components/assistant/AssistantPanel.tsx:922 | — |  |
| `091da94bd8` | Artifact | web:components/assistant/AssistantPanel.tsx:6297 | — |  |
| `cb94db3cbc` | Artifact: {…} | web:components/assistant/AssistantPanel.tsx:5572 | — |  |
| `573e8f970a` | Ask Lilith anything | web:components/assistant/AssistantPanel.tsx:1844 | — |  |
| `45dfca9010` | Asking Lilith to pick the tour up from where you are now. | web:components/assistant/AssistantPanel.tsx:4257 | — |  |
| `778536e77e` | Assistant avatar mode state | web:components/assistant/AssistantPanel.tsx:6509 | — |  |
| `c60695dfe6` | Assistant dock content | web:components/assistant/AssistantPanel.tsx:4560 | — |  |
| `8c71218881` | Assistant isn’t available on your current access. | web:components/assistant/AssistantPanel.tsx:2724<br>web:components/assistant/AssistantPanel.tsx:3256 | — |  |
| `d8dc6c8f00` | Assistant message history | web:components/assistant/AssistantPanel.tsx:4670 | — |  |
| `c6561344d7` | Assistant mode state | web:components/assistant/AssistantPanel.tsx:6327 | — |  |
| `a8fa967428` | Assistant prompt | web:components/assistant/AssistantPanel.tsx:6999 | — |  |
| `b853d95461` | Assistant reply · {…} | web:components/assistant/AssistantPanel.tsx:462 | — |  |
| `723b0e87c2` | Assistant response service is unavailable. | web:components/assistant/AssistantPanel.tsx:3259 | — |  |
| `695b57b1a7` | Assistant response timed out | web:components/assistant/AssistantPanel.tsx:3070 | — |  |
| `32bcc4cdbd` | Assistant retrieval | web:components/assistant/AssistantPanel.tsx:481 | — |  |
| `bf7b7e70a0` | Assistant safe fallback state | web:components/assistant/AssistantPanel.tsx:6645 | — |  |
| `7a034f2972` | Assistant session service is unavailable. | web:components/assistant/AssistantPanel.tsx:2725<br>web:components/assistant/AssistantPanel.tsx:2850 | — |  |
| `1a78836dea` | Assistant transcript state | web:components/assistant/AssistantPanel.tsx:6823 | — |  |
| `337005c341` | assistant-{…} | web:components/assistant/AssistantPanel.tsx:3201 | — |  |
| `7ef73e65a1` | assistant-stream-{…} | web:components/assistant/AssistantPanel.tsx:2904 | — |  |
| `a41bcaf05d` | assistant-turn-{…} | web:components/assistant/AssistantPanel.tsx:460 | — |  |
| `7c89acdd8e` | assistant-unavailable-{…} | web:components/assistant/AssistantPanel.tsx:3268 | — |  |
| `890bac9af8` | Avatar | web:components/assistant/AssistantPanel.tsx:6611 | — |  |
| `a4516f9e75` | Avatar mode | web:components/assistant/AssistantPanel.tsx:6535 | — |  |
| `cd012a4338` | Back to {…} | web:components/assistant/AssistantPanel.tsx:4657 | — |  |
| `76aa5f2bfb` | Browse courses | web:components/assistant/AssistantPanel.tsx:980 | — |  |
| `8271be4df3` | budget-exhausted-{…} | web:components/assistant/AssistantPanel.tsx:3173 | — |  |
| `57b65d4b38` | Changing guides keeps this conversation and its memory setting the same until you change privacy controls. | web:components/assistant/AssistantPanel.tsx:6128 | — |  |
| `845ecd57fe` | Check my streak | web:components/assistant/AssistantPanel.tsx:945 | — |  |
| `2230641114` | Citations that support the reply carry the most weight; any contradicting citations are caveats the reply does not erase. | web:components/assistant/AssistantPanel.tsx:440 | — |  |
| `156a999d80` | clipboard unavailable | web:components/assistant/AssistantPanel.tsx:3365 | — |  |
| `e6ed448c20` | Close assistant | web:components/assistant/AssistantPanel.tsx:4547 | — |  |
| `bf8aeacb85` | Collapse assistant dock | web:components/assistant/AssistantPanel.tsx:4533 | — |  |
| `8ad56018bc` | Collapse dock | web:components/assistant/AssistantPanel.tsx:4534 | — |  |
| `754f027275` | Compare saved passages | web:components/assistant/AssistantPanel.tsx:971 | — |  |
| `0d4cb6335f` | Confidence: | web:components/assistant/AssistantPanel.tsx:4874 | — |  |
| `f6f106ef0c` | Confirm | web:components/assistant/AssistantPanel.tsx:5499 | — |  |
| `bc7b63178f` | Confirm assistant action | web:components/assistant/AssistantPanel.tsx:5442 | — |  |
| `76e3485cdd` | Consider taking a short break. A Tara breathing session could help refresh your focus. | web:components/assistant/AssistantPanel.tsx:1391 | — |  |
| `48f601b37d` | Context | web:components/assistant/AssistantPanel.tsx:474 | — |  |
| `ee83eba947` | Continuity journey map | web:components/assistant/AssistantPanel.tsx:5251 | — |  |
| `c75d18a962` | Contradicts | web:components/assistant/AssistantPanel.tsx:473 | — |  |
| `1682caf006` | Copied ✓ | web:components/assistant/AssistantPanel.tsx:5056 | — |  |
| `0c734bb7b5` | Copy | web:components/assistant/AssistantPanel.tsx:5059 | — |  |
| `72a870652a` | Copy this reply | web:components/assistant/AssistantPanel.tsx:5042 | — |  |
| `ce5aeb1783` | Couldn’t copy | web:components/assistant/AssistantPanel.tsx:5058 | — |  |
| `a79e775756` | Current room | web:components/assistant/AssistantPanel.tsx:2168 | — |  |
| `d6a61a74fc` | Daily check-in | web:components/assistant/AssistantPanel.tsx:966 | — |  |
| `65e4b33ee5` | Decline | web:components/assistant/AssistantPanel.tsx:5517 | — |  |
| `d4050e608c` | Declined: {…} | web:components/assistant/AssistantPanel.tsx:1686 | — |  |
| `2766f14ab2` | Didn't carry over what you were looking at | web:components/assistant/AssistantPanel.tsx:1134 | — |  |
| `e6d97216f3` | Disable voice output | web:components/assistant/AssistantPanel.tsx:4481 | — |  |
| `2f151ac851` | Disclosure: {…} | web:components/assistant/AssistantPanel.tsx:6856 | — |  |
| `044ff0e5f8` | Dismiss | web:components/assistant/AssistantPanel.tsx:6737 | — |  |
| `1f23f2fb35` | Done: {…} | web:components/assistant/AssistantPanel.tsx:1685 | — |  |
| `8a16ad1f51` | en-US | web:components/assistant/AssistantPanel.tsx:2700<br>web:components/assistant/AssistantPanel.tsx:2890<br>web:components/assistant/AssistantPanel.tsx:3797 | — |  |
| `81dd039150` | Enable voice output | web:components/assistant/AssistantPanel.tsx:4481 | — |  |
| `958edf6414` | Entitlement | web:components/assistant/AssistantPanel.tsx:6574 | — |  |
| `1c7beb7945` | Entry | web:components/assistant/AssistantPanel.tsx:6295 | — |  |
| `a9271a0b02` | Evidence | web:components/assistant/AssistantPanel.tsx:6300 | — |  |
| `b5e94b47b8` | Evidence behind this reply | web:components/assistant/AssistantPanel.tsx:463 | — |  |
| `a5ba097b30` | Evidence for this reply is sparse or low-credibility. Confirm with a higher-tier source before acting on it. | web:components/assistant/AssistantPanel.tsx:444 | — |  |
| `1fefc45b0b` | Evidence: {…} | web:components/assistant/AssistantPanel.tsx:5584 | — |  |
| `0abace1634` | Fact-check a claim | web:components/assistant/AssistantPanel.tsx:953 | — |  |
| `b7cc77d999` | Fallback | web:components/assistant/AssistantPanel.tsx:6374<br>web:components/assistant/AssistantPanel.tsx:6564 | — |  |
| `faa207a47a` | Find a meditation for sleep | web:components/assistant/AssistantPanel.tsx:941 | — |  |
| `936028ed9b` | Gated | web:components/assistant/AssistantPanel.tsx:6565 | — |  |
| `8f906de35b` | Give me a reflection prompt for tonight | web:components/assistant/AssistantPanel.tsx:968 | — |  |
| `618e889eb5` | Ground this claim in sources | web:components/assistant/AssistantPanel.tsx:973 | — |  |
| `12278b44a0` | Grounded | web:components/assistant/AssistantPanel.tsx:426 | — |  |
| `c9a24bfabe` | Grounded against {…} {…} across supports, contradicts, and context stances. | web:components/assistant/AssistantPanel.tsx:469 | — |  |
| `68ef7dc5de` | Grounded against {…} {…}, primary source {…}. | web:components/assistant/AssistantPanel.tsx:468 | — |  |
| `5dc23daa75` | Grounded assistant reply | web:components/assistant/AssistantPanel.tsx:513 | — |  |
| `eb3e0f966b` | Grounded assistant reply saved from the assistant panel. | web:components/assistant/AssistantPanel.tsx:518 | — |  |
| `db0374501f` | Grounding level | web:components/assistant/AssistantPanel.tsx:471 | — |  |
| `bf7c9c2683` | Grounding: {…} | web:components/assistant/AssistantPanel.tsx:6854 | — |  |
| `d05d02c609` | Hearing my own voice comes with the paid plans. I will read replies aloud in your browser’s voice instead — it sounds different, and every word is the same. | web:components/assistant/AssistantPanel.tsx:4096 | — |  |
| `bc6bea78b0` | Helpful | web:components/assistant/AssistantPanel.tsx:5086 | — |  |
| `44fc9e1646` | Hi — I’m with you in {…}. What would you like to do? | web:components/assistant/AssistantPanel.tsx:2733 | — |  |
| `00a0a4ad80` | Hide assistant dock | web:components/assistant/AssistantPanel.tsx:4547 | — |  |
| `2db62c0497` | Hide options | web:components/assistant/AssistantPanel.tsx:5760 | — |  |
| `5631aef510` | History | web:components/assistant/AssistantPanel.tsx:4520 | — |  |
| `8dd99cc4e9` | How am I doing on my goals? | web:components/assistant/AssistantPanel.tsx:967 | — |  |
| `100e992518` | How is my meditation streak? | web:components/assistant/AssistantPanel.tsx:945 | — |  |
| `7154ad5c72` | How was my week? | web:components/assistant/AssistantPanel.tsx:1010 | — |  |
| `030bcccc87` | I can’t respond right now — the assistant isn’t available on your current access. Your transcript is preserved. | web:components/assistant/AssistantPanel.tsx:3271 | — |  |
| `aa4069d99a` | I could not find a microphone on this device, so there is nothing for me to listen to. Type your question and I will pick it up from there. | web:components/assistant/AssistantPanel.tsx:3859 | — |  |
| `86f88e1c1f` | I could not start listening just now. Try the mic again in a moment, or type your question. | web:components/assistant/AssistantPanel.tsx:3895 | — |  |
| `bff0bd43f4` | I could not transcribe that here, and this browser has no speech recognition of its own to hand over to. | web:components/assistant/AssistantPanel.tsx:3661 | — |  |
| `38ca46b46a` | I could not transcribe that here, so I have switched to your browser’s own speech recognition | web:components/assistant/AssistantPanel.tsx:3660 | — |  |
| `56502fe289` | I couldn't adjust the tour just now. Ask me to start it again whenever you like. | web:components/assistant/AssistantPanel.tsx:4266 | — |  |
| `dfc91ae66b` | I did not catch any speech in that recording — try again a little closer to the microphone. | web:components/assistant/AssistantPanel.tsx:3646 | — |  |
| `25bc4e4f12` | I did not hear anything that time. Tap the mic and try again a little closer, or type your question. | web:components/assistant/AssistantPanel.tsx:3864 | — |  |
| `618cb77f19` | I lost my connection for a moment, so that one did not reach me — say it again and I will pick up right where we were. | web:components/assistant/AssistantPanel.tsx:3144 | — |  |
| `d0ec5f448e` | I’m having trouble reaching the assistant service right now, so I won’t guess. Please try again in a moment — your transcript is preserved. | web:components/assistant/AssistantPanel.tsx:3272 | — |  |
| `60aac5b022` | Inspect evidence · | web:components/assistant/AssistantPanel.tsx:5124 | — |  |
| `d7c769db3b` | Inspect evidence behind this reply | web:components/assistant/AssistantPanel.tsx:5108 | — |  |
| `e8af998827` | Inspect the citations, stance mix, and source credibility the assistant used to ground this reply. | web:components/assistant/AssistantPanel.tsx:465 | — |  |
| `41c1e3dec4` | Inspect the institutions behind the assistant's cited evidence. | web:components/assistant/AssistantPanel.tsx:487 | — |  |
| `f4d0f4d67e` | Interrupt response | web:components/assistant/AssistantPanel.tsx:5428 | — |  |
| `109147a013` | interrupt-{…} | web:components/assistant/AssistantPanel.tsx:4172 | — |  |
| `bc95235db2` | ISS flyover times | web:components/assistant/AssistantPanel.tsx:962 | — |  |
| `2c87946a18` | Journal prompt | web:components/assistant/AssistantPanel.tsx:968 | — |  |
| `5f2b104266` | Jump to latest ↓ | web:components/assistant/AssistantPanel.tsx:5237 | — |  |
| `d3d825a84a` | Lilith | web:components/assistant/AssistantPanel.tsx:929<br>web:components/assistant/AssistantPanel.tsx:2159<br>web:components/assistant/AssistantPanel.tsx:2163<br>+4 more | — |  |
| `e8ba6464d4` | Lilith assistant | web:components/assistant/AssistantPanel.tsx:4364 | — |  |
| `5a5bbea463` | Lilith assistant dock | web:components/assistant/AssistantPanel.tsx:4364 | — |  |
| `8d74ee0f4f` | Lilith is writing a reply | web:components/assistant/AssistantPanel.tsx:5212 | — |  |
| `d4c7dc9d89` | Lilith Library | web:components/assistant/AssistantPanel.tsx:925 | — |  |
| `7e602d1989` | Listening — I stop when you pause, or at a minute | web:components/assistant/AssistantPanel.tsx:1843 | — |  |
| `42ade0d652` | Listening — speak now. I stop on my own when you pause, or press the microphone button to stop sooner. | web:components/assistant/AssistantPanel.tsx:6970 | — |  |
| `b889ffd26c` | local-{…} | web:components/assistant/AssistantPanel.tsx:2717 | — |  |
| `ea5063c72f` | Log an observation | web:components/assistant/AssistantPanel.tsx:963 | — |  |
| `ea13fb8520` | Matched {…} keyword(s){…} | web:components/assistant/AssistantPanel.tsx:1434 | — |  |
| `9f26e51744` | Memory | web:components/assistant/AssistantPanel.tsx:6296<br>web:components/assistant/AssistantPanel.tsx:6613 | — |  |
| `f25b340432` | Memory: {…} | web:components/assistant/AssistantPanel.tsx:5588<br>web:components/assistant/AssistantPanel.tsx:6853 | — |  |
| `75b8ca431e` | Metis (Learning) | web:components/assistant/AssistantPanel.tsx:924 | — |  |
| `e65c9248dd` | Mic | web:components/assistant/AssistantPanel.tsx:6576 | — |  |
| `18a7bf374b` | Mode state | web:components/assistant/AssistantPanel.tsx:6351 | — |  |
| `3d91c18aaf` | Morning routine | web:components/assistant/AssistantPanel.tsx:1008 | — |  |
| `6f976d2a7e` | Motion | web:components/assistant/AssistantPanel.tsx:6578 | — |  |
| `833e760af9` | Need help with anything? I can suggest activities based on your interests. | web:components/assistant/AssistantPanel.tsx:1384 | — |  |
| `57735c50de` | Nisaba (Study) | web:components/assistant/AssistantPanel.tsx:923 | — |  |
| `c73979ba39` | no current artifact | web:components/assistant/AssistantPanel.tsx:5572 | — |  |
| `3c6b0bbfb5` | No previous sessions | web:components/assistant/AssistantPanel.tsx:6756 | — |  |
| `05639c8d32` | No verified citations were retrieved. Treat this reply as a suggested direction, not as a grounded answer. | web:components/assistant/AssistantPanel.tsx:448 | — |  |
| `6337352ad3` | Not helpful | web:components/assistant/AssistantPanel.tsx:5096 | — |  |
| `4762ad4408` | NotAllowedError | web:components/assistant/AssistantPanel.tsx:3589 | — |  |
| `ddd82fd8da` | Nothing reached me from the microphone, so I have stopped listening rather than leave it open. Try again, or type your question. | web:components/assistant/AssistantPanel.tsx:3823 | — |  |
| `13d5d8d476` | Nyx (Night Sky) | web:components/assistant/AssistantPanel.tsx:921 | — |  |
| `173c576776` | Open | web:components/assistant/AssistantPanel.tsx:1522 | — |  |
| `ef1390cebf` | Open AI assistant | web:components/assistant/AssistantPanel.tsx:7100 | — |  |
| `a32d4d42fa` | Open authoring | web:components/assistant/AssistantPanel.tsx:989 | — |  |
| `bf32e63fe2` | Open source directory | web:components/assistant/AssistantPanel.tsx:486 | — |  |
| `5d433ae43b` | Open tutoring | web:components/assistant/AssistantPanel.tsx:982 | — |  |
| `f62f49d068` | Organize my saved study | web:components/assistant/AssistantPanel.tsx:1005 | — |  |
| `b396016d93` | Other guides | web:components/assistant/AssistantPanel.tsx:5741 | — |  |
| `11fba53a01` | Partially grounded | web:components/assistant/AssistantPanel.tsx:427 | — |  |
| `bc67a5f69a` | Persona | web:components/assistant/AssistantPanel.tsx:6301<br>web:components/assistant/AssistantPanel.tsx:6609 | — |  |
| `35631f86ce` | Persona: {…} | web:components/assistant/AssistantPanel.tsx:5592<br>web:components/assistant/AssistantPanel.tsx:6855 | — |  |
| `d80f9ae804` | position:absolute;width:0;height:0;opacity:0;pointer-events:none;{…} | web:components/assistant/AssistantPanel.tsx:2238 | — |  |
| `290dd2f1f3` | Press Enter to send. Shift and Enter start a new line. | web:components/assistant/AssistantPanel.tsx:6971 | — |  |
| `07c050d678` | Previous sessions | web:components/assistant/AssistantPanel.tsx:6750 | — |  |
| `a4a7ed7380` | Ready | web:components/assistant/AssistantPanel.tsx:6374 | — |  |
| `f219b27f79` | Recording | web:components/assistant/AssistantPanel.tsx:5333 | — |  |
| `f03964970f` | Remembers nothing | web:components/assistant/AssistantPanel.tsx:1121 | — |  |
| `a2f6d2489a` | Remembers this conversation | web:components/assistant/AssistantPanel.tsx:1119 | — |  |
| `5290a2b220` | Remembers what you saved | web:components/assistant/AssistantPanel.tsx:1120 | — |  |
| `d6cc40086d` | Renderer | web:components/assistant/AssistantPanel.tsx:6575<br>web:components/assistant/AssistantPanel.tsx:6612 | — |  |
| `0b9200f1cc` | Response interrupted. Transcript continuity preserved; send another prompt when ready. | web:components/assistant/AssistantPanel.tsx:4174 | — |  |
| `194cc03809` | Resume my lesson | web:components/assistant/AssistantPanel.tsx:981 | — |  |
| `3ccb98177e` | Resume my notebook | web:components/assistant/AssistantPanel.tsx:977 | — |  |
| `58ec9ba38c` | Retrieval did not produce citations for this reply. Ask the assistant to re-ground with a specific source before relying on the answer. | web:components/assistant/AssistantPanel.tsx:456 | — |  |
| `2f9bed40c9` | Retry save | web:components/assistant/AssistantPanel.tsx:5139 | — |  |
| `1eb7e13006` | Return to {…} | web:components/assistant/AssistantPanel.tsx:4636 | — |  |
| `9f50bae87f` | Review mastery check | web:components/assistant/AssistantPanel.tsx:984 | — |  |
| `b27687f6f7` | Review my goals | web:components/assistant/AssistantPanel.tsx:967 | — |  |
| `0fa289292b` | Safe fallback | web:components/assistant/AssistantPanel.tsx:6669 | — |  |
| `9dffbea7b6` | Save this grounded reply as a new Nisaba notebook | web:components/assistant/AssistantPanel.tsx:5146 | — |  |
| `041bd14d7f` | Save to Library | web:components/assistant/AssistantPanel.tsx:5029 | — |  |
| `b7e6a32709` | Save to notebook | web:components/assistant/AssistantPanel.tsx:5140 | — |  |
| `7bf36f1ba3` | Saved to Library | web:components/assistant/AssistantPanel.tsx:5029 | — |  |
| `476e258d15` | Saved to notebook ✓ | web:components/assistant/AssistantPanel.tsx:5137 | — |  |
| `364c6b70e8` | Saving to notebook… | web:components/assistant/AssistantPanel.tsx:5135 | — |  |
| `9974c36cf0` | SecurityError | web:components/assistant/AssistantPanel.tsx:3589 | — |  |
| `6b826572e7` | See who else can help. Switching keeps this conversation. | web:components/assistant/AssistantPanel.tsx:5746 | — |  |
| `d9a5d52ea2` | Send message | web:components/assistant/AssistantPanel.tsx:7013 | — |  |
| `ce73c918d2` | Session details | web:components/assistant/AssistantPanel.tsx:5566 | — |  |
| `b2b82e2616` | Session diagnostics | web:components/assistant/AssistantPanel.tsx:6275 | — |  |
| `4c812c19cc` | Session history | web:components/assistant/AssistantPanel.tsx:4519 | — |  |
| `d55db57918` | Session history is unavailable right now. | web:components/assistant/AssistantPanel.tsx:6753 | — |  |
| `44581dd810` | Show options | web:components/assistant/AssistantPanel.tsx:5760 | — |  |
| `c7e3f1e221` | Speaking... | web:components/assistant/AssistantPanel.tsx:5386 | — |  |
| `aeffef944b` | Speech recognition stopped before it caught anything, so I will not guess at what you said. Try the mic again, or type your question. | web:components/assistant/AssistantPanel.tsx:3873 | — |  |
| `10ebad9312` | Start a breathing session | web:components/assistant/AssistantPanel.tsx:939 | — |  |
| `7315939e5f` | Start voice input | web:components/assistant/AssistantPanel.tsx:6928 | — |  |
| `dd725dae27` | Stop listening | web:components/assistant/AssistantPanel.tsx:6928 | — |  |
| `78b2fb2bd8` | Stop speaking | web:components/assistant/AssistantPanel.tsx:7024 | — |  |
| `80bb917c81` | stt-empty-{…} | web:components/assistant/AssistantPanel.tsx:3644 | — |  |
| `9ad1b695d8` | stt-empty-recording-{…} | web:components/assistant/AssistantPanel.tsx:3626 | — |  |
| `802198da2a` | stt-error-{…} | web:components/assistant/AssistantPanel.tsx:3735 | — |  |
| `350ebff85f` | stt-minute-{…} | web:components/assistant/AssistantPanel.tsx:3548 | — |  |
| `220644706e` | stt-too-long-{…} | web:components/assistant/AssistantPanel.tsx:3691 | — |  |
| `10edce1a3c` | Summarize saved excerpts | web:components/assistant/AssistantPanel.tsx:1001 | — |  |
| `9847f3f68d` | Summarize the assistant excerpts and notes I saved recently. | web:components/assistant/AssistantPanel.tsx:1003 | — |  |
| `cc18fe14ad` | Summarize trending articles | web:components/assistant/AssistantPanel.tsx:949 | — |  |
| `ba4013276a` | Supports | web:components/assistant/AssistantPanel.tsx:472 | — |  |
| `ddd6549a1f` | Switch guide | web:components/assistant/AssistantPanel.tsx:5799 | — |  |
| `bf19977de5` | Switching guides keeps this conversation exactly as it is. | web:components/assistant/AssistantPanel.tsx:5834 | — |  |
| `e03b346f1c` | Synthesis only | web:components/assistant/AssistantPanel.tsx:429 | — |  |
| `7ef22907a8` | Tara (Meditation) | web:components/assistant/AssistantPanel.tsx:919 | — |  |
| `b152d1a671` | tel:{…} | web:components/assistant/AssistantPanel.tsx:4781 | — |  |
| `8d4cabbcda` | Text | web:components/assistant/AssistantPanel.tsx:4814 | — |  |
| `b2e8c43e7e` | That did not go through just now. You can ask me again whenever you like. | web:components/assistant/AssistantPanel.tsx:3056 | — |  |
| `23c922138b` | That is a full minute — the longest I record in one go. I am writing down what I heard so far; you can send it, add to it, or tap the mic for another minute. | web:components/assistant/AssistantPanel.tsx:3550 | — |  |
| `da8031c18b` | That is twice transcription has failed here, and this browser has no speech recognition of its own to hand over to. | web:components/assistant/AssistantPanel.tsx:3728 | — |  |
| `5a26d264a4` | That is twice transcription has failed here, so I have switched to your browser’s own speech recognition | web:components/assistant/AssistantPanel.tsx:3727 | — |  |
| `1d50c15b3f` | That one is outside what I will take on. Ask me another way, or ask me something else — I am still here. | web:components/assistant/AssistantPanel.tsx:3143 | — |  |
| `1503594699` | That recording came through empty — nothing reached me to transcribe. Tap the mic and try again, or type your question. | web:components/assistant/AssistantPanel.tsx:3628 | — |  |
| `129edd2196` | That recording could not be transcribed, so I won’t guess at what you said. Please try again. | web:components/assistant/AssistantPanel.tsx:3737 | — |  |
| `6b9aebbefe` | That recording was too long to send — I can take up to a minute at a time. Tap the mic and give me a shorter one, or type your question instead. | web:components/assistant/AssistantPanel.tsx:3693 | — |  |
| `cb45c00060` | The microphone stopped being available part-way through — its permission was withdrawn, or the device went away. Nothing was sent. Tap the mic to try again, or type your question. | web:components/assistant/AssistantPanel.tsx:3565 | — |  |
| `f25ea184d2` | The reply is qualified by {…} contradicting {…}. Review them before accepting the reply as final. | web:components/assistant/AssistantPanel.tsx:454 | — |  |
| `f489644c28` | This browser cannot listen for speech, so I have nothing to transcribe. Type your question here instead and I will answer the same way. | web:components/assistant/AssistantPanel.tsx:3791 | — |  |
| `c802310a78` | This browser records audio in a format I cannot read here, and it has no speech recognition of its own to hand over to. | web:components/assistant/AssistantPanel.tsx:3710 | — |  |
| `6848152850` | This browser records audio in a format I cannot read here, so I have switched to your browser’s own speech recognition | web:components/assistant/AssistantPanel.tsx:3709 | — |  |
| `10c8865276` | This client cannot execute the "{…}" tool. | web:components/assistant/AssistantPanel.tsx:2981 | — |  |
| `a01e6e7ce1` | This confirmation has expired, so nothing was changed. Ask me again if you still want it. | web:components/assistant/AssistantPanel.tsx:5470 | — |  |
| `5596f1e947` | This reply was helpful | web:components/assistant/AssistantPanel.tsx:5081 | — |  |
| `8ee02fc5a2` | This reply was not helpful | web:components/assistant/AssistantPanel.tsx:5091 | — |  |
| `ac6819cfac` | This view shows the evidence the assistant actually used to ground its reply, not just its final answer. | web:components/assistant/AssistantPanel.tsx:436 | — |  |
| `17fda21687` | Thread | web:components/assistant/AssistantPanel.tsx:6294 | — |  |
| `7bfb91df1a` | Tools | web:components/assistant/AssistantPanel.tsx:6302 | — |  |
| `ab5a810d56` | Tools: {…} | web:components/assistant/AssistantPanel.tsx:5596 | — |  |
| `4effde47cf` | Tour "{…}" ended at your request — {…} of {…} steps shown.{…} | web:components/assistant/AssistantPanel.tsx:4217 | — |  |
| `a99ab9ab1e` | Tour "{…}" finished — {…} of {…} steps shown.{…} | web:components/assistant/AssistantPanel.tsx:4216 | — |  |
| `e84463b3e8` | tour-{…} | web:components/assistant/AssistantPanel.tsx:4212 | — |  |
| `c2e57b768f` | tour-replan-{…} | web:components/assistant/AssistantPanel.tsx:4255 | — |  |
| `caadcccda6` | Transcript state | web:components/assistant/AssistantPanel.tsx:6843 | — |  |
| `975ce1153e` | tts-plan-{…} | web:components/assistant/AssistantPanel.tsx:4094 | — |  |
| `c71483348f` | turns | web:components/assistant/AssistantPanel.tsx:6794 | — |  |
| `49b613febb` | unavailable-{…} | web:components/assistant/AssistantPanel.tsx:3052 | — |  |
| `a4960e252e` | Ungrounded | web:components/assistant/AssistantPanel.tsx:430 | — |  |
| `97d4d8bfd9` | user-{…} | web:components/assistant/AssistantPanel.tsx:2824 | — |  |
| `5d2e5e2047` | Veritas (Truth) | web:components/assistant/AssistantPanel.tsx:920 | — |  |
| `0c81cf9939` | Veritas retrieval | web:components/assistant/AssistantPanel.tsx:481 | — |  |
| `31f188a42c` | Voice | web:components/assistant/AssistantPanel.tsx:6577<br>web:components/assistant/AssistantPanel.tsx:6610 | — |  |
| `04f2a60707` | Voice off | web:components/assistant/AssistantPanel.tsx:4482 | — |  |
| `0618b8d9d6` | Voice on | web:components/assistant/AssistantPanel.tsx:4482 | — |  |
| `1ac50dee84` | Voice transcription by Lilith comes with the paid plans, and this browser has no speech recognition of its own to hand over to. | web:components/assistant/AssistantPanel.tsx:3675 | — |  |
| `a742045ebb` | Voice transcription by Lilith comes with the paid plans, so I have switched to your browser’s own speech recognition | web:components/assistant/AssistantPanel.tsx:3674 | — |  |
| `3ec28c1782` | voice-unavailable-{…} | web:components/assistant/AssistantPanel.tsx:3453 | — |  |
| `22e26c821b` | Weakly grounded | web:components/assistant/AssistantPanel.tsx:428 | — |  |
| `47755fcd4d` | Weekly summary | web:components/assistant/AssistantPanel.tsx:1010 | — |  |
| `8826e9896b` | welcome-{…} | web:components/assistant/AssistantPanel.tsx:2731 | — |  |
| `0a5eea707e` | What are the top stories today? | web:components/assistant/AssistantPanel.tsx:951 | — |  |
| `4552af6020` | What can I see in the sky tonight? | web:components/assistant/AssistantPanel.tsx:960 | — |  |
| `f75ce2d771` | What is the highest-value item to resume from my library? | web:components/assistant/AssistantPanel.tsx:998 | — |  |
| `115edbe871` | What meditations help with sleep? | web:components/assistant/AssistantPanel.tsx:943 | — |  |
| `b2b414ce2b` | What should I resume next? | web:components/assistant/AssistantPanel.tsx:996 | — |  |
| `57a44ee470` | What's happening across my rooms? | web:components/assistant/AssistantPanel.tsx:1009 | — |  |
| `626a2e3aaf` | What's new today? | web:components/assistant/AssistantPanel.tsx:1009 | — |  |
| `8ea867cdd3` | What's visible tonight? | web:components/assistant/AssistantPanel.tsx:958 | — |  |
| `f6aa490243` | When is the next ISS flyover? | web:components/assistant/AssistantPanel.tsx:962 | — |  |
| `d60762f9b7` | Where you are | web:components/assistant/AssistantPanel.tsx:4605 | — |  |
| `954697c480` | where you were | web:components/assistant/AssistantPanel.tsx:4640 | — |  |
| `100a2b39b9` | Which sources ground this claim? | web:components/assistant/AssistantPanel.tsx:975 | — |  |
| `524e91874f` | Working… | web:components/assistant/AssistantPanel.tsx:5499 | — |  |
| `83ff3f9b18` | Writing down what you said. The words will appear here to check before you send them. | web:components/assistant/AssistantPanel.tsx:6968 | — |  |
| `fb9a7a227b` | Writing down what you said… | web:components/assistant/AssistantPanel.tsx:1839 | — |  |
| `3e9d60eb7b` | You seem idle. Would you like to take a break, or move to another room? | web:components/assistant/AssistantPanel.tsx:1381 | — |  |
| `7685da070e` | You're in {…}. | web:components/assistant/AssistantPanel.tsx:4608<br>web:components/assistant/AssistantPanel.tsx:4609 | — |  |
| `77f6f16ed3` | You've been browsing for a while. Want me to help you find something specific? | web:components/assistant/AssistantPanel.tsx:1387 | — |  |
| `93d9a66e9b` | Your {…} conversation | web:components/assistant/AssistantPanel.tsx:2159<br>web:components/assistant/AssistantPanel.tsx:2163 | — |  |
| `a3fc1dd534` | Your browser is keeping the microphone closed for this site. Allow microphone access from the address bar and tap the mic again — or just type your question. | web:components/assistant/AssistantPanel.tsx:3591<br>web:components/assistant/AssistantPanel.tsx:3854 | — |  |
| `f730005e83` | your current room | web:components/assistant/AssistantPanel.tsx:4609 | — |  |

## metis shell entry — 16 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `f3eea11057` | Browse course paths | web:lib/metis-shell-entry.ts:29 | — |  |
| `85f6770b6b` | Browse the full course catalog and scan structured tracks without losing your place. | web:lib/metis-shell-entry.ts:30 | — |  |
| `141c4cf2d0` | Enter tutoring | web:lib/metis-shell-entry.ts:46 | — |  |
| `2f2dfd9024` | For instructors: open authoring to create and publish courses without leaving Lilith. | web:lib/metis-shell-entry.ts:66 | — |  |
| `69a99542a0` | Go straight to guided tutoring when you need an explanation worked through, not more browsing. | web:lib/metis-shell-entry.ts:48 | — |  |
| `605355ea1e` | Jump back into a live lesson, already focused on your next concept rather than a generic catalog. | web:lib/metis-shell-entry.ts:39 | — |  |
| `0dea786741` | Open assessments | web:lib/metis-shell-entry.ts:58 | — |  |
| `32bc86455e` | Open assessments so retrieval practice and grading stay alongside the rest of your study. | web:lib/metis-shell-entry.ts:57 | — |  |
| `63310d3d71` | Open authoring | web:lib/metis-shell-entry.ts:67 | — |  |
| `7a43ccd6a9` | Open authoring studio | web:lib/metis-shell-entry.ts:64 | — |  |
| `7d922a17a7` | Open browse | web:lib/metis-shell-entry.ts:31 | — |  |
| `980a46a48b` | Open tutor | web:lib/metis-shell-entry.ts:49 | — |  |
| `8e8c086abb` | Resume guided study | web:lib/metis-shell-entry.ts:37 | — |  |
| `718d922fab` | Resume study | web:lib/metis-shell-entry.ts:40 | — |  |
| `4c24e4748f` | Run mastery checks | web:lib/metis-shell-entry.ts:55 | — |  |
| `8f7c99df4a` | Unknown Metis shell entry flow: {…} | web:lib/metis-shell-entry.ts:98 | — |  |

## page context — 6 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `0c8e584ecc` | a[href] | web:lib/assistant/page-context.ts:192 | — |  |
| `22ec31df18` | checked={…} | web:lib/assistant/page-context.ts:275 | — |  |
| `d5db5aaf38` | expanded={…} | web:lib/assistant/page-context.ts:271 | — |  |
| `e79f0c8488` | input:not([type="hidden"]) | web:lib/assistant/page-context.ts:194 | — |  |
| `f8eb0eadb4` | selected={…} | web:lib/assistant/page-context.ts:277 | — |  |
| `29a77151e1` | The page could not be read in this environment. | web:lib/assistant/page-context.ts:353 | — |  |

## panel actions — 4 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `6c79fdc272` | {…}/v1/assistant/sessions/{…}/actions/{…} | web:lib/assistant/actions.ts:55 | — |  |
| `b051deeef4` | Action decision failed ({…}) | web:lib/assistant/actions.ts:66 | — |  |
| `d094e3da66` | AssistantActionError | web:lib/assistant/actions.ts:27 | — |  |
| `e56832428e` | Bearer {…} | web:lib/assistant/actions.ts:60 | — |  |

## panel journey rail — 22 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `881bf27799` | Activity | web:components/assistant/AssistantContinuityJourneyRail.tsx:36 | — |  |
| `3bbf31ee3a` | Anywhere in Lilith | web:components/assistant/AssistantContinuityJourneyRail.tsx:44 | — |  |
| `683f218c92` | Arete | web:components/assistant/AssistantContinuityJourneyRail.tsx:48 | — |  |
| `9e91e6ba98` | Assistant | web:components/assistant/AssistantContinuityJourneyRail.tsx:39<br>web:components/assistant/AssistantContinuityJourneyRail.tsx:43 | — |  |
| `0ac0bb3a4c` | Assistant continuity | web:components/assistant/AssistantContinuityJourneyRail.tsx:211 | — |  |
| `d1c14e4a3b` | Completion signal | web:components/assistant/AssistantContinuityJourneyRail.tsx:293 | — |  |
| `32046eb3ed` | Continuity stays durable once the excerpt is saved. | web:components/assistant/AssistantContinuityJourneyRail.tsx:297 | — |  |
| `298441bc7d` | Current stage | web:components/assistant/AssistantContinuityJourneyRail.tsx:259 | — |  |
| `7348e618ea` | data-assistant-continuity-step-action-{…} | web:components/assistant/AssistantContinuityJourneyRail.tsx:78 | — |  |
| `ea2f65deb6` | Explore | web:components/assistant/AssistantContinuityJourneyRail.tsx:35 | — |  |
| `2f6de8b951` | Four steps, every time: see the page you are on, understand the question, answer it from something real, and keep what you can use afterwards. | web:components/assistant/AssistantContinuityJourneyRail.tsx:232 | — |  |
| `57cd351fa0` | Library | web:components/assistant/AssistantContinuityJourneyRail.tsx:37 | — |  |
| `4b342240a2` | Lilith picks up where you are, works out what you need, and leaves you back where you can use it. | web:components/assistant/AssistantContinuityJourneyRail.tsx:228 | — |  |
| `353b483f11` | Next | web:components/assistant/AssistantContinuityJourneyRail.tsx:295 | — |  |
| `95cb8393c7` | Nisaba | web:components/assistant/AssistantContinuityJourneyRail.tsx:49 | — |  |
| `f2da959cf8` | Nyx | web:components/assistant/AssistantContinuityJourneyRail.tsx:47 | — |  |
| `1e38de3511` | Opened from: | web:components/assistant/AssistantContinuityJourneyRail.tsx:282 | — |  |
| `81f118a024` | Profile | web:components/assistant/AssistantContinuityJourneyRail.tsx:38 | — |  |
| `cfeafa9993` | Stage promise | web:components/assistant/AssistantContinuityJourneyRail.tsx:292 | — |  |
| `88422558d8` | Started from: | web:components/assistant/AssistantContinuityJourneyRail.tsx:271 | — |  |
| `a60a266e8f` | Tara | web:components/assistant/AssistantContinuityJourneyRail.tsx:45 | — |  |
| `3ff6a20e93` | Veritas | web:components/assistant/AssistantContinuityJourneyRail.tsx:46 | — |  |

## persistent context strip — 2 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `23baef6603` | 0 14px | web:components/ShellPersistentContextStrip.tsx:67 | — |  |
| `ffa922b205` | color-mix(in srgb, {…} 14%, {…}) | web:components/ShellPersistentContextStrip.tsx:75 | — |  |

## persona handoffs — 44 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `1eb742ffdb` | {…} cannot cross the {…} shell boundary. Continuing with {…}. | lib:persona-handoffs.ts:321 | — |  |
| `5e161584ef` | {…} handoff to {…} under {…}. | lib:persona-handoffs.ts:471 | — |  |
| `982025ae41` | {…} is available in this shell. | lib:persona-handoffs.ts:328 | — |  |
| `7547ff1bbe` | {…} is not available inside the {…} shell. | lib:persona-handoffs.ts:502 | — |  |
| `afa5fa5d24` | {…} is the active {…} persona. {…} | lib:persona-handoffs.ts:348 | — |  |
| `8f949bcc7c` | Active | lib:persona-handoffs.ts:215 | — |  |
| `04228c62af` | Admin persona handoffs are session-only and never write member profile memory. | lib:persona-handoffs.ts:395 | — |  |
| `d3ab55d991` | Admin session boundary | lib:persona-handoffs.ts:394 | — |  |
| `6204878086` | Applied | lib:persona-handoffs.ts:471 | — |  |
| `e1a01d2530` | Arete Coach | lib:persona-handoffs.ts:136 | — |  |
| `0c7c90ed9d` | Available | lib:persona-handoffs.ts:217 | — |  |
| `29dd018ff8` | Available without changing the current memory boundary. | lib:persona-handoffs.ts:507 | — |  |
| `7a5c922cf6` | Coach | lib:persona-handoffs.ts:137 | — |  |
| `7a1d99a567` | Compares sources carefully and keeps uncertainty visible during research-heavy turns. | lib:persona-handoffs.ts:150 | — |  |
| `94a398e875` | Current persona for this thread. | lib:persona-handoffs.ts:313<br>lib:persona-handoffs.ts:499 | — |  |
| `80a02cf1fb` | Explainer | lib:persona-handoffs.ts:159 | — |  |
| `c9d893ce5c` | Explains provenance, citations, and why a grounded answer can or cannot carry forward. | lib:persona-handoffs.ts:161 | — |  |
| `3871c9b539` | Fallback | lib:persona-handoffs.ts:471 | — |  |
| `d61090e889` | Frames safety queues, policy evidence, and escalation paths without taking operator action. | lib:persona-handoffs.ts:172 | — |  |
| `8f9e8bc89d` | Keeps account, privacy, accessibility, and support guidance bounded to the active shell. | lib:persona-handoffs.ts:194 | — |  |
| `9a2fe5551e` | Keeps goals practical, reflective, and consent-aware while preserving the current thread. | lib:persona-handoffs.ts:139 | — |  |
| `71e459b2ba` | Memory off | lib:persona-handoffs.ts:405 | — |  |
| `2572f17e66` | Metis Teacher | lib:persona-handoffs.ts:125 | — |  |
| `16f47890eb` | Moderator | lib:persona-handoffs.ts:170 | — |  |
| `767666a03c` | Moderator Copilot | lib:persona-handoffs.ts:169 | — |  |
| `95f3dd61fd` | Persona handoffs may persist only as a visible preference with profile-memory consent. | lib:persona-handoffs.ts:418 | — |  |
| `d71d415365` | Persona handoffs stay in the visible transcript and do not persist. | lib:persona-handoffs.ts:406 | — |  |
| `3848d9bb56` | Persona handoffs stay inside this session unless the user changes memory scope. | lib:persona-handoffs.ts:428 | — |  |
| `75659cd471` | Profile memory boundary | lib:persona-handoffs.ts:416 | — |  |
| `aa0fb511a4` | Recommended | lib:persona-handoffs.ts:216 | — |  |
| `e741c41572` | Recommended for the current domain context. | lib:persona-handoffs.ts:505 | — |  |
| `5e841ce551` | Requested persona | lib:persona-handoffs.ts:321 | — |  |
| `d4a542fec2` | Restricted | lib:persona-handoffs.ts:218 | — |  |
| `82cb48bda3` | Review Copilot | lib:persona-handoffs.ts:180 | — |  |
| `4391461a41` | Reviewer | lib:persona-handoffs.ts:181 | — |  |
| `f8398ddedf` | Reviews packages, rights records, and release evidence with operator-controlled decisions. | lib:persona-handoffs.ts:183 | — |  |
| `0dcb0dee4b` | Scholar | lib:persona-handoffs.ts:148 | — |  |
| `7ebd081ab1` | Session memory boundary | lib:persona-handoffs.ts:427 | — |  |
| `6cae190f46` | Source Explainer | lib:persona-handoffs.ts:158 | — |  |
| `748f45a2a8` | Stoic Scholar | lib:persona-handoffs.ts:147 | — |  |
| `ffd694bd2c` | Structures lessons, checks comprehension, and turns open questions into teachable steps. | lib:persona-handoffs.ts:128 | — |  |
| `827f5a31a3` | Support | lib:persona-handoffs.ts:192 | — |  |
| `63e8435f8c` | Support Assistant | lib:persona-handoffs.ts:191 | — |  |
| `c62e0edfcf` | Teacher | lib:persona-handoffs.ts:126 | — |  |

## persona switcher — 36 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `845ddf830b` | {…} is guiding this conversation. | web:design-system/assistant-persona-switching.ts:322 | — |  |
| `f0c42e5df8` | Across the app | web:design-system/assistant-persona-switching.ts:91 | — |  |
| `e1a95eca12` | Anywhere | web:design-system/assistant-persona-switching.ts:66 | — |  |
| `18d5c94a9e` | Arete | web:design-system/assistant-persona-switching.ts:71 | — |  |
| `5ada27ff55` | Available without changing disclosure or memory state. | web:design-system/assistant-persona-switching.ts:276 | — |  |
| `2b84ed38bc` | Citation-first guidance for grounded answers, witness lineage, and inspectable source explanation. | web:design-system/assistant-persona-switching.ts:138 | — |  |
| `e5eaa0dc45` | Close-reading guide | web:design-system/assistant-persona-switching.ts:125 | — |  |
| `0555512033` | Contemplative guide | web:design-system/assistant-persona-switching.ts:104 | — |  |
| `9b592980d8` | Current persona for this thread. | web:design-system/assistant-persona-switching.ts:265 | — |  |
| `854f62db1f` | Embodied, breath-led reflection for grief support and gentle contemplative resets. | web:design-system/assistant-persona-switching.ts:148 | — |  |
| `8a42e4c625` | Heart Wisdom Guide | web:design-system/assistant-persona-switching.ts:157 | — |  |
| `10db7565e8` | Heart-centered guide | web:design-system/assistant-persona-switching.ts:158 | — |  |
| `748039a1b1` | Library | web:design-system/assistant-persona-switching.ts:67 | — |  |
| `305de8c4d1` | Lilith | web:design-system/assistant-persona-switching.ts:87 | — |  |
| `f1d8477c54` | Measured, evidence-forward guidance for source comparison, study, and historical context. | web:design-system/assistant-persona-switching.ts:116 | — |  |
| `17d708b44f` | Metis | web:design-system/assistant-persona-switching.ts:73 | — |  |
| `2619baff99` | Nisaba | web:design-system/assistant-persona-switching.ts:72 | — |  |
| `ca4dfbf027` | Nisaba Study Guide | web:design-system/assistant-persona-switching.ts:124 | — |  |
| `8e07fcb174` | Nyx | web:design-system/assistant-persona-switching.ts:70 | — |  |
| `d0659b650d` | Orientation across the whole app, a clear next step, and a calm hand from one room to the next. | web:design-system/assistant-persona-switching.ts:95 | — |  |
| `c00d238be5` | Poetic devotional framing for heart practice when safety and release policy allow it. | web:design-system/assistant-persona-switching.ts:160 | — |  |
| `4adf2829b3` | Practice-first guide | web:design-system/assistant-persona-switching.ts:147 | — |  |
| `3e44fbe5c6` | Preview release pending wider voice and ritual-pack rollout. | web:design-system/assistant-persona-switching.ts:153 | — |  |
| `b742b8ba53` | Primary-text study support for close reading, compare work, lexicon review, and notebook continuity. | web:design-system/assistant-persona-switching.ts:127 | — |  |
| `cd0d3d94a0` | Research scholar | web:design-system/assistant-persona-switching.ts:114 | — |  |
| `26957aa3d2` | Restricted until voice-safety and release approval clear the current policy gate. | web:design-system/assistant-persona-switching.ts:166 | — |  |
| `4da1fcfdab` | Source explainer | web:design-system/assistant-persona-switching.ts:136 | — |  |
| `844221183c` | Source Lineage Guide | web:design-system/assistant-persona-switching.ts:135 | — |  |
| `5f0a0ef35c` | Stoic Research Guide | web:design-system/assistant-persona-switching.ts:113 | — |  |
| `595ac38d4c` | Strong match for {…} context. | web:design-system/assistant-persona-switching.ts:269 | — |  |
| `29ea159f96` | Switching guides keeps this conversation and everything it remembers. Only the way you are answered changes. | web:design-system/assistant-persona-switching.ts:324 | — |  |
| `247c76ce6c` | Tara | web:design-system/assistant-persona-switching.ts:68 | — |  |
| `70f984caf3` | Tara Guide | web:design-system/assistant-persona-switching.ts:103 | — |  |
| `abce208b7c` | Veritas | web:design-system/assistant-persona-switching.ts:69 | — |  |
| `29c6e63bbb` | Warm contemplative support for meditation, grounding, and practice continuity. | web:design-system/assistant-persona-switching.ts:105 | — |  |
| `b79126fb43` | Zen River Guide | web:design-system/assistant-persona-switching.ts:146 | — |  |

## platform shell — 10 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `2dbfa85d55` | Admin cockpit copilot | lib:platform-shell.ts:138 | — |  |
| `5127b7c16b` | Customer shell assistant | lib:platform-shell.ts:77 | — |  |
| `4a7cc25b8e` | Help members navigate domains, start practices, discover content, and resolve cross-domain questions. | lib:platform-shell.ts:81 | — |  |
| `7718f6ff98` | Help operators triage queues, draft decisions, summarize evidence, surface handoffs, and escalate with rationale. | lib:platform-shell.ts:142 | — |  |
| `e3c2d8d150` | Intended users: {…} | lib:platform-shell.ts:276 | — |  |
| `a01b2adf05` | Members, seekers, students, and everyday practice users. | lib:platform-shell.ts:79 | — |  |
| `207353c5a6` | Operators, reviewers, support, governance, safety, and reliability teams. | lib:platform-shell.ts:140 | — |  |
| `0684da3022` | Primary job: {…} | lib:platform-shell.ts:277 | — |  |
| `71210f3c9d` | You are running inside the admin shell. The user is an operator working a cockpit — review queues, moderation, incidents, rights, support, privacy, personas, models, editorial, research integrity, policy, analytics. Speak as a precise copilot. Summarize evidence faithfully. Never take a decision on the operator's behalf — you may draft rationale, stage-transition rationale, and escalation notes, but the operator owns the final action. Member-facing navigation (start meditation, log observation, get recommendations) is forbidden here. | lib:platform-shell.ts:144 | — |  |
| `abd90b32ee` | You are running inside the customer shell. The member is inside Lilith — your house — using it as an experience product: meditation, research, stargazing, growth, scholarly reading, and learning. Speak as Lilith, the host: warm, attentive, first-person, bringing in Tara, Veritas, Nyx, Arete, Nisaba, or Metis as the supporting cast when their room fits the moment. Suggest actions and navigation that support practice, discovery, and continuity. Never expose operator-cockpit language, review queues, or moderation controls — those belong to the admin shell. | lib:platform-shell.ts:83 | — |  |

## proactive chip — 4 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `48e6adca07` | Ask Lilith | web:components/assistant/ProactiveHelpChip.tsx:274 | — |  |
| `6d3febf287` | Don’t let Lilith check in like this again | web:components/assistant/ProactiveHelpChip.tsx:306 | — |  |
| `e0682847e0` | Lilith noticed | web:components/assistant/ProactiveHelpChip.tsx:256 | — |  |
| `08229112b8` | Not now | web:components/assistant/ProactiveHelpChip.tsx:289 | — |  |

## proactive triggers — 8 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `44c4fd45da` | I clicked repeatedly{…} and it did not seem to respond. Help me figure out what this control does or why it is not working. | web:lib/assistant/proactive-triggers.ts:144 | — |  |
| `36414bfde2` | I keep going back and forth between {…} and {…} without finding what I need. Help me get to the right place. | web:lib/assistant/proactive-triggers.ts:167 | — |  |
| `962e225c19` | I noticed an error message has been sitting on your screen for a while. | web:lib/assistant/proactive-triggers.ts:198 | — |  |
| `03bab4f730` | I noticed repeated rapid clicks{…} — it looks like something is not responding. | web:lib/assistant/proactive-triggers.ts:143 | — |  |
| `9765de5a91` | I noticed you bouncing between {…} and {…} — the place you want may be hard to find. | web:lib/assistant/proactive-triggers.ts:166 | — |  |
| `278c1f2490` | on “{…}” | web:lib/assistant/proactive-triggers.ts:139 | — |  |
| `d5562abfc0` | on {…} | web:lib/assistant/proactive-triggers.ts:144 | — |  |
| `4f70f5b472` | There is an error message on my screen and I am not sure what to do about it. Explain what happened and how to move past it. | web:lib/assistant/proactive-triggers.ts:199 | — |  |

## psyche bridge — 7 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `b2847965c3` | PsycheSessionBridge (shellMode="{…}") refuses identity with platformShell="{…}". | lib:psyche-session-bridge.ts:533 | — |  |
| `92183e432e` | PsycheSessionBridge (shellMode="{…}") refuses platformShell="{…}". | lib:psyche-session-bridge.ts:524 | — |  |
| `48304b6c3a` | PsycheSessionBridge requires a resolveEmbodiment callback. | lib:psyche-session-bridge.ts:194 | — |  |
| `b621e92562` | PsycheSessionBridge requires a resolveIdentity callback. | lib:psyche-session-bridge.ts:191 | — |  |
| `6dd9bc6460` | PsycheSessionBridge: admin shell may not open a synthetic-avatar envelope. | lib:psyche-session-bridge.ts:251 | — |  |
| `a87c35d859` | PsycheSessionBridge: session "{…}" already open. | lib:psyche-session-bridge.ts:244 | — |  |
| `d04edecf42` | PsycheSessionBridge: session "{…}" is not open. Call openSession first. | lib:psyche-session-bridge.ts:513 | — |  |

## reply rendering — 11 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `92d160e979` | (\*\*\|__)(?=\S)([\s\S]*?\S)\5 | lib:markdown.tsx:99 | — |  |
| `151e91f944` | (\*\|_)(?=\S)([^*_]*?\S)\7 | lib:markdown.tsx:100 | — |  |
| `83045010d9` | (https?://[^\s<>()\[\]]+) | lib:markdown.tsx:101 | — |  |
| `6e41467728` | {…}-h{…} | lib:markdown.tsx:380 | — |  |
| `553f863ea7` | {…}-i{…} | lib:markdown.tsx:121 | — |  |
| `06f25e6bd9` | {…}-l{…} | lib:markdown.tsx:179 | — |  |
| `11967c643b` | {…}-li{…} | lib:markdown.tsx:294 | — |  |
| `6d029069ea` | {…}-li{…}-c{…} | lib:markdown.tsx:296 | — |  |
| `a5054f169a` | {…}-r{…}c{…} | lib:markdown.tsx:393 | — |  |
| `9f82485e85` | \[([^\]]+)\]\(([^)\s]+)\) | lib:markdown.tsx:98 | — |  |
| `b764b79c46` | b{…} | lib:markdown.tsx:415 | — |  |

## root launcher — 1 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `bceb1533f9` | Open Lilith | web:components/assistant/AssistantHost.tsx:115 | — |  |

## safe fallbacks — 45 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `3d3fc7750c` | {…} transcript turns | lib:safe-fallbacks.ts:91 | — |  |
| `882bfd6547` | 1 transcript turn | lib:safe-fallbacks.ts:90 | — |  |
| `7f9de58eec` | Assistant service is reachable. | lib:safe-fallbacks.ts:285 | — |  |
| `b20cf3f8d3` | Assistant service is unavailable. | lib:safe-fallbacks.ts:275 | — |  |
| `34592b3e3b` | Avatar | lib:safe-fallbacks.ts:236<br>lib:safe-fallbacks.ts:248<br>lib:safe-fallbacks.ts:257 | — |  |
| `823acbebe8` | Avatar entitlement is unavailable. | lib:safe-fallbacks.ts:240 | — |  |
| `80f6104558` | Avatar entry points stay gated while text and voice continuity remain. | lib:safe-fallbacks.ts:252 | — |  |
| `d374871bde` | Avatar renderer is available. | lib:safe-fallbacks.ts:260 | — |  |
| `88c37909ea` | Avatar renderer is unavailable in this shell. | lib:safe-fallbacks.ts:251 | — |  |
| `4d2b23b405` | Avatar renderer is unavailable. | lib:safe-fallbacks.ts:241 | — |  |
| `bff9fdc641` | Downstream | lib:safe-fallbacks.ts:272<br>lib:safe-fallbacks.ts:282 | — |  |
| `f159274ea9` | Grounding | lib:safe-fallbacks.ts:114<br>lib:safe-fallbacks.ts:125 | — |  |
| `e78d4c3ddb` | Grounding is available for this transcript. | lib:safe-fallbacks.ts:131 | — |  |
| `2e33fdcb48` | Grounding is blocked. | lib:safe-fallbacks.ts:117 | — |  |
| `a1c5af3785` | Grounding is required before authoritative claims. | lib:safe-fallbacks.ts:130 | — |  |
| `71c5002e97` | Interruption controls are unavailable. | lib:safe-fallbacks.ts:214 | — |  |
| `de53f27f19` | Memory | lib:safe-fallbacks.ts:147<br>lib:safe-fallbacks.ts:157<br>lib:safe-fallbacks.ts:166 | — |  |
| `ff0d73426b` | Memory boundary is available. | lib:safe-fallbacks.ts:170 | — |  |
| `327c599ae6` | Memory is intentionally off. | lib:safe-fallbacks.ts:170 | — |  |
| `b76c532453` | No avatar fallback is active. | lib:safe-fallbacks.ts:261 | — |  |
| `00f2d65ed0` | No downstream fallback is active. | lib:safe-fallbacks.ts:286 | — |  |
| `7ae747dff6` | No grounding fallback is active. | lib:safe-fallbacks.ts:135 | — |  |
| `ff92698b7a` | No memory fallback is active. | lib:safe-fallbacks.ts:171 | — |  |
| `bbdf7d0b43` | No persona fallback is active. | lib:safe-fallbacks.ts:198 | — |  |
| `dcc6284f34` | No real-time fallback is active. | lib:safe-fallbacks.ts:224 | — |  |
| `65bb3ccef0` | Persona | lib:safe-fallbacks.ts:182<br>lib:safe-fallbacks.ts:194 | — |  |
| `5c07c99f80` | Persona handoff controls are available. | lib:safe-fallbacks.ts:197 | — |  |
| `27fb3bfd7b` | Persona switching is unavailable. | lib:safe-fallbacks.ts:187 | — |  |
| `15d547fd52` | Profile memory is selected without consent. | lib:safe-fallbacks.ts:160 | — |  |
| `496aacd38d` | Real-time | lib:safe-fallbacks.ts:209<br>lib:safe-fallbacks.ts:220 | — |  |
| `4bc4f2f59e` | Replies continue as complete turns and the transcript remains readable. | lib:safe-fallbacks.ts:215 | — |  |
| `206a75029e` | Required grounding is unavailable. | lib:safe-fallbacks.ts:117 | — |  |
| `3cf76e7912` | Streaming and interruption controls are available. | lib:safe-fallbacks.ts:223 | — |  |
| `ab36ead34b` | Streaming transport is unavailable. | lib:safe-fallbacks.ts:213 | — |  |
| `f3dfb48800` | The assistant downgrades to session memory and discloses the boundary. | lib:safe-fallbacks.ts:161 | — |  |
| `fca637764a` | The assistant keeps context in the visible transcript only. | lib:safe-fallbacks.ts:151 | — |  |
| `5d89489ca8` | The assistant keeps the transcript and falls back to the nearest allowed persona. | lib:safe-fallbacks.ts:189 | — |  |
| `bc04bc680b` | The assistant keeps the transcript live but treats the next answer as conversational until evidence returns. | lib:safe-fallbacks.ts:119 | — |  |
| `6db5149fc5` | The assistant preserves the transcript and falls back to text or voice. | lib:safe-fallbacks.ts:242 | — |  |
| `c19864e0bb` | The durable memory subsystem is unavailable. | lib:safe-fallbacks.ts:150 | — |  |
| `e346ee315b` | The requested persona crossed a shell or policy boundary. | lib:safe-fallbacks.ts:186 | — |  |
| `a5970a0c5c` | The shell uses the local response path and keeps all transcript turns in order. | lib:safe-fallbacks.ts:277 | — |  |
| `592c8e6d0c` | The UI keeps the requirement visible and preserves the current turn history. | lib:safe-fallbacks.ts:134 | — |  |
| `1983f04b35` | Transcript continuity preserved across {…}; all required systems are available. | lib:safe-fallbacks.ts:99 | — |  |
| `41de3de864` | Transcript continuity preserved across {…}; degraded systems are disclosed in-line. | lib:safe-fallbacks.ts:98 | — |  |

## selection ask — 3 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `c313a9a955` | ✦ Ask Lilith | web:components/assistant/SelectionAsk.tsx:56 | — |  |
| `3c30ed98f5` | Ask the assistant about the selected text | web:components/assistant/SelectionAsk.tsx:213 | — |  |
| `34942bfce9` | Explain this from the page I'm on: "{…}" | web:components/assistant/SelectionAsk.tsx:222 | — |  |

## tool notes — 29 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `8b4b328d17` | {…} and {…} | web:components/assistant/assistant-tool-notes.ts:126 | — |  |
| `b83b76f87f` | Checked {…} | web:components/assistant/assistant-tool-notes.ts:128 | — |  |
| `4d8cab1730` | Checked {…} things in your account | web:components/assistant/assistant-tool-notes.ts:120 | — |  |
| `40fbe3bfbc` | Checked {…}, and {…} more | web:components/assistant/assistant-tool-notes.ts:128 | — |  |
| `97b52c41c8` | Checked one thing in your account | web:components/assistant/assistant-tool-notes.ts:119 | — |  |
| `ec3ea35dce` | courses that suit you | web:components/assistant/assistant-tool-notes.ts:48 | — |  |
| `35043a4fe3` | the claims behind those stories | web:components/assistant/assistant-tool-notes.ts:33 | — |  |
| `e0160ffbe7` | the course catalogue | web:components/assistant/assistant-tool-notes.ts:50 | — |  |
| `8608ea8ead` | the course you were taking | web:components/assistant/assistant-tool-notes.ts:49 | — |  |
| `a54cb6e97c` | the help guides | web:components/assistant/assistant-tool-notes.ts:52 | — |  |
| `5d65b48318` | the page you are on | web:components/assistant/assistant-tool-notes.ts:53 | — |  |
| `2ff66cf0ab` | the piece you had open | web:components/assistant/assistant-tool-notes.ts:34 | — |  |
| `932c9cad31` | the practice you left unfinished | web:components/assistant/assistant-tool-notes.ts:27 | — |  |
| `af00b128c4` | the sky catalogue | web:components/assistant/assistant-tool-notes.ts:38 | — |  |
| `05634262ed` | the topics moving in Veritas | web:components/assistant/assistant-tool-notes.ts:32 | — |  |
| `930c98b3bc` | the tours available here | web:components/assistant/assistant-tool-notes.ts:54 | — |  |
| `2bafe69536` | the tours you sent in | web:components/assistant/assistant-tool-notes.ts:55 | — |  |
| `234efe58c5` | today’s passage | web:components/assistant/assistant-tool-notes.ts:44 | — |  |
| `db0503d977` | tonight’s sky | web:components/assistant/assistant-tool-notes.ts:37 | — |  |
| `3367db44de` | what is being read in Veritas | web:components/assistant/assistant-tool-notes.ts:31 | — |  |
| `e6e1ee85b4` | your goals | web:components/assistant/assistant-tool-notes.ts:41 | — |  |
| `dfc32b26a0` | your library | web:components/assistant/assistant-tool-notes.ts:46 | — |  |
| `481b6158b3` | your notebooks | web:components/assistant/assistant-tool-notes.ts:45 | — |  |
| `3bf6f5fb96` | your observation log | web:components/assistant/assistant-tool-notes.ts:39 | — |  |
| `e3114fbf31` | your plan | web:components/assistant/assistant-tool-notes.ts:42 | — |  |
| `8f9b432887` | your practice progress | web:components/assistant/assistant-tool-notes.ts:28 | — |  |
| `390a08b6ef` | your recommended practices | web:components/assistant/assistant-tool-notes.ts:26 | — |  |
| `682a52dca1` | your saved practices | web:components/assistant/assistant-tool-notes.ts:29 | — |  |
| `638fd99a4f` | your saved reading | web:components/assistant/assistant-tool-notes.ts:35 | — |  |

## tour dialog — 9 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `10a9997eea` | Back | web:components/assistant/TourPlayer.tsx:550 | — |  |
| `db32798b0f` | End tour | web:components/assistant/TourPlayer.tsx:541 | — |  |
| `1c16897da5` | Finding this step on the page… | web:components/assistant/TourPlayer.tsx:530 | — |  |
| `ddd43b3fc3` | Finish | web:components/assistant/TourPlayer.tsx:558 | — |  |
| `eb96e34c75` | I couldn't find this one on the page you're on, so I've skipped it. You can carry on, or ask me to adjust the tour. | web:components/assistant/TourPlayer.tsx:525 | — |  |
| `3e65ce14ed` | Next | web:components/assistant/TourPlayer.tsx:558 | — |  |
| `685abe8bf0` | of | web:components/assistant/TourPlayer.tsx:516 | — |  |
| `d2dd1686af` | Step | web:components/assistant/TourPlayer.tsx:516 | — |  |
| `043830c232` | Tour: {…} | web:components/assistant/TourPlayer.tsx:483 | — |  |

## tour narration — 30 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `e2632199b7` | And this button brings me back whenever you need help — I can answer questions, fetch your data, or run another tour. | lib:tour-plans.ts:151 | — |  |
| `5cef49ae6f` | Ask me things like "continue my meditation" or "what is on my plan today" — I read your real data to answer. | lib:tour-plans.ts:175 | — |  |
| `ff0879f979` | Build with the assistant | lib:tour-plans.ts:201 | — |  |
| `016a22682a` | For builders: capture issues, tasks, and decisions in conversation while walking the product — the workbench keeps them for a coding agent. | lib:tour-plans.ts:203 | — |  |
| `5287b4bc42` | How to work with the assistant | lib:tour-plans.ts:181 | — |  |
| `0f413e6cdf` | Let Lilith show you the house | lib:tour-plans.ts:125 | — |  |
| `3a69460ddd` | Open me from this button on any page — or with Alt+A. | lib:tour-plans.ts:188 | — |  |
| `3d251d2c05` | Open the assistant anywhere. As a builder you carry extra tools: everything you notice can become a tracked work item. | lib:tour-plans.ts:213 | — |  |
| `ff83a0d276` | plan must be an object with "title" and "steps" | lib:tour-plans.ts:52 | — |  |
| `cb661b515b` | plan.steps must be a non-empty array | lib:tour-plans.ts:64 | — |  |
| `79c35ea205` | plan.steps must have at most {…} steps | lib:tour-plans.ts:66 | — |  |
| `fa77b112c9` | plan.title is required | lib:tour-plans.ts:57 | — |  |
| `c22199e7a1` | plan.title must be at most {…} characters | lib:tour-plans.ts:59 | — |  |
| `e82076b96c` | Say "log an issue about…" while walking any page — I draft it, link it to the product graph, and you confirm before anything is written. | lib:tour-plans.ts:218 | — |  |
| `663e376b86` | steps[{…}] must be an object | lib:tour-plans.ts:72 | — |  |
| `bb7dafede8` | steps[{…}].anchorId "{…}" is not in the anchor registry — only registered anchors may appear in tours | lib:tour-plans.ts:80 | — |  |
| `4fb04bd51e` | steps[{…}].anchorId is required | lib:tour-plans.ts:77 | — |  |
| `61d5b77866` | steps[{…}].narration is required | lib:tour-plans.ts:85 | — |  |
| `b2ff57bb64` | steps[{…}].narration must be at most {…} characters | lib:tour-plans.ts:88 | — |  |
| `57c6e673a1` | steps[{…}].route must be an in-app path starting with "/" | lib:tour-plans.ts:95 | — |  |
| `08bc3eee87` | The journey rail adapts to your time of day — morning practices, midday resets, and evening wind-downs start here. | lib:tour-plans.ts:165 | — |  |
| `d787782fe5` | The main tabs, moving between rooms, and the fastest ways to get around. | lib:tour-plans.ts:126 | — |  |
| `540f9df090` | These tabs are your main destinations — Home, Explore, Activity, Library, and Profile. Press Cmd+K (or Ctrl+K) any time for search and quick navigation. | lib:tour-plans.ts:139 | — |  |
| `bb18e63ee0` | This switcher moves you between my rooms — a sit with Tara, the sky with Nyx, your goals with Arete, your reading with Nisaba. | lib:tour-plans.ts:146 | — |  |
| `b54156fdd6` | Type here in your own words. I can recommend a meditation, read you the sky tonight, pick up a goal or a passage, save things for later, and take you places. | lib:tour-plans.ts:195 | — |  |
| `30ec24cb08` | Walk the product with audit mode from any tab; captured items land in the workbench queue where a coding agent leases them, and closure is proven by the knowledge graph itself. | lib:tour-plans.ts:223 | — |  |
| `dd56250346` | Where the day-part journey rail lives and how to continue where you left off. | lib:tour-plans.ts:158 | — |  |
| `e91d0772bb` | Where to find the assistant and what it can do for you. | lib:tour-plans.ts:182 | — |  |
| `220304beff` | Your Activity tab keeps every session and streak; Library holds everything you have saved. | lib:tour-plans.ts:170 | — |  |
| `ce2ec4dbff` | Your daily flow on Home | lib:tour-plans.ts:157 | — |  |

## tour spotlight — 2 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `befd159075` | Assistant is pointing at an element on this page. | web:components/assistant/AnchorSpotlight.tsx:200 | — |  |
| `f945a5be46` | Assistant is pointing at: {…} | web:components/assistant/AnchorSpotlight.tsx:199 | — |  |

## training feedback — 7 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `5c960e4816` | {…} must be between 0 and 1 | lib:training-feedback.ts:32 | — |  |
| `2af1007c78` | action executionTimeMs must be non-negative | lib:training-feedback.ts:61 | — |  |
| `49cdff54b6` | intent confidence | lib:training-feedback.ts:50 | — |  |
| `497f3ff9cf` | interaction identifiers must be non-empty | lib:training-feedback.ts:49 | — |  |
| `5cb47218cb` | occurredAt must be a timestamp | lib:training-feedback.ts:58 | — |  |
| `6c8fd229a1` | oshun:assistant:{…} | lib:training-feedback.ts:71 | — |  |
| `07dab796bc` | response confidence | lib:training-feedback.ts:54 | — |  |

## turn stream — 15 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `c83a4beedb` | {…}/v1/assistant/sessions/{…}/turns | web:lib/assistant/turn-stream.ts:150 | — |  |
| `93699a30c7` | {…}/v1/assistant/sessions/{…}/turns/{…}/client-tool-results | web:lib/assistant/turn-stream.ts:113 | — |  |
| `90f0006cf8` | Assistant turn aborted | web:lib/assistant/turn-stream.ts:133 | — |  |
| `54c43cfdf3` | Assistant turn completed with a malformed payload | web:lib/assistant/turn-stream.ts:318 | — |  |
| `c1b5110e6d` | Assistant turn endpoint did not stream | web:lib/assistant/turn-stream.ts:186 | — |  |
| `407c95e06d` | Assistant turn failed | web:lib/assistant/turn-stream.ts:324 | — |  |
| `5f8308440a` | Assistant turn request failed ({…}) | web:lib/assistant/turn-stream.ts:176 | — |  |
| `574e0f9566` | Assistant turn stream ended without completing | web:lib/assistant/turn-stream.ts:352 | — |  |
| `78f20c79d2` | Assistant turn stream failed | web:lib/assistant/turn-stream.ts:368 | — |  |
| `7bc4dd2e91` | Assistant turn stream stalled | web:lib/assistant/turn-stream.ts:360 | — |  |
| `a8eef36d20` | AssistantTurnStreamError | web:lib/assistant/turn-stream.ts:69 | — |  |
| `391ccd6a17` | Bearer {…} | web:lib/assistant/turn-stream.ts:102 | — |  |
| `da58fb82ea` | Client tool "{…}" failed: {…} | web:lib/assistant/turn-stream.ts:223 | — |  |
| `5b859c3f9d` | http_{…} | web:lib/assistant/turn-stream.ts:158 | — |  |
| `5642062b60` | This client cannot execute the "{…}" tool. | web:lib/assistant/turn-stream.ts:215 | — |  |

## voice — 13 strings (0 judged)

| id | string | where | verdict | note |
| --- | --- | --- | --- | --- |
| `ca9b56134d` | {…}/v1/assistant/sessions/{…}/audio?language={…} | web:lib/assistant/voice.ts:455 | — |  |
| `0e34485aae` | {…}/v1/assistant/sessions/{…}/tts | web:lib/assistant/voice.ts:488 | — |  |
| `1b754edef1` | AssistantVoiceError | web:lib/assistant/voice.ts:20 | — |  |
| `22350b34b0` | Audio recording failed | web:lib/assistant/voice.ts:149 | — |  |
| `b89d2385e7` | Audio recording is not supported in this browser | web:lib/assistant/voice.ts:101 | — |  |
| `22b189074c` | audio/ogg;codecs=opus | web:lib/assistant/voice.ts:30 | — |  |
| `ea2a79ed85` | audio/webm;codecs=opus | web:lib/assistant/voice.ts:27 | — |  |
| `5cc243acf0` | Bearer {…} | web:lib/assistant/voice.ts:242 | — |  |
| `3d2427058f` | en-US | web:lib/assistant/voice.ts:451 | — |  |
| `19be7f0a43` | http_{…} | web:lib/assistant/voice.ts:464<br>web:lib/assistant/voice.ts:497 | — |  |
| `549e9db17f` | No audio was captured | web:lib/assistant/voice.ts:136 | — |  |
| `9f6de03456` | Speech synthesis failed ({…}) | web:lib/assistant/voice.ts:507 | — |  |
| `6c51be6aa2` | Transcription failed ({…}) | web:lib/assistant/voice.ts:474 | — |  |
