• Stefy Lanza (nextime / spora )'s avatar
    longcat: configurable from the model page, and the settings survive a save (v0.2.34) · 0474bb88
    Stefy Lanza (nextime / spora ) authored
    Step 5. The requirement is "full configuration in the interface", and the trap is silent:
    api_model_configure REBUILDS the entry from scratch and copies only an explicit
    whitelist, so a key with a UI control but no whitelist entry is written once and deleted
    on the next save from the models page. It looks saved until you reload. That is precisely
    why H3's documented h3_venv / in_process / dtype keys never survive, and it is not
    inherited here.
    
    - `longcat` is now an option in the hard-coded cfg-backend select — without that the
      backend cannot be pinned from the UI at all, which is the other half of why H3's
      `backend: "h3"` switch is unreachable.
    - A cfg-longcat field group, shown for that backend: variant (bf16/fp8/int8/gguf),
      default quality, offload, segments, conditioning frames, context-parallel GPUs, repo
      checkout, venv, and the avatar fields (reference frame index, mask range, INT8,
      distilled sampling, KV-cache offload). Populated on open and read back on save.
    - All thirteen keys added to the whitelist, with a comment saying what happens without it.
    - The settings now DO something: the dispatch reads num_segments, num_cond_frames,
      offload_kv_cache and quality off the entry as defaults, with the request still winning.
      A knob that is saved but never read is worse than no knob.
    - docs/longcat-video.md: why the venv exists, the two prerequisites, the download repos
      and why file_pattern matters (~83 GB), the checkpoint layout, the stages and presets,
      the segment arithmetic, the VRAM/eviction/segment-boundary behaviour, and an explicit
      list of what is NOT done — including that no generation has been verified against real
      weights.
    
    62 tests, parameterised over every field so a future control added without a whitelist
    entry fails rather than silently losing data.
    
    Not in this step: there is no known-model catalogue in the codebase to pre-register the
    LongCat repos into — adding a model is operator-driven by model_id — so the repos and
    their file patterns are documented instead of hardcoded.
    Co-Authored-By: 's avatarClaude Opus 5 (1M context) <noreply@anthropic.com>
    Claude-Session: https://claude.ai/code/session_0182DhR1eFNPQyGmDrpHbedY
    0474bb88
test_longcat_config_ui.py 6.47 KB