literature-search
Goal:
- Run the canonical literature search bridge for one evidence query and persist traceable evidence artifacts.
Inputs:
- active run directory
- a
SearchRequestContractpayload or enough context to build one - optional existing
literature/queries/<query_id>/REQUEST.json
Outputs:
literature/queries/<query_id>/REQUEST.jsonliterature/queries/<query_id>/PROVIDER_RECEIPTS.jsonliterature/queries/<query_id>/CANDIDATE_PAPERS.jsonliterature/queries/<query_id>/VERIFIED_PAPERS.jsonliterature/queries/<query_id>/EVIDENCE_BUNDLE.jsonliterature/queries/<query_id>/EVIDENCE_BUNDLE.mdliterature/queries/<query_id>/SEARCH_TRACE.jsonlliterature/bundles/<bundle_id>.json
Context Loading:
- Open
skills/shared-references/schema-index.md. - Open
skills/shared-references/literature-search-contract.md. - Read
packages/agent_contracts/literature.pybefore building or editing a search request or evidence bundle. - Read
tools/literature_search_client.pybefore invoking the bridge.
Execution Contract:
- Import and call
from tools import search_literature. - When the host exposes the configured
co_scientist_search_bridgeMCP server, its tools are an allowed transport for the same canonical bridge. - If the MCP server is unavailable, fall back to the Python tools surface instead of performing informal web search.
- Do not perform informal web search as a substitute for
tools.search_literature(...). - Do not invent papers, DOIs, arXiv IDs, venues, citation counts, or abstracts.
- Preserve provider failure receipts. A failed provider is evidence about retrieval coverage and must not be hidden.
- If
retrieval_metadata.statusisblocked, return that blocked state to the caller instead of fabricating an evidence bundle. - If
retrieval_metadata.statusispartial, downstream callers may continue only when they preserve the partial-source limitation.
Execution Steps:
- Open
skills/shared-references/schema-index.md,skills/shared-references/literature-search-contract.md, andpackages/agent_contracts/literature.py. - Build a
SearchRequestContractwith a stablequery_id,goal,query,query_type,providers,filters, andconsumer. - Call
tools.search_literature(run_dir, request)through the stable tools surface, or call the equivalent configured MCP search bridge tool when it is available. - Read the returned
EvidenceBundleContractand confirm the run-local artifacts were written. - If the bundle status is
blocked, stop and report the blocked retrieval state to the caller. - If the bundle status is
partialorsucceeded, return thebundle_idandquery_idto the caller. - Run
python -m tools.validation.contract_validation <run_dir> --skill literature-search.
Completion Rule:
- This skill is complete only when the search bridge has written a canonical evidence bundle or an auditable blocked retrieval state, and the literature artifacts validate.