github vava-nessa/free-coding-models v0.1.67

latest releases: v0.6.0, v0.5.99, v0.5.98...
8 months ago

Added

  • Stability Score — new composite 0–100 metric combining p95 latency (30%), jitter/σ (30%), spike rate (20%), and uptime (20%). Displayed as a color-coded column in the TUI (green ≥80, cyan ≥60, yellow ≥40, red <40).
  • p95 latency (getP95) — 95th percentile latency from successful pings. Answers "95% of requests are faster than X ms."
  • Jitter (getJitter) — standard deviation of latency. Low jitter = predictable, high jitter = erratic/spiky.
  • "Spiky" verdict — new verdict that catches models with good average latency but terrible tail latency (p95 spikes). A model with avg 250ms but p95 6000ms now gets flagged as "Spiky 📈" instead of "Perfect 🚀".
  • Stability sorting — press B to sort by stability score. Most stable models rise to the top. B key now listed in the footer bar sort keys.
  • 24 new unit tests covering p95, jitter, stability score, Spiky verdict, and stability sorting.
  • README: TUI Columns reference table — full 12-column table documenting every column (Rank, Tier, SWE%, Model, Origin, Latest, Avg, Health, Verdict, Stability, Context, Up%).
  • README: Stability Score section — documents the formula, weights, color thresholds, and an example calculation.
  • README: Verdict values table — lists all 7 verdict categories with their emoji, meaning, and criteria.

Changed

  • "Stab" column renamed to "Stability" — column header widened from 6 to 11 characters; header text now reads StaBility with the B sort-key letter in uppercase bold yellow.
  • SWE% column: 8-band color gradient — replaced the old 3-band color scheme (green ≥50, yellow ≥30, dim otherwise) with an 8-band gradient matching TIER_COLOR: ≥70% bright neon green, ≥60% green, ≥50% yellow-green, ≥40% yellow, ≥35% amber, ≥30% orange-red, ≥20% red, <20% dark red.
  • getVerdict() is now stability-aware: models in "Perfect" or "Normal" avg range get downgraded to "Spiky" when p95 shows extreme tail latency (requires ≥3 pings to avoid false positives).
  • findBestModel() now uses a 4-key sort: status → avg latency → stability score → uptime (was 3-key: status → avg → uptime).
  • sortResults() supports new 'stability' column.
  • VERDICT_ORDER updated to include "Spiky" between "Slow" and "Very Slow".
  • README: keyboard shortcuts updated to include B for Stability sort; "How it works" diagram updated.
  • Default ping interval → 3 seconds (was 2s) for a calmer default pace; still adjustable with W/X keys.
  • Verdict colors unified with TIER_COLOR gradient — Perfect (cyan-green) → Normal (lime) → Spiky (yellow-green) → Slow (orange) → Very Slow (red-orange) → Overloaded (red) → Unstable (dark red) → Unusable (darkest red). Best→worst ordering in code.
  • Footer cleanup — Removed the BETA TUI warning line. Renamed "Join our Discord" to just "Discord" and placed it next to Contributors on the "Made with love" line.
  • Footer link colors — Star on GitHub: yellow, Contributors: orange, Discord: light purple. Ctrl+C Exit moved to end of "Made with love" line.
  • Discord plain URL — Shows Discord → https://discord.gg/5MbTnDC3Md so terminals without OSC 8 link support can still see the URL.
  • K Help styling — Changed from green background badge to neon green text (rgb(0,255,80)) with no background.
  • Z Mode styling — Red-orange color (rgb(255,100,50)) matching OpenClaw branding.
  • Selection row styling — Darker backgrounds: favorite rows bgRgb(35,20,0), cursor rows bgRgb(50,0,60). Model name and Origin rendered in white bold when selected.
  • README — Updated all ping interval references from 2s to 3s; removed BETA warning line.

Fixed

  • Column alignment: Health/Status emoji width — Health column used .padEnd() which miscounted emoji width (✅, 🔥, ⏳ etc. are 2 terminal columns but counted as fewer). Switched to padEndDisplay() so Verdict, Stability, and Up% columns now align correctly.
  • Verdict emojis moved to end of text — emojis now appear after the word (e.g., Perfect 🚀 instead of 🚀 Perfect) for cleaner left-alignment.
  • Empty cell placeholders — changed from single — to ——— in Latest Ping, Avg Ping, and Stability columns so empty cells have more visual weight and don't look like blank space.

Don't miss a new free-coding-models release

NewReleases is sending notifications on new releases.