Session: you-are-a-senior-functional-ullman-subagent-ad03e803 — 2026-04-22

doctolib-doctolib · Claude · branch .invalid · claude-sonnet-4-6 · 2026-04-22 09:13 · 1 msgs · 27 tools · 15 min read · updated 2 weeks ago

Review the implementation plan at `/Users/USER/Library/CloudStorage/<REDACTED>

tools: Read, Bash
← doctolib-doctolib Download .md .txt .json
Tool calls
Bash Bash: 15 calls (55.6%) 15 Read Read: 12 calls (44.4%) 12
Token usage618.2K total
Input36
Cache creation76.8K
Cache read537.6K
Output3.8K
Cache hit ratio87%· healthy

Project: doctolib-doctolib · Branch: .invalid · Mode: ` · **Model:**claude-sonnet-4-6`

Stats: 1 user messages, 27 tool calls, tools used: Read, Bash.

Conversation

Turn 1 — User

Review the implementation plan at /Users/USER/Library/CloudStorage/<REDACTED>/My Drive/ai-artifacts/nhr-document-list/error-handling/implementation-plan.md for frontend architecture compliance.

Codebase context: - This plan adds error handling to NhrDocumentListModal.tsx in treatment-plan/packages/tpf-national-health-records-ui/ (an UpFront "smaller-scope" package) - The toast pattern used (GLOBAL_PUBSUB_REGISTRY.dispatch({ type: 'toasts:add', payload }) from @doctolib/upfront-core) is already established in treatment-plan/packages/tpf-nhr-fr/src/components/dmp-consultation-consent-view/toast.ts - The @doctolib/upfront-core package is already listed as a direct dependency in tpf-national-health-records-ui/package.json - The component is rendered inside the monolith's React tree which has the toast subscriber active

Key files for reference: - treatment-plan/packages/tpf-national-health-records-ui/src/components/NhrDocumentListModal/NhrDocumentListModal.tsx — the component being modified - treatment-plan/packages/tpf-nhr-fr/src/components/dmp-consultation-consent-view/toast.ts — the toast pattern being followed - treatment-plan/packages/tpf-national-health-records-ui/src/i18n.ts — how t() is imported in this package

What to review: 1. Is the proposed src/business/toast.ts location correct for an UpFront smaller-scope package? Should it be in business/ or elsewhere? 2. Is the import path ../../business/toast correct for use in NhrDocumentListModal.tsx? 3. Is there a naming conflict or pattern issue with creating a toast.ts in business/? 4. Is the t() import pattern shown in the plan correct for this package? (The plan shows import { t } from '#i18n' — verify this is accurate for tpf-national-health-records-ui) 5. Does the error handling pattern in the useEffect hook violate any UpFront separation of concerns rules? 6. Is there anything architecturally wrong with the GLOBAL_PUBSUB_REGISTRY approach in a smaller-scope package? 7. Are there any concerns about the Phase 1 scope (only handling thrown errors, not BusinessError from DmpApi.find())?

Output: Provide specific, actionable feedback as a numbered list. For each issue: state the problem clearly and what the correct approach should be. If the plan is architecturally sound in an area, say so briefly. Do NOT rewrite the whole document — provide review notes only.

Turn 1 — Assistant

I'll read the implementation plan and all referenced files before providing my review.

Tools used:

  • Read: /Users/USER/Library/CloudStorage/<REDACTED>/My Drive/ai-artifacts/nhr-document-list/error-handling/implementation-plan.md

Tool results:

→ result (ok): 1 # Error Handling Implementation Plan: NHR Document List – DMP API Errors 2
3 ## Context 4
5 The NhrDocumentListModal (package @doctolib/tpf-national-health-records-ui, repo treatment-plan) renders DMP documents for a patient in the desktop patient file. It receives a searchDocuments function injected by the monolith via useNhrDocumentListVariantuseDmpDocumentListVariantuseSearchDocuments. 6
7 When the DMP API fails—due to session expiry, access threshold exceeded, or net …(truncated, 11760 more chars)

Tools used:

  • Read: /Users/USER/workspace/doctolib/worktrees/treatment-plan/FHIR-2011-tpf-add-nhr-adapter/packages/tpf-national-health-records-ui/src/components/NhrDocumentListModal/NhrDocumentListModal.tsx

Tool results:

→ result (ERROR): File does not exist. Note: your current working directory is /Users/USER/workspace/doctolib/doctolib.

Tools used:

  • Read: /Users/USER/workspace/doctolib/worktrees/treatment-plan/FHIR-2011-tpf-add-nhr-adapter/packages/tpf-national-health-records-ui/src/components/NhrDocumentListModal/NhrDocumentListModal.tsx

Tool results:

→ result (ERROR): File does not exist. Note: your current working directory is /Users/USER/workspace/doctolib/doctolib.

Tools used:

  • Read: /Users/USER/workspace/doctolib/worktrees/treatment-plan/FHIR-2011-tpf-add-nhr-adapter/packages/tpf-nhr-fr/src/components/dmp-consultation-consent-view/toast.ts

Tool results:

→ result (ERROR): File does not exist. Note: your current working directory is /Users/USER/workspace/doctolib/doctolib.

Tools used:

  • Read: /Users/USER/workspace/doctolib/worktrees/treatment-plan/FHIR-2011-tpf-add-nhr-adapter/packages/tpf-national-health-records-ui/src/i18n.ts

Tool results:

→ result (ERROR): File does not exist. Note: your current working directory is /Users/USER/workspace/doctolib/doctolib.

Let me find the correct path for the treatment-plan repo.

Tools used:

  • Bash: ls /Users/USER/workspace/doctolib/ && ls /Users/USER/workspace/doctolib/worktrees/ 2>/dev/null || echo "no worktrees dir"

Tool results:

→ result (ok): actions billeo-engine c3-rest-api-guidelines docto-crypt doctoboot doctolib doctolib-pro-desktop github-workspaces kube misc oxygen prompts software-design-training terraform-aws-secrets terraform-infra test-failures ti-client treatment-plan unified-healthcare-data-platform-infra upfront waiting-room worktrees cleanup-merged-worktrees.sh doctolib treatment-plan

Tools used:

  • Bash: ls /Users/USER/workspace/doctolib/worktrees/treatment-plan/

Tool results:

→ result (ok): fhir-2079 fhir-2081 fhir-2083 FHIR-2091-nhr-document-list-pagination fhir-2168_add-result-count-to-nhr-header fhir-2171

Tools used:

  • Bash: ls /Users/USER/workspace/doctolib/treatment-plan/packages/ | grep -i nhr

Tool results:

→ result (ok): tpf-nhr-fr

Tools used:

  • Bash: ls /Users/USER/workspace/doctolib/treatment-plan/packages/

Tool results:

→ result (ok): AGENTS.md eslint-plugin-tpf-rules hand-letters README.md tpf-cda tpf-commons tpf-consent tpf-diga-fulfillments tpf-document-filler-ui tpf-document-print tpf-document-renewal tpf-document-templates tpf-french-auth-service tpf-french-teleservices tpf-hand-letters tpf-healthcare-products tpf-ldt-lab-integration tpf-medical-device-forms tpf-medication-database-sdk tpf-module-federation-demo tpf-muster-barcode-generator tpf-muster-forms tpf-muster-fulfillments tpf-national-health-records tpf-national …(truncated, 274 more chars)

Tools used:

  • Bash: find /Users/USER/workspace/doctolib/treatment-plan /Users/USER/workspace/doctolib/worktrees/treatment-plan -type d -name "tpf-national-health-records-ui" 2>/dev/null

Tool results:

→ result (ok): /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui /Users/USER/workspace/doctolib/treatment-plan/build/packages/tpf-national-health-records-ui /Users/USER/workspace/doctolib/worktrees/treatment-plan/fhir-2081/packages/tpf-national-health-records-ui /Users/USER/workspace/doctolib/worktrees/treatment-plan/FHIR-2091-nhr-document-list-pagination/packages/tpf-national-health-records-ui /Users/USER/workspace/doctolib/worktrees/treatment-plan/fhir-2079/packages/tpf-na …(truncated, 2339 more chars)

Tools used:

  • Read: /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/src/components/NhrDocumentListModal/NhrDocumentListModal.tsx

Tool results:

→ result (ok): 1 import { Modal } from '@doctolib/design-system/Modal' 2 import { ModalBody } from '@doctolib/design-system/ModalBody' 3 import type { NhrDocument } from '@doctolib/tpf-national-health-records' 4 import { useEffect, useMemo, useState } from 'react' 5
6 import type { ActionConfig, ColumnConfig, FilterConfig, NhrPatientInfo, SearchDocumentsFn } from '../../types' 7 import { NhrDocumentList } from '../NhrDocumentList/NhrDocumentList' 8
9 export type NhrDocumentListModalProps = { 10 isOpen: boo …(truncated, 2243 more chars)

Tools used:

  • Read: /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-nhr-fr/src/components/dmp-consultation-consent-view/toast.ts

Tool results:

→ result (ok): 1 /* 2 * Toast utility for the DMP consultation consent View. 3 * 4 * Dispatches toast notifications via the global pub/sub registry. 5 * The monolith listens for 'toasts:add' events and renders the UI. 6 / 7 import { GLOBAL_PUBSUB_REGISTRY } from '@doctolib/upfront-core' 8
9 type ToastProps = { 10 message: React.ReactNode 11 title: string 12 uiStyle: 'info' | 'success' | 'error' | 'warning' 13 action?: { message: string; onClick: () => void } 14 } 15
16 export function addToast …(truncated, 106 more chars)

Tools used:

  • Read: /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/src/i18n.ts

Tool results:

→ result (ok): 1 import { i18n } from '@doctolib/tpf-commons/i18n' 2
3 import { loadNamespace } from './locales/loadNamespace' 4
5 i18n.registerNamespace('tpf_national_health_records_ui', loadNamespace) 6
7 export const t = i18n.t 8 export const changeLanguage = i18n.changeLanguage 9 // To be used only for storybook 10 export const getInstance = i18n.getInstance 11

Tools used:

  • Bash: ls /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/src/

Tool results:

→ result (ok): tests business components dev entry.ts i18n.test.ts i18n.ts index.ts locales test-helpers types.ts utils

Tools used:

  • Read: /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/package.json

Tool results:

→ result (ok): 1 { 2 "name": "@doctolib/tpf-national-health-records-ui", 3 "version": "14.1.0", 4 "repository": { 5 "type": "git", 6 "url": "git+https://github.com/doctolib/treatment-plan.git" 7 }, 8 "keywords": [ 9 "upfront", 10 "modular frontend", 11 "smaller-scope" 12 ], 13 "author": "@doctolib/fire", 14 "license": "Doctolib", 15 "doctolib": { 16 "upfront-type": "smaller-scope" 17 }, 18 "type": "module", 19 "sideEffects": [ 20 "./src/i18n.ts" 21 ], 22
…(truncated, 3864 more chars)

Tools used:

  • Bash: ls /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/src/business/

Tool results:

→ result (ok): factories formatters

Tools used:

  • Bash: ls /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/src/components/NhrDocumentListModal/

Tool results:

→ result (ok): NhrDocumentListHeader NhrDocumentListModal.stories.tsx NhrDocumentListModal.test.tsx NhrDocumentListModal.tsx NhrDocumentListTable

Tools used:

  • Bash: ls /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/src/business/factories/ && ls /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-hea …(truncated, 39 more chars)

Tool results:

→ result (ok): actions columns filters patientFormatter.test.ts patientFormatter.ts

Tools used:

  • Read: /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/src/components/NhrDocumentListModal/NhrDocumentListModal.test.tsx

Tool results:

→ result (ok): 1 import type { DesignSystemIconComponent } from '@doctolib/design-system-icons' 2 import { setup } from '@doctolib/test-helpers' 3 import { screen } from '@testing-library/react' 4 import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest' 5
6 import { mockColumns, mockPatientInfo } from '../../test-helpers' 7 import { nhrDocumentFixtureBuilder } from '../../test-helpers/fixtures/nhrDocumentFixtureBuilder' 8 import type { ActionConfig, FilterConfig } from '../../types' 9 import { …(truncated, 6926 more chars)

Tools used:

  • Bash: grep -r "business" /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/src/components/ --include="*.ts" --include="*.tsx" -l 2>/dev/null

Tool results:

→ result (ok): /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/src/components/NhrDocumentList/NhrDocumentList.stories.tsx /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/src/components/NhrDocumentListModal/NhrDocumentListHeader/NhrDocumentListHeader.tsx /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/src/components/NhrDocumentListFilterPanel/NhrDocumentListFilterPanel.stories.tsx

Tools used:

  • Bash: grep -r "#i18n\|from.*i18n" /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/src/components/ --include="*.ts" --include="*.tsx" | head -20

Tool results:

→ result (ok): /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/src/components/NhrDateSelectionFilter/NhrDateSelectionFilter.test.tsx:import { t } from '#i18n' /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/src/components/NhrDateSelectionFilter/NhrDateSelectionFilter.tsx:import { t } from '#i18n' /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/src/components/NhrEntryPoint/NhrEntryPoint.test.tsx:imp …(truncated, 374 more chars)

Tools used:

  • Bash: grep -r "from '../../i18n'\|from '#i18n'" /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/src/ --include="*.ts" --include="*.tsx"

Tool results:

→ result (ok): /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/src/business/factories/filters/createNhrDateSelectionFilterConfig.test.tsx:import { t } from '#i18n' /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/src/components/NhrDateSelectionFilter/NhrDateSelectionFilter.test.tsx:import { t } from '#i18n' /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/src/components/NhrDateSelectionFilter/NhrDate …(truncated, 561 more chars)

Tools used:

  • Bash: cat /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/tsconfig.json | grep -A 30 '"paths"\|"imports"\|alias'

Tool results:

→ result (ok): (Bash completed with no output)

Tools used:

  • Read: /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-national-health-records-ui/src/components/NhrDocumentListModal/NhrDocumentListHeader/NhrDocumentListHeader.tsx

Tool results:

→ result (ok): 1 import { SlidersRegularIcon } from '@doctolib/design-system-icons/SlidersRegularIcon' 2 import { Button } from '@doctolib/design-system/Button/v2' 3 import { Divider } from '@doctolib/design-system/Divider' 4 import { Paragraph } from '@doctolib/design-system/Paragraph' 5 import { Pill } from '@doctolib/design-system/Pill' 6
7 import { formatAge, formatGender } from '../../../business/formatters/patientFormatter' 8 import type { NhrPatientInfo } from '../../../types' 9
10 export type NhrDocu …(truncated, 1416 more chars)

Tools used:

  • Bash: grep -r "ToastProps\|title.*required\|title\?" /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-nhr-fr/src/components/dmp-consultation-consent-view/toast.ts 2>/dev/null; grep -rn "addTo …(truncated, 138 more chars)

Tool results:

→ result (ok): /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-nhr-fr/src/components/dmp-consultation-consent-view/toast.ts:type ToastProps = { /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-nhr-fr/src/components/dmp-consultation-consent-view/toast.ts: title: string /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-nhr-fr/src/components/dmp-consultation-consent-view/toast.ts:export function addToast(props: ToastProps) { /Users/USER/workspace/doctolib/treatment-plan/packages/tpf …(truncated, 1971 more chars)

Tools used:

  • Bash: grep -rn "GLOBAL_PUBSUB_REGISTRY\|toasts:add" /Users/USER/workspace/doctolib/treatment-plan/packages/ --include="*.ts" --include="*.tsx" | grep -v "node_modules\|dist\|build\|coverage"

Tool results:

→ result (ok): /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-nhr-fr/src/components/dmp-consultation-consent-view/toast.ts:5: * The monolith listens for 'toasts:add' events and renders the UI. /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-nhr-fr/src/components/dmp-consultation-consent-view/toast.ts:7:import { GLOBAL_PUBSUB_REGISTRY } from '@doctolib/upfront-core' /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-nhr-fr/src/components/dmp-consultation-consent-view/toast.ts:17: …(truncated, 8618 more chars)

Tools used:

  • Read: /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-prescription-fulfillments/src/business/eprescription/toast.ts

Tool results:

→ result (ok): 1 import { GLOBAL_PUBSUB_REGISTRY } from '@doctolib/upfront-core' 2
3 export type ToastProps = { 4 message: React.ReactNode 5 title: string 6 uiStyle: 'info' | 'success' | 'error' | 'warning' 7 action?: { message: string; onClick: () => void } 8 } 9
10 export const addToast = (props: ToastProps) => { 11 GLOBAL_PUBSUB_REGISTRY.dispatch({ type: 'toasts:add', payload: props }) 12 } 13

Now I have all the information needed to provide a thorough review. Let me compile the findings.


Architecture Review: Error Handling Implementation Plan

1. src/business/toast.ts location — Correct

Placing a toast dispatch utility in src/business/ is architecturally correct. The precedent in tpf-prescription-fulfillments confirms this: /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-prescription-fulfillments/src/business/eprescription/toast.ts uses an identical structure and lives in src/business/. A flat file src/business/toast.ts (not in a subdirectory) is appropriate for a utility of this scope. No issue here.

2. Import path ../../business/toast — Correct but inconsistent

The relative path ../../business/toast resolves correctly from NhrDocumentListModal.tsx. However, this package already registers #data/* and #utils/* aliases in package.json imports, and other files in the same src/components/ tree already use ../../../business/formatters/patientFormatter as a plain relative import with no alias. There is no #business/ alias in this package's imports map — only #i18n, #data/*, and #utils/* are defined. The relative import is therefore the only available option and is correct as written. No issue.

3. Type signature mismatch between plan's toast.ts and the established pattern

This is a real discrepancy. The plan's proposed ToastProps marks title as optional (title?: string). Both existing implementations make it required:

  • /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-nhr-fr/src/components/dmp-consultation-consent-view/toast.ts: title: string (required)
  • /Users/USER/workspace/doctolib/treatment-plan/packages/tpf-prescription-fulfillments/src/business/eprescription/toast.ts: title: string (required)

The plan's call sites do provide title in every call, so this does not cause a runtime problem. But the type should match the established contract: title: string, not title?: string. Fix the type in the plan to make title required.

4. t() import pattern — Correct, with one inconsistency to note

The plan uses import { t } from '#i18n'. This is the correct form: #i18n is defined in package.json imports and resolves to ./src/i18n.ts. The existing usage in NhrDateSelectionFilter.tsx, NhrDateSelectionFilter.test.tsx, NhrEntryPoint.test.tsx, and NhrEntryPointButton.test.tsx all use #i18n. One file (NhrEntryPointButton.tsx) still uses the older ../../i18n relative form, which is inconsistent. The plan is correct to use #i18n. No issue with the plan.

5. useEffect error handling pattern — One concern

The catch block in the plan calls t() synchronously to build the toast messages. In this package, t from #i18n is i18n.t, which is a synchronous function. The i18n namespace is registered via i18n.registerNamespace in i18n.ts, but namespace loading is asynchronous (loadNamespace). If the namespace is not yet loaded when the error fires on first mount, t() will return the key string as a fallback instead of the translated message. This is not specific to error handling — the same risk exists in components like NhrDateSelectionFilter.tsx — but it is worth acknowledging.

This is not a blocking architecture violation, but the plan should note that toast messages are subject to the same namespace-loading timing as all other translations in this package. No special handling is required here unless the namespace is not guaranteed to be loaded before first render.

6. GLOBAL_PUBSUB_REGISTRY in a smaller-scope package — Correct

Using GLOBAL_PUBSUB_REGISTRY from @doctolib/upfront-core is the established pattern across multiple tpf-* packages. The dependency is already present in package.json. The approach is fully consistent with how tpf-prescription-fulfillments handles toasts from its src/business/ layer. No issue.

7. Phase 1 scope (thrown errors only, not BusinessError) — Architecturally sound, with one gap

Limiting Phase 1 to propagating thrown exceptions is a reasonable scoping decision. However, the plan should be explicit about a concrete user-facing gap: when the DmpNhrAdapter path is active (i.e. the new service path introduced in this ticket), DmpApi.find() catches BusinessError and returns an empty list. The component will then render successfully with isLoading: false and zero rows, giving no indication to the user that the DMP failed. The plan acknowledges this in "Phase 2" but does not state clearly whether the DmpNhrAdapter path is already the default for this ticket or whether the legacy path (which does throw) is the active one. If the DmpNhrAdapter path is already live for some users, Phase 1 alone does not satisfy the DMP Certification requirement EX_3.1-2035 for those users, because threshold errors on that path are swallowed before reaching the catch block. Clarify in the plan which path is active at rollout time and whether Phase 1 is sufficient to satisfy the certification requirement end-to-end.

8. Missing toast.ts in src/index.ts / barrel consideration

addToast is an internal utility — it should not be exported from src/index.ts. The plan correctly does not propose adding it to the package entrypoint. No issue.

9. Test file location — Correct

The plan updates src/components/NhrDocumentListModal/NhrDocumentListModal.test.tsx, which is already colocated with the component. This is correct per UpFront rules. No issue.


Summary of actionable items

  1. Fix title type in src/business/toast.ts: Change title?: string to title: string to match the established contract in both tpf-nhr-fr and tpf-prescription-fulfillments.

  2. Clarify Phase 1 certification coverage: State explicitly whether the DmpNhrAdapter path is active at rollout. If it is, the BusinessError-swallowing in DmpApi.find() means threshold errors on that path bypass the catch block entirely, and Phase 1 does not satisfy EX_3.1-2035 for those calls. Either gate Phase 1 on only the legacy path being active, or promote Phase 2 to in-scope for this ticket.

  3. Acknowledge i18n loading timing: Add a note that t() in the catch block returns key fallbacks if the tpf_national_health_records_ui namespace has not finished loading. This is acceptable because it is consistent with all other uses of t() in this package, but it should be a conscious decision.

All other aspects of the plan — file location, import paths, pattern fidelity, test placement, and GLOBAL_PUBSUB_REGISTRY usage — are architecturally correct.

Keyboard shortcuts

⌘K / Ctrl+KOpen command palette
/Focus search
g hGo to home
g pGo to projects
g sGo to sessions
j / kNext / prev row (tables)
?Show this help
EscClose dialogs

Structured queries

Mix key:value filters with free text in the palette:

type:sessionOnly session pages
project:llm-wikiFilter by project name (substring)
model:claudeFilter by model name (substring)
date:>2026-03-01Sessions after a date
date:<2026-04-01Sessions before a date
tags:rustPages mentioning a tag/topic
sort:dateSort results by date (newest first)

Example: type:session project:llm-wiki date:>2026-04 sort:date