Files
club-3090/scripts/lib
1182d6b2c3 feat(registry): slug health/availability flag (#265)
* feat(registry): add slug health/availability flag

Add a lifecycle `status` to every registry slug so `switch.sh --list`,
launch, and switch are no longer blind to a compose's health. Previously
status lived only in compose-header comments, which drifted: the Genesis
dual compose declared "Working (with Genesis)" while its pin is parked and
it won't boot clean — a user could boot a broken slug unknowingly.

- compose_registry.py: `_entry()` gains keyword-only `status`
  (default "production") + `status_note`, validated against the enum
  (production/caveats/experimental/preview/upstream-gated/deprecated).
  Add `compose_header_status()` mapping a compose's profile-schema
  `Status:` emoji to that enum.
- Sweep every compose `Status:` header to a canonical enum value and
  re-flag the non-functional slugs: all *genesis* + gemma-4-31b single
  fp8 -> upstream-gated; carnice -> caveats; qwopus + qwen-a3b-preview
  -> preview; bf16/int8 A/Bs, llamacpp bounded-thinking, PRISM/APEX eval
  lanes, gemma-4-26b-a4b onboarding -> experimental; tq3-mtp -> deprecated.
- registry-emit.sh emits `status` + `status_note` as the last two VARIANT
  fields; both loaders + the parity tests read the extended field list.
- switch.sh --list: status marker (caveats -> "(caveats)", the NA set ->
  "(NA: <word>)"); model/topology grouping preserved. Launch/switch gate:
  production launches, caveats launches with a notice, NA warns + requires
  --force. launch.sh surfaces the flag before delegating to switch.sh.
- New drift-guard test test-compose-status-drift.sh: registry status in
  enum, compose header maps to enum, and the two agree.

45 entries unchanged; kv-calc calibration 17/17; full suite green (only
the pre-existing test-submit-bench fixture failure remains).

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>

* feat(switch): add model/variant counts to --list

Header line shows supported-model count + total variants with the health
split (N production · N caveats · N NA); each model group shows its variant
count. Widen the marker column so the (NA: …)/(caveats) markers align.

Co-Authored-By: Claude Opus 4.8 (1M context) <[email protected]>

---------

Co-authored-by: noonghunna <[email protected]>
Co-authored-by: Claude Opus 4.8 (1M context) <[email protected]>
2026-05-30 21:10:49 +05:00
..