Thank you again for sharing SpatialAgent.
I’m trying to design a mouse lung influenza panel, but I have not yet had a successful end-to-end run.
The run reaches the CZI step, returns mostly irrelevant datasets, and then terminates with parsing error....
Observed behavior
CZI search executes:
search_czi_datasets({"query": "lung, Mus musculus", "n_datasets": 5})
but top matches can be non-lung tissues (e.g., embryo / skin). Shortly after that step, the agent prints parsing error....
Run stops early; no reliable final panel is produced. but For mouse + lung intent, top CZI results should be lung-relevant mouse datasets and the run should continue normally after CZI retrieval (no parser termination).
Suspected causes
search_czi_datasets appears to rank embeddings over broad metadata without strict pre-filtering by organism/tissue.
- CZI tool output may be oversized/noisy (print + return duplication), which can increase parser fragility.
Must Fix (I think)
- Add structured filters in
search_czi_datasets (before ranking):
organism, tissue, optional disease, strict=True.
- Filter dataframe first, then rank within filtered rows.
- Add deterministic fallback when strict filters return no rows:
- Controlled relaxation + clear warning.
- Remove duplicate large output payload:
- Avoid both
print(output) and return output for same content.
- Keep CZI output compact to reduce parser risk.
Should Fix
- Add ranking guardrails:
- Strong penalty for organism mismatch.
- Boost exact/partial tissue match (
lung, respiratory).
- Update panel-design skill to prefer structured CZI constraints over free-text-only queries.