| """ | |
| MCP tools for dataset discovery, inspection, and contrast validation. | |
| These tools give the LLM agent a structured way to: | |
| 1. Discover what datasets are registered (dataset_list_available) | |
| 2. Understand a dataset before loading it (dataset_describe) | |
| 3. Survey a loaded metadata file for usable grouping columns | |
| (dataset_list_valid_sample_groups) | |
| 4. Validate a DE contrast before running analysis | |
| (dataset_validate_contrast) | |
| Design rules | |
| ------------ | |
| - All dataset-specific knowledge lives in YAML manifests under | |
| src/datasets/manifests/. These tools read those manifests; they do not | |
| hard-code any dataset logic. | |
| - Workflow logic (group usability, contrast validation) lives in | |
| src/workflows/metadata_validation.py, not here. | |
| - All return values are JSON-serialisable dicts. | |
| - Tool docstrings are written for the LLM agent, not for human readers. | |
| They explain WHEN to call the tool and what to do next. | |
| """ | |
| # ruff: noqa: F401, F403 | |
| from ._base import * | |
| from ._base import ( | |
| _build_loading_plan, | |
| _classify_metadata_values, | |
| _col_semantics, | |
| _detect_intent, | |
| _flatten_single_column_summary, | |
| _load_metadata_df, | |
| _workflow_for_intent, | |
| ) | |
| from .catalog import * | |
| from .metadata import * | |