neulab / neulab/agent-data-protocol
Audit: tighten schema and API modeling across datasets
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 193
- Forks
- 17
- PR merge metrics
- No merged PRs in 30d
Description
Dataset quality audit category: Schema/API modeling issues
The May 2026 dataset audit found 54 issues in this class:
schema_extra_fields: 20api_argument_encoding: 16available_apis: 16api_surface_normalization: 2
Problem
Several datasets either preserve fields that the current ADP standardized schema does not model, encode API arguments in lossy or inconsistent ways, or omit/overuse available_apis. Because Pydantic currently accepts/drops many extra fields unless models explicitly forbid them, some of these issues pass validation while still losing structure or weakening downstream consumers.
Examples
CharlieDreemur_OpenManus-RL:sample_std.jsoncontains non-schema event keys, including 74rewardfields and 36reasoning_contentfields embedded inside content events.SALT-NLP_SWE-chat:sample_std.jsoncontains non-schema event keys, including 26rewardfields and 15reasoning_contentfields.allenai_Sera-4.6-Lite-T2:sample_std.jsoncontains non-schema event keys, including 165rewardfields and 81reasoning_contentfields.agenttuning_alfworld: API kwargs contain extra literal quotes, for example"location": "\"shelf 1\"".SALT-NLP_SWE-chat: samples includeapi_actioncalls but omit top-levelavailable_apis, even though source metadata includes tool and transcript information.dolci_instruct_sft_tool_use: function names preserve heterogeneous upstream naming such asleaguepowerrankingroundsandweather_forecast_weather_api, producing an inconsistent API surface.
Suggested work
- Decide whether standardized ADP models should use
extra="forbid"forTrajectory, actions, and observations. - Add negative tests proving unknown standardized fields fail validation, if strictness is desired.
- For fields such as rewards and reasoning traces, either map them into supported ADP fields or intentionally preserve them under
detailswith documented semantics. - Normalize API kwargs so structured values are represented as native JSON, not stringified/literal-quoted values.
- Clarify and enforce when
available_apisshould be present, especially for datasets whose raw source includes explicit tool availability. - For heterogeneous upstream tool names, decide whether dataset-local APIs should normalize names or preserve raw names with mapping metadata.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the standardized Pydantic models for Trajectory, actions, and observations, then inspect the sample_std.json audit examples and existing validation tests. The work is done when the project has decided and documented its handling of extra fields, API kwargs, available_apis, and heterogeneous tool names, with tests covering the chosen behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, data-engineering
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100