collector: add polling source runner
collector: align ingest sender with server response
collector: add ingest sender and outbox replay
collector: add config and state store
docs: clarify collector plan assumptions
docs: plan lethe collector implementation
chore: ignore local worktrees
collector: add Claude Code parser
docs: record shipped web tasks and dev tooling updates
web: map tool-call setting to boolean attribute
web: align tool-call hide selector
web: wire display settings UI
web: add display preference modules
docs(lethe-web-ui-login): record review pass + conclusion
web: prune lethe_auth_failures log to the 5-min window on insert
oidcstub: percent-encode authorize redirect query params (PC1)
server/web: fail loud when index.html lacks </head> for config injection
docs(lethe-web-ui-login): record verify checks
docs(lethe-web-ui-login): plan + execute hands-off decisions
web: AuthGate consolidates three "not authenticated" cards Create AuthGate component as the single source of truth for the unauthenticated UI. Cold renders show a manual sign-in button (IV7); mid-session expiry auto-redirects via useEffect (IV7); auth_error shows the distinct error card with a "Try again" button and never auto-retries (IV6). Swap the inline AuthError cards at index, projects, and SavedSearchesSection call sites.