mlx-bun library API
    Preparing search index...

    The target operations the speculative group and the fill group call, bound once from the graph's phases. A replacement graph supplies this entire port, including any hidden taps. The verifier never needs a MlxTokenGraph or an artifact-family check. Each forward names its phase; work, when given, is the mixed iteration's hook and runs the same rows inside a shared forward.

    interface MlxSpeculativeTargetBinding {
        prefillTailSplit: boolean;
        decode(
            ids: MlxArray,
            caches: Cache[],
            tapLayers?: readonly number[],
            work?: MlxForwardWork,
        ): Promise<MlxTargetForward>;
        makeCache(): Cache[];
        prefill(
            ids: MlxArray,
            caches: Cache[],
            step: MlxPromptStep,
            tapLayers?: readonly number[],
            work?: MlxForwardWork,
        ): Promise<MlxTargetForward>;
        projectLogits(hidden: MlxArray, rows: number): MlxArray;
        supportsTapLayers(layers: readonly number[]): boolean;
        verify(
            ids: MlxArray,
            caches: Cache[],
            window: MlxVerifyWindow,
            tapLayers?: readonly number[],
            work?: MlxForwardWork,
        ): Promise<MlxTargetForward>;
    }
    Index
    prefillTailSplit: boolean

    Whether prompts leave their last token pending for the first verify window (the composition's prefillTailSplit).