personal memory agent

chat: swap talent layer to chat-generate + exec-cogitate master

Second of three sub-lodes for the chat backend rewrite (parent plan: chat-refactor). Flips the talent layer for the new chat architecture while leaving runtime callers (`/api/triage`, `apps/home/events.py`, `think/conversation.py`, the `_resolve_talent_path` `unified` alias) alive for 2c to cut over. - `git mv talent/chat.md -> talent/exec.md`. The renamed file is the tier-3 cogitate "Exec" that 2c's chat backend will dispatch for deep research. Removed the legacy `$recent_conversation` placeholder that had been filled by the deleted pre-hook. - New `talent/chat.md` is a tier-3 generate "Chat" with JSON schema output at `talent/chat.schema.json`. Covers conversational framing, routine etiquette, import/naming, and when-to-dispatch-exec — all investigation/search/briefing depth lives in exec.md. - Rewrote `talent/chat_context.py` to inject digest contents, chat stream tail (via the formatter shipped in 2b), active-talent list, trigger context, location, and the preserved 5-gate routine- suggestion logic. Dropped `think.conversation` / L1-L2 memory assembly. The `save_routines_config()` side effect still fires only when `_meta.suggestions` mutates, and only `owner_message` triggers count toward suggestion gates. - Added `apps/sol/maint/006_rename_unified_triage_providers.py` — an idempotent one-time migration that renames `providers.contexts.talent.system.unified` -> `talent.system.chat` and removes `talent.system.triage` in any configured journal. Auto-discovered by `think.maint`. - Audit pass on `.get("name", "unified")` call sites: 13 hard-internal paths now require `["name"]`, 2 user-facing defaults use `"chat"`, and 2 legacy/migration fallbacks use `"chat"` with docstring notes. Hardcoded `name="unified"` in `convey/triage.py` is left for 2c. - Provider-contexts baseline: removed `talent.system.triage`, added `talent.system.exec` (tier-3 cogitate), swapped `talent.system.chat` to tier-3 generate. `talent.system.digest` unchanged. Collateral: `tests/verify_api.py` + three search/graph baselines marked sandbox-only to reconcile pre-existing drift between `make update-api-baselines` (Flask test client) and `make verify-api` (sandbox). Pre-dated 2a; surfaced only because this lode touched baselines. Keeping here to keep `make verify-api` green through the sub-lode sequence. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>