Adapting a forecasting system to a changing world classically means retraining. We ask whether the task of continually learning regimes for time series forecasting can be represented by a piece of text: a guidance block, evolved by outcome-driven reflection and used in a frozen LLM forecaster's prompt. On a refreshed multimodal benchmark (weekly search indices, daily currencies, daily commodities, each window paired with web-retrieved news), we run GEPA-style prompt evolution under strict contamination control to prevent the data leakage common in timeseries benchmarks: the forecaster's knowledge cutoff predates every evaluated window. A 900-word evolved guidance carried by Llama-3.3-70B beats TimeSeries Foundation Models (TSFMs) on held-out data (GM MASE 0.776 vs. 0.898 for TabPFN-TS-3), transfers to more recent models without measurable loss, and costs dollars rather than GPU-days to update. We characterize the loop: out-of-loop gains concentrate in the first reflection, in-loop improvements overstate out-of-loop gains 2-3x unless an untouched monitor arbitrates, and error-only objectives silently suppress the text modality. We provide two extensions. First, compiling the guidance into executable code with a TSFM as a callable tool recovers most of the gain deterministically. Second, ablations show the advantage widens at short horizons and that removing the news text does not hurt the guided forecaster, consistent with the text's value being distilled into policy during learning. We argue that continual prompt evolution is a practical, training-free alternative to retraining for multimodal forecasting.
Figures & tables
Figure 1: The evolution loop: forecast with the current guidance, reflect on traces, gate on a minibatch, select on a fixed set under an instance-level Pareto front; an untouched monitor arbitrates and final tiers are spent once.
arm
Commodity
Currency
SearchTrend
ALL
Llama 3.3 + G num (evolved)
0.399
0.864 ∗
1.422
0.776 ∗
Opus 4.6 + G text (transferred)
0.472
1.077
1.110
0.785 ∗
Opus 4.6 + G num (transferred)
0.528
0.905
1.161
0.807 ∗
Llama 3.3 + G text (evolved, text-using)
0.463
0.974
1.341
0.824
TabPFN-TS-3
0.654
0.853 ∗
1.259
0.898
TimesFM-2.5
0.711
0.911
1.256
0.939
Table 1: GM MASE on the 249-window final tier (origins Sep-2025 – Mar-2026, after every model’s cutoff). Same windows, same pipeline, same metric for every row. Best per column in bold; ∗ marks cells within one standard error of the column best (paired on log-MASE).
arm
Commodity
Currency
SearchTrend
ALL
G code (learned: code + TabPFN + LLM)
0.608
0.845 ∗
1.042
0.807 ∗
naive avg. of Llama+G num and Llama+G text
0.420
0.874 ∗
1.316
0.770 ∗
naive avg. of TabPFN and Opus+G text
0.622
0.907
1.136
0.854
best evolved prompt (Llama+G num )
0.399
0.864 ∗
1.422
0.776 ∗
best TSFM (TabPFN-TS-3)
0.654
0.853 ∗
1.259
0.898
Table 2: The compiled system vs. reference arms: GM MASE on the 249-window final tier (full singles in Table 1 ). “Naive avg.” rows are per-window means of two arms’ point forecasts, the TimesX paper’s strongest composition recipe, shown at its best cells from our 17-pair grid (Appendix B ). Best per column in bold; ∗ marks cells within one standard error of the column best (paired on log-MASE).
arm
h=3
h=6
h=12
Llama 3.3 + G num
0.291
0.413
0.776 ∗
Opus 4.6 + G text
0.349
0.472
0.785 ∗
TabPFN-TS-3
0.434
0.565
0.898
TimesFM-2.5
0.453
0.594
0.939
Llama 3.3 unguided
0.463
0.679
1.043
Opus 4.6 unguided
0.367
0.591
1.043
Table 3: Horizon ablation (GM MASE on the 249-window tier; first h steps of the same cached forecasts). Best per column in bold; ∗ marks cells within one standard error of the column best (paired on log-MASE).
arm
Commodity
Currency
SearchTrend
ALL
G num ( h=12 -evolved, truncated)
0.097 ∗
0.439
0.701
0.291
h=3 -evolved champion
0.106 ∗
0.464
0.739
0.311
TabPFN-TS-3
0.267
0.405
0.727
0.434
TimesFM-2.5
0.284
0.484
0.693
0.453
unguided
0.255
0.562
0.757
0.463
Table 4: Optimize-for- h=3 vs. truncate-from- h=12 (GM MASE, 249-window tier, h=3 ). Best per column in bold; ∗ marks cells within one standard error of the column best (paired on log-MASE). In the SearchTrend column no cell differs from the best by more than about one standard error: the domain does not discriminate methods at this horizon.