aurora-mix-v1 — cascade challenger generator
A twelve-family synthetic time-series prior built to out-train the genesis king
(tempopfn-base-mix-v1). numpy + scipy only — no torch, no vendored package,
one self-contained generator.py.
Study the live king first (cascade fetch)
Every committed generator is public and content-addressed. Pull the reigning
king and diff your prior against the actual code that is winning right now
(the current testnet king is a GP-based smoothgp, so the kernel_gp family
below competes it head-on):
cascade fetch king --network test --chain-toml chain.testnet.toml # → ./fetched-king-uidN
python local_validator/validate.py --repo my_generator --king ./fetched-king-uidN
--king accepts any generator dir, so the compare stage scores your
feature-space coverage against the live king, not just the shipped
base_generator. You win by improving on the visible best — a byte-identical
copy is dropped before it trains, so you must genuinely beat it.
Strategy vs the king
The king mixes ten TempoPFN families. This generator:
Keeps the highest-signal families (per the TempoPFN ablation), with its own implementations: compositional GP/kernel priors (KernelSynth-style, coarse-grid Cholesky + cubic upsampling) and rich trend × multi-seasonality × structured-noise composition.
Adds seven regime classes the king does not emit:
family real-world shape it teaches literature chaotic(Lorenz/Rössler/Duffing/Mackey-Glass/logistic/Hénon)nonlinear dynamics, traffic/weather transfer DynaMix (arXiv 2505.13192) fgn(fractional Gaussian noise / fBm)long-range dependence classic Hurst regime_garch(Markov-switching AR + GARCH)volatility clustering, regime shifts econ/finance intermittent(zero-inflated counts)retail demand, sparse events Croston calendar(daily profile × weekly factors × holidays)energy/traffic load curves — growth(logistic/Gompertz/lifecycle)adoption curves, saturation Bass bursts_anomaly(subcritical Hawkes + anomaly-injected AR)bursty events, robustness to outliers/level shifts — TSMixup-style
mixupfamily: convex combinations across families (Chronos showed mixing improves zero-shot generalisation).Scale/offset/quantisation diversity in post-processing: log-uniform scales over five decades, offsets, integer quantisation (count-like series), softplus positivity — the from-scratch model must learn scale-robustness from the corpus alone.
Length mixture biased long (55 % of crops in [768, 2048]) — more signal per series while keeping short-series coverage.
Determinism
The corpus is a pure function of (seed, n_series). Every RNG is a
np.random.default_rng(SeedSequence([seed, tag, index])); there is no global
RNG, no torch, no wall-clock, no hash(). Verified by
cascade verify (two full draws, digest-compared).
Verify / test
# from the cascade repo root
python local_validator/validate.py --repo my_generator # full local gauntlet
python -m pytest my_generator/tests -q # contract tests
cascade verify ./my_generator # the real pre-deploy check
Deploy (when ready)
cascade deploy ./my_generator --hub-repo <namespace/aurora-mix> \
--wallet-name <coldkey> --wallet-hotkey <hotkey>
Remember: one hotkey = one submission, for life. Deploy only after the local gauntlet and (ideally) a rented-GPU A/B train against the current king's public generator.