source-command-submit
Use this skill when the user asks to run the migrated source command submit.
Command Template
/submit
Bundles the 4-command submission pipeline:
combine_submissions.py— take min-length per puzzle across all candidate CSVs + Kociemba fallback.post_process_submission.py— pair-cancel + BFS-d5 window shortening.verify_submissionsanity check on the final CSV.kaggle competitions submit.
Usage
/submit <description>— uses allsubmissions/*.csvas candidates EXCEPT the output of previous/submitruns (namedsub_*.csv)./submit --only a.csv b.csv ... "description"— specify candidates explicitly.
Execution
Do the following, in order:
Pick candidate CSVs. Unless the user passed
--only, default tosubmissions/fast_b8k_mitm6.csv submissions/s1_b4k.csv submissions/s2_b4k.csv submissions/s3_b4k.csv submissions/e3_khoruzhii_b65k.csv submissions/e5_khoruzhii_b65k.csv(these are the landmark runs that have always helped in ensembles — verify they exist before using).Generate a timestamped output path
submissions/sub_$(date +%Y%m%d_%H%M%S).csv— this is the raw combine output before post-processing.Run the combine step:
.venv/Scripts/python.exe scripts/combine_submissions.py \ --candidates <CSVs> \ --fallback data/kociemba_fallback.csv \ --out <raw_out>Run the post-process step (appending
_ppto the output name):.venv/Scripts/python.exe scripts/post_process_submission.py \ --in <raw_out> --out <pp_out> \ --bfs-table data/bfs_table_d5.pklReport the combined total move count and post-processed total.
Ask the user to confirm submission (the
-mdescription is whatever was passed to/submit). Run:export KAGGLE_API_TOKEN=$KAGGLE_API_TOKEN .venv/Scripts/kaggle.exe competitions submit -c cayleypy-ihes-cube -f <pp_out> -m "<description>"After submission, immediately check status with:
.venv/Scripts/kaggle.exe competitions submissions cayleypy-ihes-cube | head -3
Gotchas
- Never skip step 2 verification — a path with an unknown generator name will return
SubmissionStatus.COMPLETEwith score 999999 or similar on Kaggle (silent failure). - If any candidate CSV doesn't exist, remove it from the list and proceed — don't abort the whole pipeline.
- Always reuse the same
data/kociemba_fallback.csvas the fallback floor; never usesample_fallback.csv(sample-quality, 500K+ moves).