# Dataset construction (deterministic). Seeds define split membership; keys are written to data/generated/keys (evaluator-only). synthetic: n_projects: 6 lengths_tokens: [2000, 8000, 16000] # seed ranges by split (disjoint; template families identical, entities/numbers differ) splits: train: {start: 1000, count: 40} # mapper/calibration/prompt tuning dev: {start: 2000, count: 30} # method selection, router fitting test: {start: 3000, count: 40} # locked; first evaluated at Phase 8 length_assignment: round_robin # each seed gets one length: 2000, 8000, 16000, 2000, ... exec: splits: train: {start: 1, count: 20} dev: {start: 101, count: 30} test: {start: 201, count: 40} target_tokens: 2000 public: subsets: [qasper, 2wikimqa] extension_subsets: [hotpotqa] split_rule: "sha256(document text) last hex digit: 0-3 -> dev, 4-f -> test (dev ~25%, test ~75%)" max_context_tokens: 16384