Context
The policy ratified when merging #62: dataset-local schemas are authoritative, and the central files in data_validation/schemas/ are historical stubs unless a dataset actually validates against them. #73 applied this to agentdataflow_trace.schema.json by turning it into a $ref pointer. The same problem exists across the directory. For example, all 59 entries in datasets/exploit_dataset/ fail exploit.schema.json (reported in #73).
Current state (as of main, 2026-09-17)
| Central schema |
Dataset-local schema |
Used by |
Proposed action |
agentdataflow_trace.schema.json |
yes |
nothing |
done in #73 (pointer) |
exploit.schema.json |
datasets/exploit_dataset/schema.json |
nothing |
pointer, as in #73 |
riskassessment.schema.json |
datasets/riskassessment_dataset/schema.json |
check |
pointer, as in #73 |
vulnerability.schema.json |
datasets/vulnerability_dataset/schema.json |
check |
pointer, as in #73 |
promptinj_testcase.schema.json |
none |
live: promptinj_dataextraction_testcases README, tr_turkish_conversation_prompt_injection_pairs/validate.py and build_cases.py |
keep as authoritative, or move into the dataset folder and leave a pointer |
incident.schema.json |
none |
data_validation/validators/schema_validator.py usage example |
verify against datasets/incident_dataset/; then either move local or keep |
rag.schema.json |
none |
check |
verify against datasets/rag_dataset/ |
crossframework_mapping.schema.json |
none |
check |
the crosswalk now lives in GenAI-Security-Project/crosswalk; decide whether this dataset and schema still belong here |
Rule going forward
Every dataset with entries ships its own schema.json, a validator, and a path-filtered CI workflow (the agentdataflow_toolexchange_traces/ layout is the reference). Central files are either pointers or removed.
How to help
The three pointer conversions are small and independent. Copy #73 and include a $comment listing the concrete divergences. Before converting, grep for references to confirm nothing validates against the central file. One PR per schema, please.
Context
The policy ratified when merging #62: dataset-local schemas are authoritative, and the central files in
data_validation/schemas/are historical stubs unless a dataset actually validates against them. #73 applied this toagentdataflow_trace.schema.jsonby turning it into a$refpointer. The same problem exists across the directory. For example, all 59 entries indatasets/exploit_dataset/failexploit.schema.json(reported in #73).Current state (as of
main, 2026-09-17)agentdataflow_trace.schema.jsonexploit.schema.jsondatasets/exploit_dataset/schema.jsonriskassessment.schema.jsondatasets/riskassessment_dataset/schema.jsonvulnerability.schema.jsondatasets/vulnerability_dataset/schema.jsonpromptinj_testcase.schema.jsonpromptinj_dataextraction_testcasesREADME,tr_turkish_conversation_prompt_injection_pairs/validate.pyandbuild_cases.pyincident.schema.jsondata_validation/validators/schema_validator.pyusage exampledatasets/incident_dataset/; then either move local or keeprag.schema.jsondatasets/rag_dataset/crossframework_mapping.schema.jsonRule going forward
Every dataset with entries ships its own
schema.json, a validator, and a path-filtered CI workflow (theagentdataflow_toolexchange_traces/layout is the reference). Central files are either pointers or removed.How to help
The three pointer conversions are small and independent. Copy #73 and include a
$commentlisting the concrete divergences. Before converting, grep for references to confirm nothing validates against the central file. One PR per schema, please.