Member Junction
    Preparing search index...

    The adaptive "what-next" seam (plan §9.1 — "internal LLM inference is used only for choices"). Given the results so far, decide which experiments to run in the next wave. The default implementation is fully deterministic (PlanOrderWaveStrategist) — it just iterates the plan's ProposedExperiments in priority order, in waves. An optional LLM-backed strategist can be injected later to swap in adaptive "given these results, what to try next" behavior without touching the deterministic loop.

    interface IWaveStrategist {
        proposeNextWave(
            context: WaveStrategistContext,
        ):
            | {
                AlgorithmName: string;
                FeatureSet: string[];
                Hyperparameters?: Record<string, unknown>;
                Label: string;
                Priority: number;
                Rationale: string;
            }[]
            | Promise<
                {
                    AlgorithmName: string;
                    FeatureSet: string[];
                    Hyperparameters?: Record<string, unknown>;
                    Label: string;
                    Priority: number;
                    Rationale: string;
                }[],
            >;
    }

    Implemented by

    Index

    Methods

    • Choose the experiments for the next wave.

      Parameters

      • context: WaveStrategistContext

        the leaderboard + already-run experiments + remaining candidates + the plan, so the strategist can decide what to try next

      Returns
          | {
              AlgorithmName: string;
              FeatureSet: string[];
              Hyperparameters?: Record<string, unknown>;
              Label: string;
              Priority: number;
              Rationale: string;
          }[]
          | Promise<
              {
                  AlgorithmName: string;
                  FeatureSet: string[];
                  Hyperparameters?: Record<string, unknown>;
                  Label: string;
                  Priority: number;
                  Rationale: string;
              }[],
          >

      the experiments to run in the next wave (empty array ends the loop)