Results Back-fill
Use this skill after empirical-paper-writer has produced a draft with
placeholders and the user has run experiments outside the AI session.
When to Use
empirical-paper-writerhas completed design + code + placeholder draft.- The user has run experiments in their configured conda environment.
paper/results/contains new CSV / data files from completed experiments.
When NOT to Use
- The paper draft does not yet exist (use
empirical-paper-writerfirst). - Experiments have not been run yet.
- The user only wants experiment design without paper completion.
Inputs
paper/main.tex(draft with placeholders)paper/results/*.csv(experiment results)notes/design/experiment-matrix.csvissues/<timestamp>-<slug>.csvbrief/contribution-map.yamlpaper.config.yaml(runtime configuration)
Outputs
- Updated
main.texwith verified results, real figures/tables, factual claims - Updated issues CSV with
Result_Status=verifiedandStatus=DONE - Generated LaTeX input files under
paper/results/ - Drafted abstract (W0)
- Refined prose (RF1)
- Compiled
main.pdf
Non-Negotiable Rules
- No fabrication: Only use data from actual result files. Never invent numbers.
- Verify before claiming: Only upgrade
(hypothesis)to factual claim when CSV data confirms the result. - Bounded claims: Factual statements must include specific numbers from verified results (e.g., "reduces violations by 12.3%"), not vague improvements.
- Dependency enforcement: Follow the same dependency rules as
empirical-paper-writer— never mark DONE if dependencies are not DONE/SKIP.
Workflow
Phase 1: Results Discovery
- Read
paper.config.yamlfor runtime configuration. - Scan
paper/results/for all CSV, JSON, and data files. - Read
notes/design/experiment-matrix.csvto identify all planned experiments. - Match result files to experiment-matrix rows:
Seebashpython3 scripts/discover_results.py --project-dir <paper_dir>references/backfill-workflow.mdfor naming conventions and theassets/result-file-template.csvschema. - If matches look correct, update the matrix in-place:
bash
python3 scripts/discover_results.py --project-dir <paper_dir> --update-status - Read the issues CSV and update
Result_Statusfor matched experiment issues (E5-E8).
Phase 2: Paper Back-fill
Execute in order:
-
Contribution upgrade:
- Read
brief/contribution-map.yaml. - For each claim with verified supporting experiments, update
main.tex:- Replace
(hypothesis)with bounded factual statement. - Update Introduction contributions list.
- Replace
- Read
-
Results section fill:
- Main comparison: populate tables from
main_results.csv. - Ablation studies: populate ablation table from ablation results and upgrade the surrounding narrative from hypothesis-safe to verified, bounded claims.
- Robustness/error analysis: populate figures/tables and write verified takeaways tied to specific numbers.
- Efficiency: populate efficiency comparison table and write a bounded trade-off discussion (accuracy vs cost).
- Main comparison: populate tables from
-
LaTeX table/figure generation:
- Convert CSV results to LaTeX
\input{}files underpaper/results/:bashpython3 scripts/generate_results_table.py <results.csv> -o paper/results/<name>.tex --bold-best --caption "..." --label "tab:..." - Generate TikZ plots or include matplotlib-exported PDFs where appropriate.
- Replace
\fbox{...placeholder...}with actual\includegraphicsor table references.
- Convert CSV results to LaTeX
-
Figure resolution:
- For each remaining
\fbox{...}placeholder:- If data exists → generate the figure.
- If data is missing → replace with
[Figure pending: <reason>].
- For each remaining
-
Abstract (W0):
- Draft abstract from verified results following the rules in
experiment-evidence.md:- Problem (1 sentence)
- Method (1-2 sentences)
- Setting (1 sentence)
- Key result (1 sentence, verified only)
- Implication (1 sentence)
- Maximum 250 words. No citations. No unexpanded acronyms.
- Draft abstract from verified results following the rules in
-
Conclusion upgrade:
- Update the Conclusion section to remove
(hypothesis)/[Pending: ...]tags for any claim now supported by verified results. - Ensure every factual takeaway is bounded by specific numbers from verified tables/figures.
- Update the Conclusion section to remove
-
Mark issues DONE:
- Update E5-E8, W0, and any back-filled Writing issues in the issues CSV.
- Respect dependency enforcement.
Phase 3: Polish
-
RF1 — Rhythm refinement:
- Apply
latex-rhythm-refinersection-by-section. - Preserve all citations and verified numbers.
- Apply
-
QA:
- Run citation audit:
bash
python3 ../arxiv-paper-writer/scripts/citation_policy.py --project-dir <paper_dir> audit-bib python3 ../arxiv-paper-writer/scripts/citation_policy.py --project-dir <paper_dir> audit-tex --issues <issues.csv> - Run issue validation with tex audit:
bash
python3 ../empirical-paper-writer/scripts/validate_empirical_paper_issues.py <issues.csv> --audit-tex <paper_dir>/main.tex
- Run citation audit:
-
Compile:
bashpython3 ../arxiv-paper-writer/scripts/compile_paper.py --project-dir <paper_dir> --check-warnings --fail-on-warnings -
Deliver
main.tex,ref.bib, figures, andmain.pdf.
Runtime Environment
Before running any script:
- Read
paper.config.yaml→runtime.conda_envorruntime.python. - If
conda_envis set, activate it:conda activate <env_name>. - If
pythonis set, use that interpreter directly. - If neither is set, ask the user which conda environment to use.
Relationship to Other Skills
paper-from-zero ↓ routes to empirical-paper-writer (design + code + placeholder draft) ↓ user runs experiments results-backfill (this skill: back-fill results + complete paper)
Success Criteria
- All
\fboxplaceholders resolved or explicitly marked[Pending: <reason>]. - No
(hypothesis)tags remain for claims with verified evidence. - Abstract is non-placeholder, <=250 words, matches verified results.
- All DONE issues pass dependency check.
validate_empirical_paper_issues.py --audit-texproduces zero warnings for verified issues.- Paper compiles without
Overfull \hboxwarnings.


