94bb858552
* refactor(hindsight): rename memory extra to hindsight; gate tools on SDK ## Related issue N/A ## Summary - Rename the optional install extra `memory` -> `hindsight` (the extra that pulls `hindsight-client` for the Hindsight long-term memory tools), so the extra name matches the tools it enables. Updates `pyproject.toml`, `uv.lock`, the install hint, docstrings, and `examples/remy/config.yaml`. - Hide the three Hindsight tools from the builtin list when `hindsight-client` is not installed: they're now absent from `BUILTIN_NAMES` / `INSTANTIABLE_BUILTINS` and not instantiable, and the onboarding `list_builtin_tools` helper no longer advertises them. The presence probe uses `importlib.util.find_spec` so the SDK and its deps (aiohttp, ...) stay lazy. ## Test Plan - `ruff format` + `ruff check` clean; `pre-commit run` passes on all changed files (including the `normalize-uv-lock-registry` hook). - `pytest tests/tools/builtins/test_hindsight.py tests/tools/builtins/test_registry_unified.py tests/spec/test_validator.py` -> 79 passed; full `tests/tools tests/spec tests/onboarding` -> green (one unrelated `databricks_sdk_installed` failure was an env artifact from running `--extra dev` instead of `--extra all`; passes with `--extra all`). - New `test_hindsight_tools_absent_from_registry_when_sdk_missing` hides `hindsight_client` from the finder, reloads the registry, asserts the tools are absent + not instantiable, and restores the finder in `finally` (no state leakage — verified by running it before the registry-size test). ## Demo N/A ## Type of change - [ ] Bug fix - [ ] Feature - [ ] UI / frontend change - [x] Refactor / chore - [ ] Docs - [ ] Test / CI - [x] Breaking change ## Test coverage - [x] Unit tests added / updated - [ ] Integration tests added / updated - [ ] E2E tests added / updated - [ ] Manual verification completed - [x] Existing tests cover this change - [ ] Not applicable ## Coverage notes The extra rename is exercised by the existing registry-size test (which lists the hindsight names) and the lock line. The gating is covered by the new unit test. Manually verified `_hindsight_available()` returns True with the SDK and False when hidden from the finder, in both the registry and the onboarding helper. ## Changelog `omnigent[memory]` is renamed to `omnigent[hindsight]`; the Hindsight memory tools are now hidden from the builtin list when `hindsight-client` is not installed. * fix(uv.lock): complete hindsight extra rename in lock metadata The rename commit updated the requires-dist marker but missed the provides-extras list and the package optional-dependencies mirror, so `uv sync --locked` (every CI job's install step) failed.