Follow-up to #346 (review thread on dataset_manager/dataset.py — ColumnFilter).
The default OpenAIMsgspecAdapter hard-requires required_columns=['prompt'], so messages-schema datasets (e.g. BFCL function-calling presets) rely on Dataset.load() skipping the adapter's ColumnFilter when the dataset supplies its own projection. That skip is a deliberate, documented bridge but works around a schema mismatch rather than resolving it.
Goal: schema-aware adapter selection/negotiation so the adapter's default projection matches the dataset schema (prompt vs messages+tools) without the skip heuristic. Deferred from #346 to keep it scoped.
Follow-up to #346 (review thread on
dataset_manager/dataset.py— ColumnFilter).The default
OpenAIMsgspecAdapterhard-requiresrequired_columns=['prompt'], so messages-schema datasets (e.g. BFCL function-calling presets) rely onDataset.load()skipping the adapter'sColumnFilterwhen the dataset supplies its own projection. That skip is a deliberate, documented bridge but works around a schema mismatch rather than resolving it.Goal: schema-aware adapter selection/negotiation so the adapter's default projection matches the dataset schema (prompt vs messages+tools) without the skip heuristic. Deferred from #346 to keep it scoped.