adapter-system

Documents LoRA/LoKr adapter loading, merging, stacking, and per-section masking in the HOT-Step engine.

151|22|Updated Apr 19, 2026
One-click install
npx skills add https://github.com/scragnog/HOT-Step-CPP --skill adapter-system-scragnog
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: adapter-system
Source: https://github.com/scragnog/HOT-Step-CPP/tree/main/.claude/skills/adapter-system
Command: npx skills add https://github.com/scragnog/HOT-Step-CPP --skill adapter-system-scragnog

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Working on HOT-Step's adapter subsystem without this knowledge causes silent failures: adapters that load but produce base-model audio, cache-key collisions that serve the wrong merged weights, CUDA crashes during per-section alignment, and UI knobs that appear dead after LM round trips. This Skill captures the failure modes, cache-key discipline, and reverted research directions so changes to adapter code do not reintroduce shipped bugs. ## Core Features & Use Cases - Adapter pipeline reference: Traces how LoRA/LoKr/DoRA adapters flow from UI parameters through the Node server sideband into merge-mode or runtime-mode loading in the C++/GGML engine, with exact file and line references. - Failure signature table: Maps symptoms (silent adapters, CUDA errors, wrong strength, stalled quantization) to root causes and the commits that fixed them. - Per-section and timestep gating internals: Explains regional adapter masking via lyric directives, mask re-upload requirements, alignment-based timing, and gain-curve gating over the diffusion trajectory. - Use Case: When a user reports that the Adapter VRAM knob does nothing, use this Skill to trace the parameter through translateParams.ts, the LM-echo rebuild in generate.ts, and the ServerFields sideband to find where the field was dropped. ## Quick Start Ask the AI to explain why a stacked adapter sounds wrong in runtime mode and have it consult this skill's golden rules and failure signature table before editing any engine adapter code.

Frequently Asked Questions about adapter-system

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why is my LoRA adapter silent or inaudible during generation?

Silent adapters usually mean per-section mask tensors were not re-uploaded every sampling step, because GGML clobbers input buffers after each compute. Check the re-upload sites in hot-step-sampler.h and verify the load failure was not cached as a success under an adapter-bearing ModelKey.

How do I stack multiple LoRA adapters in HOT-Step?

Stacking uses a sideband adapter list with per-adapter scales, merged sequentially in merge mode or summed as staged deltas in runtime mode. Basin re-base must apply once per stack on the first adapter only, never per adapter, or only the last adapter survives.

Does runtime mode support DoRA adapters?

No, DoRA is merge-mode only because runtime mode cannot express its multiplicative per-row rescale as an additive delta. The runtime loader detects DoRA tensors, warns loudly, and applies the adapter as plain LoRA instead.

Why do adapter settings like Adapter VRAM or Alignment Timing do nothing?

These sideband-only parameters get dropped when the server rebuilds synth requests after an LM round trip using a field whitelist. The fix rebuilds requests by spreading the original aceReq so all ServerFields params survive.

Can I convert adapters between different base models or architectures?

Cross-base conversion fails due to loss-basin sensitivity despite near-identical weights; the shipped fix is a beta-scaled basin re-base nudge validated in merge mode. Cross-architecture conversion remains unsolved, and per-layer linear weight surgery is explicitly ruled out.

What causes CUDA invalid argument errors during per-section alignment?

The mid-sampling alignment pass must run on its own private scheduler; sharing the main DiT scheduler corrupts CUDA state. Graph node budgets and scheduler hash-sets must also scale with the number of section adapters.