Task-Data Exploration
Purpose
Profile the task-visible environment without running full experiments. This implements phi_data(E_i) from AutoSciRub.
The profile determines which literature-suggested analyses are feasible with the current files, tools, labels, and compute context.
All .autoscirub/ paths below refer to the state directory resolved by the controller. When invoked alone, use the user’s override, then AUTOSCIRUB_STATE_DIR, then project config state_dir, then .autoscirub/.
Inputs
Read:
.autoscirub/rubric_skeleton.json
.autoscirub/literature_grounding.json
- task instruction and optional config/profile
- visible project files, datasets, code, metadata, and tool documentation
Respect exclusions from the user or task harness. Do not inspect hidden answers, target studies, private grading files, or files outside the task-visible environment.
Inspection Procedure
Use lightweight inspection first:
- list relevant files, formats, and sizes
- inspect schemas, dimensions, columns, units, coordinates, labels, timestamps, conditions, model names, scenario fields, and identifiers
- sample small previews when safe
- identify joins, alignment keys, cross-source relations, and missing values
- identify available code utilities and required command interfaces
- record dependency risks without choosing a hard-coded environment
Avoid full model training, expensive simulation, final figure generation, or report writing in this step.
Output
Write .autoscirub/task_data_profile.json:
{
"schema_version": "1.0",
"files": [
{
"path": "relative/path",
"format": "csv | json | hdf5 | image | text | code | other",
"size_or_shape": "...",
"key_fields": ["..."],
"role": "input | label | reference | metadata | geometry | time_series | model_output | code | other",
"notes": "..."
}
],
"datasets": [
{
"name": "...",
"paths": ["..."],
"entities": ["..."],
"measurements": ["..."],
"labels_or_targets": ["..."],
"constraints": ["..."]
}
],
"relationships": ["join, alignment, temporal, spatial, or hierarchy relation"],
"constraints": ["missing labels, limited samples, compute limits, unavailable reference values"],
"goal_support": [
{
"goal_id": "G1",
"supporting_files": ["..."],
"feasible_analyses": ["..."],
"unsupported_requirements": ["..."],
"notes": "..."
}
],
"dependency_notes": ["libraries or external tools that may be needed, without activation commands"]
}
Rules
- Keep paths relative to the task root when possible.
- Do not write virtual environment names, activation commands, or machine-specific absolute paths.
- Do not invent labels, ground truth, coordinates, units, or reference values.
- If a literature-suggested analysis is infeasible, explain the exact missing data or tool.
- Prefer direct task evidence; identify surrogate analyses only when they are defensible from available data.
1---2name: task-data-exploration3description: Build a lightweight task-visible data and resource profile for AutoSciRub. Use after rubric skeleton and literature grounding when Codex needs to inspect available files, datasets, code, schemas, units, labels, tools, constraints, and goal feasibility before synthesizing executable criteria.4---56# Task-Data Exploration78## Purpose910Profile the task-visible environment without running full experiments. This implements `phi_data(E_i)` from AutoSciRub.1112The profile determines which literature-suggested analyses are feasible with the current files, tools, labels, and compute context.1314All `.autoscirub/` paths below refer to the state directory resolved by the controller. When invoked alone, use the user’s override, then `AUTOSCIRUB_STATE_DIR`, then project config `state_dir`, then `.autoscirub/`.1516## Inputs1718Read:19201. `.autoscirub/rubric_skeleton.json`212. `.autoscirub/literature_grounding.json`223. task instruction and optional config/profile234. visible project files, datasets, code, metadata, and tool documentation2425Respect exclusions from the user or task harness. Do not inspect hidden answers, target studies, private grading files, or files outside the task-visible environment.2627## Inspection Procedure2829Use lightweight inspection first:3031- list relevant files, formats, and sizes32- inspect schemas, dimensions, columns, units, coordinates, labels, timestamps, conditions, model names, scenario fields, and identifiers33- sample small previews when safe34- identify joins, alignment keys, cross-source relations, and missing values35- identify available code utilities and required command interfaces36- record dependency risks without choosing a hard-coded environment3738Avoid full model training, expensive simulation, final figure generation, or report writing in this step.3940## Output4142Write `.autoscirub/task_data_profile.json`:4344```json45{46 "schema_version": "1.0",47 "files": [48 {49 "path": "relative/path",50 "format": "csv | json | hdf5 | image | text | code | other",51 "size_or_shape": "...",52 "key_fields": ["..."],53 "role": "input | label | reference | metadata | geometry | time_series | model_output | code | other",54 "notes": "..."55 }56 ],57 "datasets": [58 {59 "name": "...",60 "paths": ["..."],61 "entities": ["..."],62 "measurements": ["..."],63 "labels_or_targets": ["..."],64 "constraints": ["..."]65 }66 ],67 "relationships": ["join, alignment, temporal, spatial, or hierarchy relation"],68 "constraints": ["missing labels, limited samples, compute limits, unavailable reference values"],69 "goal_support": [70 {71 "goal_id": "G1",72 "supporting_files": ["..."],73 "feasible_analyses": ["..."],74 "unsupported_requirements": ["..."],75 "notes": "..."76 }77 ],78 "dependency_notes": ["libraries or external tools that may be needed, without activation commands"]79}80```8182## Rules8384- Keep paths relative to the task root when possible.85- Do not write virtual environment names, activation commands, or machine-specific absolute paths.86- Do not invent labels, ground truth, coordinates, units, or reference values.87- If a literature-suggested analysis is infeasible, explain the exact missing data or tool.88- Prefer direct task evidence; identify surrogate analyses only when they are defensible from available data.