Synthetic experiment suite for testing whether an EGGROLL-inspired hybrid low-rank evolutionary search method makes a hard-routing spatio-temporal packet-routing graph network practical on a single 2-GPU machine.
The implementation is intentionally EGGROLL-inspired, not an exact reproduction of the paper or the HyperscaleES JAX stack. The repo focuses on:
FORWARD, EXIT, and DELAYtorchrunuv venv --python 3.12
source .venv/bin/activate
uv sync
PyTorch is installed from the CUDA 13.0 nightly index through uv.
When building native extensions or rebuilding local packages, keep rebuilds at 16 threads:
export MAX_JOBS=16
export CMAKE_BUILD_PARALLEL_LEVEL=16
export MAKEFLAGS=-j16
export OMP_NUM_THREADS=16
export MKL_NUM_THREADS=16
src/
data/ synthetic benchmarks
models/ packet-routing graph model
es/ low-rank ES implementation
train/ training entrypoint
utils/ config loading and report generation
configs/
smoke/ minute-scale correctness checks
dev/ moderate comparison runs
main/ larger runs for the target machine
scripts/
run_smoke.sh
run_main.sh
report.sh
tests/
docs/
results/
references/
Smoke suite:
./scripts/run_smoke.sh results/smoke_suite
Dev comparison suite:
./scripts/run_main.sh dev results/dev_suite
Main suite:
./scripts/run_main.sh main results/main_suite
Regenerate the markdown report from an existing results root:
./scripts/report.sh results/dev_suite docs/experiment_report.md
Single-run commands:
uv run python -m src.train.run --config configs/smoke/soft.yaml
uv run python -m src.train.run --config configs/smoke/hard_st.yaml
uv run torchrun --standalone --nproc_per_node=2 -m src.train.run --config configs/smoke/hybrid_es.yaml
uv run python -m src.train.run --config configs/dev/soft_benchmark_a.yaml
uv run python -m src.train.run --config configs/dev/hard_st_benchmark_a.yaml
uv run torchrun --standalone --nproc_per_node=2 -m src.train.run --config configs/dev/hybrid_es_benchmark_a.yaml
uv run python -m src.train.run --config configs/dev/soft_benchmark_b.yaml
uv run python -m src.train.run --config configs/dev/hard_st_benchmark_b.yaml
uv run torchrun --standalone --nproc_per_node=2 -m src.train.run --config configs/dev/hybrid_es_benchmark_b.yaml
uv run python -m src.utils.report --results-dir results/dev_suite --out docs/experiment_report.md
uv run pytest -q
The test suite covers:
DELAY behaviorPhase 15 closed as a strong mapping exit. On the fixed 16045 route anchor,
the best richer-content-path family is the route-isolated sidecar path rather
than the multi-slot channel family. The best fully confirmed branches are
18052 and 18057, which preserve the stable late-route regime and produce
only modest locked-confirm content lifts:
18052 locked confirm full_locked overall / fq_acc / fq_route / fq_exit = 0.6592 / 0.3001 / 0.8797 / 116.1418057 locked confirm full_locked overall / fq_acc / fq_route / fq_exit = 0.6589 / 0.2995 / 0.8797 / 116.14The best multi-slot branch 18026 stayed stable but still fell to the old
confirm ceiling at 0.6527 / 0.2874 / 0.8850 / 116.22. Bounded 1821
portability remained weak even after an exact rerun (18222 confirmed at
0.6149 / 0.2560 / 0.8329 / 116.34), and 1879 remained cleanly negative.
The current scientific interpretation is that the next bottleneck is not route stability or simple readout width. It is more likely content writing / retrieval quality inside the isolated sidecar path.
The current long-horizon writeups are:
Current headline state:
memory_ destabilizes fragile basins while
head-only reopenings preserve routing but still do not recover content1874 and medium teacher-shaped 1842 are strongly
decodable, while fragile route-faithful 1879 is weak-content even under
query-conditioned probesfinal_sink_state is the decisive frozen content view
on strong decodable sources1874 were reproducible negatives, while
frozen-1201 readout-prefix transfer produced real base-side gains
without moving the held-confirm plateau1874 base
behavior near saturation, but held confirms still do not improve1821 and 1842 collapses into a weaker earlier-exit regime,
and minimal keyed sinks produce stable off-regime shortcuts rather than
rescuing held-confirm contentBest current single-run teacher-free basin-entry result from phase 8:
0.7907 / 0.5702 / 0.9499 / 122.17
for overall / fq_acc / fq_route / fq_exitBest current systematic teacher-seeded recovery result from phase 8:
teacher1821 -> memoryreadout longer lowlr five-seed panel:
base mean 0.6459 / 0.3085 / 0.9118 / 122.11
and full-locked mean 0.5939 / 0.2578 / 0.8085 / 114.38Best confirmed ES-assisted result still remains the phase-7 keepalive-anchor adapter branch:
0.9756 / 0.9500 / 1.0000 / 127.00Best current confirmed frozen-head content-recovery branch from phase 9:
0.8488 / 0.7004 / 0.9416 / 121.49
and five-seed full-locked mean
0.6534 / 0.3237 / 0.8771 / 115.49
for overall / fq_acc / fq_route / fq_exitBest current phase-10 strong-source multi-view reader family:
0.9891 / 0.9775 / 0.9445 / 121.99
and five-seed full-locked mean
0.6589 / 0.2996 / 0.8797 / 116.14
for overall / fq_acc / fq_route / fq_exitBest current phase-10 strict read-path adapter boundary:
0.6568 / 0.2957 / 0.8840 / 116.21, so not a robust improvement over the
phase-9 strong-source baselineBest current exact-rerun-clean phase-12 trajectory-aware reader:
0.9850 / 0.9699 / 0.9505 / 122.40
and full-locked 0.6494 / 0.3159 / 0.8771 / 115.49
for overall / fq_acc / fq_route / fq_exitBest current phase-12 high-base factorized reader family:
0.9982 / 0.9975 / 0.9457 / 121.86, but the exact rerun
later drifted into an early-exit shortcut regime, so this family is a strong
mapping result rather than a robust new ceiling-breakerBest current phase-13 stable late-route control:
0.9965 / 0.9460 / 121.86
for fq_acc / fq_route / fq_exitBest current phase-13 stable refinement:
0.9998 / 0.9410 / 121.44
for fq_acc / fq_route / fq_exit; it adds content on top of 16045 but
softens route and exitPhase-13 conclusion:
0.648 / 0.313 / 0.877 / 115.49, so the remaining bottleneck now looks more
like held-confirm content recovery than catastrophic shortcut instabilityPhase-14 conclusion:
17024, 17025), dual-anchor
route/content contracts (17031), hard-slice mining (17041, 17043), and
the first gated content-only sidecar (17063) all preserve the stabilized
late-route summary regime, but locked confirms still fall back to roughly
full_locked dqf 0.287-0.300 / 0.879-0.885 / 115.56-116.2217101) is rerun-clean on 1821
summary-time slices, but locked confirm still returns to the old
medium-source regime instead of opening a new portable frontier1879 remains a clean negative control, so the remaining bottleneck now
looks more like a deeper content-path architectural limit than a missing
supervision trick on the current fixed branchPhase 7 focused on keepalive-basin discovery, staged recovery, ES role mapping, and transfer/generalization stress.
./scripts/run_phase7_cluster_scouts.sh
./scripts/run_phase7_main.sh <config> <results-dir> [resume] [nproc_per_node]
./scripts/run_phase7_confirm.sh <run-dir> [extra-eval-config ...]
./scripts/run_phase7_seed_panels.sh <config> <results-root> <resume> <seed1> [seed2 ...]
Phase 8 focuses on teacher-seeded direct basin entry, teacher source/channel/release mapping, post-entry recovery, and phase-8 confirmation.
./scripts/run_phase8_teacher_sweeps.sh [results-root] [initial|tuned|map]
./scripts/run_phase8_cluster_scouts.sh [results-root] [explore|recover]
./scripts/run_phase8_main.sh <config> <results-dir> [resume] [nproc_per_node]
./scripts/run_phase8_confirm.sh <run-dir> [extra-eval-config ...]
./scripts/run_phase8_seed_panels.sh <config> <results-root> <resume> <seed1> [seed2 ...]
Phase 9 focuses on frozen-state content audits, strict head-only content shaping, content-transfer readers, gated minimal-safe touches, and head-level confirmation.
./scripts/run_phase9_source_audits.sh [results-root]
./scripts/run_phase9_cluster_scouts.sh [results-root] [fragile|medium|strong|es]
./scripts/run_phase9_main.sh <config> <results-dir> [resume] [nproc_per_node]
./scripts/run_phase9_confirm.sh <run-dir> [extra-eval-config ...]
./scripts/run_phase9_seed_panels.sh <config> <results-root> <resume> <seed1> [seed2 ...]
Phase 10 focuses on multi-view frozen-state readers, route-preserving read-path adapters, portability across decodable sources, and read-path confirmation.
./scripts/run_phase10_cluster_scouts.sh [results-root] [anchor|multiview|adapter|iterative|es]
./scripts/run_phase10_reader_sweeps.sh [results-root] [initial|adapter|iterative|es|tuned]
./scripts/run_phase10_main.sh <config> <results-dir> [resume] [nproc_per_node]
./scripts/run_phase10_confirm.sh <run-dir> [extra-eval-config ...]
./scripts/run_phase10_seed_panels.sh <config> <results-root> <resume> <seed1> [seed2 ...]
./scripts/run_phase10_source_audits.sh [results-root]
Phase 12 focuses on trajectory-aware temporal-bank readers, factorized content/query readers, portability/stress verification, probe-guided adapters, and a gated minimal keyed-sink test.
./scripts/run_phase12_cluster_scouts.sh [results-root]
./scripts/run_phase12_reader_banks.sh [results-root]
./scripts/run_phase12_probe_adapters.sh [results-root]
./scripts/run_phase12_sink_sweeps.sh [results-root]
./scripts/run_phase12_main.sh <config> <results-dir> [resume] [nproc_per_node]
./scripts/run_phase12_confirm.sh <run-dir> [extra-eval-config ...]
./scripts/run_phase12_seed_panels.sh <config> <results-root> <resume> <seed1> [seed2 ...]
Phase 2 adds a benchmark audit, a revised adaptive Benchmark B v2, deeper route diagnostics, and promoted long-horizon reruns. The main entrypoints are:
uv run python -m src.utils.benchmark_audit \
--config configs/phase2/audit/benchmark_b_v1.yaml \
--out results/phase2_audit/benchmark_b_v1/audit.json
uv run python -m src.utils.benchmark_audit \
--config configs/phase2/audit/benchmark_b_v2.yaml \
--out results/phase2_audit/benchmark_b_v2/audit.json
uv run python -m src.train.run \
--config configs/phase2/dev/hard_st_benchmark_b_v2_gatedblend_maskcurr.yaml \
--results-dir results/phase2_dev/hard_st_b_v2_gatedblend_maskcurr
uv run torchrun --standalone --nproc_per_node=2 -m src.train.run \
--config configs/phase2/dev/hybrid_es_benchmark_b_v2_gatedblend_writeaux_maskcurr_pop64.yaml \
--results-dir results/phase2_dev/hybrid_es_b_v2_gatedblend_writeaux_maskcurr_pop64
uv run python -m src.train.run \
--config configs/phase2/main/hard_st_benchmark_b_v2_maskcurr_h256.yaml \
--results-dir results/phase2_main/hard_st_b_v2_maskcurr_h256
uv run torchrun --standalone --nproc_per_node=2 -m src.train.run \
--config configs/phase2/main/hybrid_es_benchmark_b_v2_maskcurr_h256_stable.yaml \
--results-dir results/phase2_main/hybrid_es_b_v2_maskcurr_h256_stable
./scripts/run_phase2_seed_compare.sh results/phase2_final
uv run python -m src.utils.phase2_report \
--results-dir results/phase2_audit \
--results-dir results/phase2_dev \
--results-dir results/phase2_main \
--results-dir results/phase2_final \
--out docs/phase2_report.md
The seed-sweep configs for the final hard-ST comparison live under
configs/phase2/final/.
Phase 3 adds explicit packet memory, payload-aware write/read auxiliaries, and oracle-release follow-ups that isolate the Benchmark B v2 train/eval mismatch. The main entrypoints are:
uv run python -m src.train.run \
--config configs/phase3/dev/hard_st_benchmark_b_v2_keymem_payloadaux_oraclewarm.yaml \
--results-dir results/phase3_dev/hard_st_b_v2_keymem_payloadaux_oraclewarm
uv run torchrun --standalone --nproc_per_node=2 -m src.train.run \
--config configs/phase3/dev/hybrid_es_benchmark_b_v2_keymem_payloadaux_maskcurr_pop64.yaml \
--results-dir results/phase3_dev/hybrid_es_b_v2_keymem_payloadaux_maskcurr_pop64
./scripts/run_phase3_release_followups.sh phase3_release
The phase-3 writeup is docs/phase3_release_note.md.
Phase 4 targets the remaining delay_to_final_query failure with explicit
control-state diagnostics, sticky control-memory interventions, a promoted
hard-routing seed panel, and a hybrid-ES retest on the improved architecture.
uv run python -m src.utils.phase4_audit \
--run-dir results/phase3_dev/hard_st_b_v2_keymem_payloadaux_release_nomask_from_oraclewarm \
--num-batches 8 \
--probe-train-batches 8 \
--probe-test-batches 8
uv run python -m src.train.run \
--config configs/phase4/dev/hard_st_benchmark_b_v2_control_sticky_aux_router2.yaml \
--resume results/phase3_dev/hard_st_b_v2_keymem_payloadaux_oraclewarm/hard_st_best.pt \
--results-dir results/phase4_dev/hard_st_b_v2_control_sticky_aux_router2
uv run python -m src.train.run \
--config configs/phase4/main/hard_st_benchmark_b_v2_control_sticky_both_main.yaml \
--resume results/phase3_dev/hard_st_b_v2_keymem_payloadaux_oraclewarm/hard_st_best.pt \
--results-dir results/phase4_main/hard_st_b_v2_control_sticky_both_main_seed750
./scripts/run_phase4_seed_compare.sh
uv run torchrun --standalone --nproc_per_node=2 -m src.train.run \
--config configs/phase4/main/hybrid_es_benchmark_b_v2_control_sticky_aux_router2_resume_seed747.yaml \
--resume results/phase4_dev/hard_st_b_v2_control_sticky_aux_router2/hard_st_best.pt \
--results-dir results/phase4_main/hybrid_es_b_v2_control_sticky_aux_router2_resume_seed747
The phase-4 planning and final writeups are docs/phase4_plan.md, docs/phase4_report.md, and docs/phase4_lessons.md.
Phase 5 focuses on controller-factorization follow-ups, stricter verification, and ES role mapping across checkpoint quality.
./scripts/run_phase5_main.sh medium-adapter
./scripts/run_phase5_main.sh medium-routeronly
./scripts/run_phase5_main.sh weak-adapter
./scripts/run_phase5_main.sh weak-routeronly
./scripts/run_phase5_confirm.sh \
results/phase5_dev/hybrid_es_b_v2_control_router2_setclear_oraclecontrol_resume_from950_seed951_p1
./scripts/run_phase5_seed_panels.sh
uv run python -m src.utils.phase5_audit \
--run-dir results/phase5_dev/hard_st_b_v2_control_router2_setclear_oraclecontrol_opt_selectexit_seed950_p1 \
--split confirm \
--num-batches 6 \
--probe-train-batches 6 \
--probe-test-batches 6
The phase-5 planning and writeups are docs/phase5_plan.md, docs/phase5_report.md, and docs/phase5_lessons.md.
Phase 7 broadens the campaign into a balanced discovery / recovery / ES map and
tracks the full run ledger in docs/phase7_run_matrix.csv.
Anchor reproduction:
./scripts/run_phase7_cluster_scouts.sh anchors
Representative cluster runs:
./scripts/run_phase7_main.sh \
configs/phase7/dev/hard_st_benchmark_b_v2_forceoracle_release_longerstrong_refine_memoryreadout_seed1305.yaml \
results/phase7_dev/hard_st_b_v2_forceoracle_release_longerstrong_refine_memoryreadout_seed1305_p1
./scripts/run_phase7_main.sh \
configs/phase7/dev/hybrid_es_benchmark_b_v2_controlsticky_keepalive_resume.yaml \
results/phase7_dev/hybrid_es_b_v2_controlsticky_keepalive_resume_from989_seed1201_p1 \
results/phase7_anchor/hard_st_b_v2_controlsticky_keepalive_seed989_rerun1/hard_st_best.pt \
2
Confirmation / verification:
./scripts/run_phase7_confirm.sh \
results/phase7_dev/hybrid_es_b_v2_controlsticky_keepalive_resume_from989_seed1201_p1
Seed panels:
./scripts/run_phase7_seed_panels.sh \
configs/phase7/dev/hard_st_benchmark_b_v2_forceoracle_release_longerstrong_refine_memoryreadout_seed1305.yaml \
results/phase7_panel/hard_st_b_v2_forceoracle_release_longerstrong_refine_memoryreadout \
'' \
1302 1303 1304 1305 1306
The phase-7 planning and final writeups are docs/phase7_plan.md, docs/phase7_report.md, docs/phase7_lessons.md, docs/phase7_cluster_scorecards.md, and docs/phase7_run_matrix.csv.
The original paper and reference code used to keep the implementation honest are stored locally under:
references/eggroll_paper.pdfreferences/eggroll_paper.mdreferences/HyperscaleES/docs/eggroll_reference_alignment.md338 commits
Python
82.1%
Shell
15.0%
Jupyter Notebook
2.9%
Synthetic experiment suite for testing whether an EGGROLL-inspired hybrid low-rank evolutionary search method makes a hard-routing spatio-temporal packet-routing graph network practical on a single 2-GPU machine.
The implementation is intentionally EGGROLL-inspired, not an exact reproduction of the paper or the HyperscaleES JAX stack. The repo focuses on:
FORWARD, EXIT, and DELAYtorchrunuv venv --python 3.12
source .venv/bin/activate
uv sync
PyTorch is installed from the CUDA 13.0 nightly index through uv.
When building native extensions or rebuilding local packages, keep rebuilds at 16 threads:
export MAX_JOBS=16
export CMAKE_BUILD_PARALLEL_LEVEL=16
export MAKEFLAGS=-j16
export OMP_NUM_THREADS=16
export MKL_NUM_THREADS=16
src/
data/ synthetic benchmarks
models/ packet-routing graph model
es/ low-rank ES implementation
train/ training entrypoint
utils/ config loading and report generation
configs/
smoke/ minute-scale correctness checks
dev/ moderate comparison runs
main/ larger runs for the target machine
scripts/
run_smoke.sh
run_main.sh
report.sh
tests/
docs/
results/
references/
Smoke suite:
./scripts/run_smoke.sh results/smoke_suite
Dev comparison suite:
./scripts/run_main.sh dev results/dev_suite
Main suite:
./scripts/run_main.sh main results/main_suite
Regenerate the markdown report from an existing results root:
./scripts/report.sh results/dev_suite docs/experiment_report.md
Single-run commands:
uv run python -m src.train.run --config configs/smoke/soft.yaml
uv run python -m src.train.run --config configs/smoke/hard_st.yaml
uv run torchrun --standalone --nproc_per_node=2 -m src.train.run --config configs/smoke/hybrid_es.yaml
uv run python -m src.train.run --config configs/dev/soft_benchmark_a.yaml
uv run python -m src.train.run --config configs/dev/hard_st_benchmark_a.yaml
uv run torchrun --standalone --nproc_per_node=2 -m src.train.run --config configs/dev/hybrid_es_benchmark_a.yaml
uv run python -m src.train.run --config configs/dev/soft_benchmark_b.yaml
uv run python -m src.train.run --config configs/dev/hard_st_benchmark_b.yaml
uv run torchrun --standalone --nproc_per_node=2 -m src.train.run --config configs/dev/hybrid_es_benchmark_b.yaml
uv run python -m src.utils.report --results-dir results/dev_suite --out docs/experiment_report.md
uv run pytest -q
The test suite covers:
DELAY behaviorPhase 15 closed as a strong mapping exit. On the fixed 16045 route anchor,
the best richer-content-path family is the route-isolated sidecar path rather
than the multi-slot channel family. The best fully confirmed branches are
18052 and 18057, which preserve the stable late-route regime and produce
only modest locked-confirm content lifts:
18052 locked confirm full_locked overall / fq_acc / fq_route / fq_exit = 0.6592 / 0.3001 / 0.8797 / 116.1418057 locked confirm full_locked overall / fq_acc / fq_route / fq_exit = 0.6589 / 0.2995 / 0.8797 / 116.14The best multi-slot branch 18026 stayed stable but still fell to the old
confirm ceiling at 0.6527 / 0.2874 / 0.8850 / 116.22. Bounded 1821
portability remained weak even after an exact rerun (18222 confirmed at
0.6149 / 0.2560 / 0.8329 / 116.34), and 1879 remained cleanly negative.
The current scientific interpretation is that the next bottleneck is not route stability or simple readout width. It is more likely content writing / retrieval quality inside the isolated sidecar path.
The current long-horizon writeups are:
Current headline state:
memory_ destabilizes fragile basins while
head-only reopenings preserve routing but still do not recover content1874 and medium teacher-shaped 1842 are strongly
decodable, while fragile route-faithful 1879 is weak-content even under
query-conditioned probesfinal_sink_state is the decisive frozen content view
on strong decodable sources1874 were reproducible negatives, while
frozen-1201 readout-prefix transfer produced real base-side gains
without moving the held-confirm plateau1874 base
behavior near saturation, but held confirms still do not improve1821 and 1842 collapses into a weaker earlier-exit regime,
and minimal keyed sinks produce stable off-regime shortcuts rather than
rescuing held-confirm contentBest current single-run teacher-free basin-entry result from phase 8:
0.7907 / 0.5702 / 0.9499 / 122.17
for overall / fq_acc / fq_route / fq_exitBest current systematic teacher-seeded recovery result from phase 8:
teacher1821 -> memoryreadout longer lowlr five-seed panel:
base mean 0.6459 / 0.3085 / 0.9118 / 122.11
and full-locked mean 0.5939 / 0.2578 / 0.8085 / 114.38Best confirmed ES-assisted result still remains the phase-7 keepalive-anchor adapter branch:
0.9756 / 0.9500 / 1.0000 / 127.00Best current confirmed frozen-head content-recovery branch from phase 9:
0.8488 / 0.7004 / 0.9416 / 121.49
and five-seed full-locked mean
0.6534 / 0.3237 / 0.8771 / 115.49
for overall / fq_acc / fq_route / fq_exitBest current phase-10 strong-source multi-view reader family:
0.9891 / 0.9775 / 0.9445 / 121.99
and five-seed full-locked mean
0.6589 / 0.2996 / 0.8797 / 116.14
for overall / fq_acc / fq_route / fq_exitBest current phase-10 strict read-path adapter boundary:
0.6568 / 0.2957 / 0.8840 / 116.21, so not a robust improvement over the
phase-9 strong-source baselineBest current exact-rerun-clean phase-12 trajectory-aware reader:
0.9850 / 0.9699 / 0.9505 / 122.40
and full-locked 0.6494 / 0.3159 / 0.8771 / 115.49
for overall / fq_acc / fq_route / fq_exitBest current phase-12 high-base factorized reader family:
0.9982 / 0.9975 / 0.9457 / 121.86, but the exact rerun
later drifted into an early-exit shortcut regime, so this family is a strong
mapping result rather than a robust new ceiling-breakerBest current phase-13 stable late-route control:
0.9965 / 0.9460 / 121.86
for fq_acc / fq_route / fq_exitBest current phase-13 stable refinement:
0.9998 / 0.9410 / 121.44
for fq_acc / fq_route / fq_exit; it adds content on top of 16045 but
softens route and exitPhase-13 conclusion:
0.648 / 0.313 / 0.877 / 115.49, so the remaining bottleneck now looks more
like held-confirm content recovery than catastrophic shortcut instabilityPhase-14 conclusion:
17024, 17025), dual-anchor
route/content contracts (17031), hard-slice mining (17041, 17043), and
the first gated content-only sidecar (17063) all preserve the stabilized
late-route summary regime, but locked confirms still fall back to roughly
full_locked dqf 0.287-0.300 / 0.879-0.885 / 115.56-116.2217101) is rerun-clean on 1821
summary-time slices, but locked confirm still returns to the old
medium-source regime instead of opening a new portable frontier1879 remains a clean negative control, so the remaining bottleneck now
looks more like a deeper content-path architectural limit than a missing
supervision trick on the current fixed branchPhase 7 focused on keepalive-basin discovery, staged recovery, ES role mapping, and transfer/generalization stress.
./scripts/run_phase7_cluster_scouts.sh
./scripts/run_phase7_main.sh <config> <results-dir> [resume] [nproc_per_node]
./scripts/run_phase7_confirm.sh <run-dir> [extra-eval-config ...]
./scripts/run_phase7_seed_panels.sh <config> <results-root> <resume> <seed1> [seed2 ...]
Phase 8 focuses on teacher-seeded direct basin entry, teacher source/channel/release mapping, post-entry recovery, and phase-8 confirmation.
./scripts/run_phase8_teacher_sweeps.sh [results-root] [initial|tuned|map]
./scripts/run_phase8_cluster_scouts.sh [results-root] [explore|recover]
./scripts/run_phase8_main.sh <config> <results-dir> [resume] [nproc_per_node]
./scripts/run_phase8_confirm.sh <run-dir> [extra-eval-config ...]
./scripts/run_phase8_seed_panels.sh <config> <results-root> <resume> <seed1> [seed2 ...]
Phase 9 focuses on frozen-state content audits, strict head-only content shaping, content-transfer readers, gated minimal-safe touches, and head-level confirmation.
./scripts/run_phase9_source_audits.sh [results-root]
./scripts/run_phase9_cluster_scouts.sh [results-root] [fragile|medium|strong|es]
./scripts/run_phase9_main.sh <config> <results-dir> [resume] [nproc_per_node]
./scripts/run_phase9_confirm.sh <run-dir> [extra-eval-config ...]
./scripts/run_phase9_seed_panels.sh <config> <results-root> <resume> <seed1> [seed2 ...]
Phase 10 focuses on multi-view frozen-state readers, route-preserving read-path adapters, portability across decodable sources, and read-path confirmation.
./scripts/run_phase10_cluster_scouts.sh [results-root] [anchor|multiview|adapter|iterative|es]
./scripts/run_phase10_reader_sweeps.sh [results-root] [initial|adapter|iterative|es|tuned]
./scripts/run_phase10_main.sh <config> <results-dir> [resume] [nproc_per_node]
./scripts/run_phase10_confirm.sh <run-dir> [extra-eval-config ...]
./scripts/run_phase10_seed_panels.sh <config> <results-root> <resume> <seed1> [seed2 ...]
./scripts/run_phase10_source_audits.sh [results-root]
Phase 12 focuses on trajectory-aware temporal-bank readers, factorized content/query readers, portability/stress verification, probe-guided adapters, and a gated minimal keyed-sink test.
./scripts/run_phase12_cluster_scouts.sh [results-root]
./scripts/run_phase12_reader_banks.sh [results-root]
./scripts/run_phase12_probe_adapters.sh [results-root]
./scripts/run_phase12_sink_sweeps.sh [results-root]
./scripts/run_phase12_main.sh <config> <results-dir> [resume] [nproc_per_node]
./scripts/run_phase12_confirm.sh <run-dir> [extra-eval-config ...]
./scripts/run_phase12_seed_panels.sh <config> <results-root> <resume> <seed1> [seed2 ...]
Phase 2 adds a benchmark audit, a revised adaptive Benchmark B v2, deeper route diagnostics, and promoted long-horizon reruns. The main entrypoints are:
uv run python -m src.utils.benchmark_audit \
--config configs/phase2/audit/benchmark_b_v1.yaml \
--out results/phase2_audit/benchmark_b_v1/audit.json
uv run python -m src.utils.benchmark_audit \
--config configs/phase2/audit/benchmark_b_v2.yaml \
--out results/phase2_audit/benchmark_b_v2/audit.json
uv run python -m src.train.run \
--config configs/phase2/dev/hard_st_benchmark_b_v2_gatedblend_maskcurr.yaml \
--results-dir results/phase2_dev/hard_st_b_v2_gatedblend_maskcurr
uv run torchrun --standalone --nproc_per_node=2 -m src.train.run \
--config configs/phase2/dev/hybrid_es_benchmark_b_v2_gatedblend_writeaux_maskcurr_pop64.yaml \
--results-dir results/phase2_dev/hybrid_es_b_v2_gatedblend_writeaux_maskcurr_pop64
uv run python -m src.train.run \
--config configs/phase2/main/hard_st_benchmark_b_v2_maskcurr_h256.yaml \
--results-dir results/phase2_main/hard_st_b_v2_maskcurr_h256
uv run torchrun --standalone --nproc_per_node=2 -m src.train.run \
--config configs/phase2/main/hybrid_es_benchmark_b_v2_maskcurr_h256_stable.yaml \
--results-dir results/phase2_main/hybrid_es_b_v2_maskcurr_h256_stable
./scripts/run_phase2_seed_compare.sh results/phase2_final
uv run python -m src.utils.phase2_report \
--results-dir results/phase2_audit \
--results-dir results/phase2_dev \
--results-dir results/phase2_main \
--results-dir results/phase2_final \
--out docs/phase2_report.md
The seed-sweep configs for the final hard-ST comparison live under
configs/phase2/final/.
Phase 3 adds explicit packet memory, payload-aware write/read auxiliaries, and oracle-release follow-ups that isolate the Benchmark B v2 train/eval mismatch. The main entrypoints are:
uv run python -m src.train.run \
--config configs/phase3/dev/hard_st_benchmark_b_v2_keymem_payloadaux_oraclewarm.yaml \
--results-dir results/phase3_dev/hard_st_b_v2_keymem_payloadaux_oraclewarm
uv run torchrun --standalone --nproc_per_node=2 -m src.train.run \
--config configs/phase3/dev/hybrid_es_benchmark_b_v2_keymem_payloadaux_maskcurr_pop64.yaml \
--results-dir results/phase3_dev/hybrid_es_b_v2_keymem_payloadaux_maskcurr_pop64
./scripts/run_phase3_release_followups.sh phase3_release
The phase-3 writeup is docs/phase3_release_note.md.
Phase 4 targets the remaining delay_to_final_query failure with explicit
control-state diagnostics, sticky control-memory interventions, a promoted
hard-routing seed panel, and a hybrid-ES retest on the improved architecture.
uv run python -m src.utils.phase4_audit \
--run-dir results/phase3_dev/hard_st_b_v2_keymem_payloadaux_release_nomask_from_oraclewarm \
--num-batches 8 \
--probe-train-batches 8 \
--probe-test-batches 8
uv run python -m src.train.run \
--config configs/phase4/dev/hard_st_benchmark_b_v2_control_sticky_aux_router2.yaml \
--resume results/phase3_dev/hard_st_b_v2_keymem_payloadaux_oraclewarm/hard_st_best.pt \
--results-dir results/phase4_dev/hard_st_b_v2_control_sticky_aux_router2
uv run python -m src.train.run \
--config configs/phase4/main/hard_st_benchmark_b_v2_control_sticky_both_main.yaml \
--resume results/phase3_dev/hard_st_b_v2_keymem_payloadaux_oraclewarm/hard_st_best.pt \
--results-dir results/phase4_main/hard_st_b_v2_control_sticky_both_main_seed750
./scripts/run_phase4_seed_compare.sh
uv run torchrun --standalone --nproc_per_node=2 -m src.train.run \
--config configs/phase4/main/hybrid_es_benchmark_b_v2_control_sticky_aux_router2_resume_seed747.yaml \
--resume results/phase4_dev/hard_st_b_v2_control_sticky_aux_router2/hard_st_best.pt \
--results-dir results/phase4_main/hybrid_es_b_v2_control_sticky_aux_router2_resume_seed747
The phase-4 planning and final writeups are docs/phase4_plan.md, docs/phase4_report.md, and docs/phase4_lessons.md.
Phase 5 focuses on controller-factorization follow-ups, stricter verification, and ES role mapping across checkpoint quality.
./scripts/run_phase5_main.sh medium-adapter
./scripts/run_phase5_main.sh medium-routeronly
./scripts/run_phase5_main.sh weak-adapter
./scripts/run_phase5_main.sh weak-routeronly
./scripts/run_phase5_confirm.sh \
results/phase5_dev/hybrid_es_b_v2_control_router2_setclear_oraclecontrol_resume_from950_seed951_p1
./scripts/run_phase5_seed_panels.sh
uv run python -m src.utils.phase5_audit \
--run-dir results/phase5_dev/hard_st_b_v2_control_router2_setclear_oraclecontrol_opt_selectexit_seed950_p1 \
--split confirm \
--num-batches 6 \
--probe-train-batches 6 \
--probe-test-batches 6
The phase-5 planning and writeups are docs/phase5_plan.md, docs/phase5_report.md, and docs/phase5_lessons.md.
Phase 7 broadens the campaign into a balanced discovery / recovery / ES map and
tracks the full run ledger in docs/phase7_run_matrix.csv.
Anchor reproduction:
./scripts/run_phase7_cluster_scouts.sh anchors
Representative cluster runs:
./scripts/run_phase7_main.sh \
configs/phase7/dev/hard_st_benchmark_b_v2_forceoracle_release_longerstrong_refine_memoryreadout_seed1305.yaml \
results/phase7_dev/hard_st_b_v2_forceoracle_release_longerstrong_refine_memoryreadout_seed1305_p1
./scripts/run_phase7_main.sh \
configs/phase7/dev/hybrid_es_benchmark_b_v2_controlsticky_keepalive_resume.yaml \
results/phase7_dev/hybrid_es_b_v2_controlsticky_keepalive_resume_from989_seed1201_p1 \
results/phase7_anchor/hard_st_b_v2_controlsticky_keepalive_seed989_rerun1/hard_st_best.pt \
2
Confirmation / verification:
./scripts/run_phase7_confirm.sh \
results/phase7_dev/hybrid_es_b_v2_controlsticky_keepalive_resume_from989_seed1201_p1
Seed panels:
./scripts/run_phase7_seed_panels.sh \
configs/phase7/dev/hard_st_benchmark_b_v2_forceoracle_release_longerstrong_refine_memoryreadout_seed1305.yaml \
results/phase7_panel/hard_st_b_v2_forceoracle_release_longerstrong_refine_memoryreadout \
'' \
1302 1303 1304 1305 1306
The phase-7 planning and final writeups are docs/phase7_plan.md, docs/phase7_report.md, docs/phase7_lessons.md, docs/phase7_cluster_scorecards.md, and docs/phase7_run_matrix.csv.
The original paper and reference code used to keep the implementation honest are stored locally under:
references/eggroll_paper.pdfreferences/eggroll_paper.mdreferences/HyperscaleES/docs/eggroll_reference_alignment.md338 commits
Python
82.1%
Shell
15.0%
Jupyter Notebook
2.9%