refactor: rename solstone agents concept to talents
Land the pre-release agents -> talents vocabulary rename in one coordinated
commit while the surface area is still cheap to change and there are no
external consumers to preserve. This keeps the product language coherent
before release and avoids shipping a half-renamed runtime, API, and journal
layout.
Key changes:
- Split the old `think/agents.py` surface into `think/talents.py` for runtime
execution and `think/providers_cli.py` for the standalone `sol providers
check` health-check CLI.
- Remove `sol agents`; add `sol providers check` for provider health, and have
Cortex spawn talents via `[sys.executable, "-m", TALENT_EXECUTION_MODULE]`
instead of shelling out through `sol`.
- Apply the vocabulary split consistently: `talent` means config/prompt
definition, `use` means one invocation (`agent_id` -> `use_id`,
`running_agents` -> `running_uses`, `agent_requests` -> `use_requests`,
and related helpers/attrs).
- Rename wire/runtime events: dream chronicle `agent.{fail,dispatch,complete,skip}`
-> `talent.*`, Callosum `agent_{started,completed}` -> `talent_*`, and
`agent_updated` -> `talent_updated`.
- Rename the day route from `/api/agents/<day>` to `/api/talents/<day>` and
return both `uses` (invocations) and `talents` (config metadata) in the
payload.
- Rename the journal layout from `<journal>/agents/` to `<journal>/talents/`
across root/day/segment/health locations and add
`apps/sol/maint/004_rename_agents_to_talents.py` for automatic live-journal
migration on supervisor startup.
- Bump the stats schema from v2 to v3 and require top-level `"talents"`.
- Keep the only allowed compatibility shim in `think/pipeline_health.py` and
`apps/home/routes.py`, where historical dream chronicle readers accept both
legacy `agent.*` and new `talent.*` event names through 2026-05-01.
- Add `scripts/gate_agents_rename.py` and wire it into `make ci` to prevent
reintroduction of legacy rename patterns.
Out-of-scope followups:
- Decompose `think/talents.py` (1,300+ lines) into submodules.
- Restructure `think/talent.py` + `think/talent_cli.py` into a `think/talent/`
package.
- Remove the historical read-side shims after the 2026-05-01 sunset.
Operator verification after supervisor restart on a live journal:
- Migration script runs at startup and renames pre-existing `<journal>/agents/`
dirs to `<journal>/talents/`.
- Cortex spawn logs show `[sys.executable, -m, think.talents]`.
- `sol providers check` reports all providers (Anthropic, OpenAI, Google,
Ollama).
- `sol agents` fails with unknown command.
- Home yesterdays-card renders on a journal that has both pre- and post-rename
chronicle events.
- `make ci` is green and the rename gate passes.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>